name: review-only description: レビュー専用ピース - コードをレビューするだけで編集は行わない piece_config: provider_options: codex: network_access: true opencode: network_access: true max_movements: 10 initial_movement: plan movements: - name: plan edit: false persona: planner allowed_tools: - Read - Glob - Grep - WebSearch - WebFetch rules: - condition: レビュー対象が明確 next: reviewers - condition: ユーザーが質問をしている(レビュータスクではない) next: COMPLETE - condition: 要件が不明確、情報不足 next: ABORT appendix: | 確認事項: - {質問1} - {質問2} instruction_template: | ## Previous Response (superviseからの差し戻し時) {previous_response} レビュー依頼を分析し、レビュー方針を立ててください。 **これはレビュー専用ピースです。** コード編集は行いません。 以下に集中してください: 1. レビュー対象のファイル/モジュールを特定 2. レビューの重点領域を決定(アーキテクチャ、セキュリティ、AIパターン等) 3. 依頼に記載された特定の懸念事項を整理 **PR番号が記載されている場合**(例: "PR #42")、レビュアーが PRの変更ファイルに集中できるよう計画に含めてください。 - name: reviewers parallel: - name: arch-review edit: false persona: architecture-reviewer policy: review knowledge: architecture allowed_tools: - Read - Glob - Grep - WebSearch - WebFetch rules: - condition: approved - condition: needs_fix instruction: review-arch output_contracts: report: - name: 01-architect-review.md format: architecture-review - name: security-review edit: false persona: security-reviewer policy: review knowledge: security allowed_tools: - Read - Glob - Grep - WebSearch - WebFetch rules: - condition: approved - condition: needs_fix instruction: review-security output_contracts: report: - name: 02-security-review.md format: security-review - name: ai-review edit: false persona: ai-antipattern-reviewer policy: - review - ai-antipattern allowed_tools: - Read - Glob - Grep - WebSearch - WebFetch rules: - condition: approved - condition: needs_fix instruction: review-ai output_contracts: report: - name: 03-ai-review.md format: ai-review rules: - condition: all("approved") next: supervise - condition: any("needs_fix") next: supervise - name: supervise edit: false persona: supervisor policy: review allowed_tools: - Read - Glob - Grep - WebSearch - WebFetch pass_previous_response: false rules: - condition: approved, PR comment requested next: pr-comment - condition: approved next: COMPLETE - condition: rejected next: ABORT instruction_template: | ## レビュー結果 {previous_response} **これはレビュー専用ピースです。** テスト実行やビルドは行わないでください。 レビュー結果を統合し、最終サマリーを作成する役割です。 **やること:** 1. Report Directory内の全レビューレポートを読む 2. アーキテクチャ・セキュリティ・AIレビューの結果を統合 3. 統合レビューサマリーと総合判定を作成 4. ルーティング判断: - タスクにPRへのコメント投稿が含まれている場合 (例: "PRにコメントして"、"PRにレビュー結果を投稿") → `pr-comment` ムーブメントへ(condition: "approved, PR comment requested") - ローカルレビューのみ → COMPLETE(condition: "approved") - 重大な問題が見つかった場合 → ABORT(condition: "rejected") **Review Summary出力契約:** ```markdown # レビューサマリー ## 総合判定: APPROVE / REJECT ## サマリー {2-3文で全レビュー結果を統合} ## レビュー結果 | レビュー | 結果 | 主要な発見 | |---------|------|-----------| | アーキテクチャ | APPROVE/REJECT | {概要} | | セキュリティ | APPROVE/REJECT | {概要} | | AIアンチパターン | APPROVE/REJECT | {概要} | ## 要注意の問題 | # | 重大度 | ソース | 場所 | 問題 | |---|--------|--------|------|------| | 1 | High | セキュリティ | `file:line` | 説明 | ## 改善提案 - {全レビューからの統合提案} ``` output_contracts: report: - name: review-summary.md format: | ```markdown # レビューサマリー ## 総合判定: APPROVE / REJECT ## サマリー {2-3文で全レビュー結果を統合} ## レビュー結果 | レビュー | 結果 | 主要な発見 | |---------|------|-----------| | アーキテクチャ | APPROVE/REJECT | {概要} | | セキュリティ | APPROVE/REJECT | {概要} | | AIアンチパターン | APPROVE/REJECT | {概要} | ## 今回の指摘(new) | # | finding_id | 重大度 | ソース | 場所 | 問題 | 修正案 | |---|------------|--------|--------|------|------|--------| | 1 | SUM-NEW-src-file-L42 | High | セキュリティ | `file:line` | 説明 | 提案 | ## 継続指摘(persists) | # | finding_id | ソース | 前回根拠 | 今回根拠 | 問題 | |---|------------|--------|----------|----------|------| | 1 | SUM-PERSIST-src-file-L77 | アーキテクチャ | `file:line` | `file:line` | 説明 | ## 解消済み(resolved) | finding_id | ソース | 解消根拠 | |------------|--------|----------| | SUM-RESOLVED-src-file-L10 | QA | `file:line` | ## 改善提案 - {全レビューからの統合提案} ## REJECT判定条件 - `new` または `persists` が1件以上ある場合のみ REJECT 可 - `finding_id` なしの指摘は無効 ``` - name: pr-comment edit: false persona: pr-commenter allowed_tools: - Read - Glob - Grep - Bash rules: - condition: コメント投稿完了 next: COMPLETE - condition: コメント投稿失敗 next: COMPLETE instruction_template: | ## レビューサマリー {previous_response} レビュー結果をPRにコメントとして投稿してください。 **手順:** 1. タスク説明からPR番号を抽出 2. Report Directory内の全レビューレポートを読む: - `01-architect-review.md`(アーキテクチャレビュー) - `02-security-review.md`(セキュリティレビュー) - `03-ai-review.md`(AIアンチパターンレビュー) - `review-summary.md`(統合サマリー) 3. 重要度でフィルタリングし、Critical/High/Mediumの指摘をインラインコメントとして投稿 4. 以下のフォーマットでサマリーコメントを投稿: ``` ## 自動レビューサマリー {review-summary.mdからの総合判定とサマリー} ### レビュー結果 | レビュー | 結果 | |---------|------| | アーキテクチャ | {結果} | | セキュリティ | {結果} | | AIアンチパターン | {結果} | ### 主要な発見 {重要な指摘のリスト} ### 改善提案 {統合された提案} --- *[takt](https://github.com/toruticas/takt) review-only ピースで生成* ```