# Coding TAKT Piece # Plan -> Implement -> Parallel Review (AI + Architecture) -> Fix if needed # # 計画と並列レビューを備えた軽量な開発ピース。 # architect-plannerが要件を調査・整理し、不明点はコードを読んで自力で解決する。 # 並列レビュー後、問題がなければ直接完了し、高速なフィードバックループを実現。 # # フロー: # plan (要件調査・計画) # ↓ # implement (実装) # ↓ # reviewers (並列レビュー) # ├─ ai_review (AI特有問題検出) # └─ arch-review (設計準拠性確認) # ↓ # [判定] # ├─ all(approved) → COMPLETE # └─ any(needs_fix) → fix → reviewers (再レビュー) # # Template Variables (auto-injected by buildInstruction): # {iteration} - Piece-wide turn count (total movements executed across all agents) # {max_iterations} - Maximum iterations allowed for the piece # {movement_iteration} - Per-movement iteration count (how many times THIS movement has been executed) # {task} - Original user request # {previous_response} - Output from the previous movement # {user_inputs} - Accumulated user inputs during piece # {report_dir} - Report directory name (e.g., "20250126-143052-task-summary") name: coding-hybrid-codex description: Lightweight development piece with planning and parallel reviews (plan -> implement -> parallel review -> complete) max_iterations: 20 initial_movement: plan movements: - name: plan edit: false agent: ../agents/default/architect-planner.md report: name: 00-plan.md format: | ```markdown # タスク計画 ## 元の要求 {ユーザーの要求をそのまま記載} ## 分析結果 ### 目的 {達成すべきこと} ### スコープ **変更対象ファイル:** | ファイル | 変更内容 | |---------|---------| **テストへの影響:** | ファイル | 影響 | |---------|------| ### 設計判断(必要な場合) - ファイル構成: {新規ファイルの配置、根拠} - 設計パターン: {採用するパターンとその理由} ### 実装アプローチ {どう進めるか} ``` allowed_tools: - Read - Glob - Grep - Bash - WebSearch - WebFetch rules: - condition: 要件が明確で実装可能 next: implement - condition: ユーザーが質問をしている(実装タスクではない) next: COMPLETE - condition: 要件が不明確、情報不足 next: ABORT instruction_template: | タスクを分析し、実装方針を立ててください。 **不明点の扱い(重要):** タスクに Open Questions や不明点がある場合は、コードを読んで調査し自力で解決してください。 調査しても解決できない外部要因(ユーザーの意図が判断できない等)のみ「要件が不明確」と判断してください。 コードを読めば分かることは「不明確」ではありません。 **やること:** 1. タスクの要件を理解する 2. 関連するコードを読んで現状を把握する 3. 不明点があればコード調査で解決する 4. 影響範囲を特定する 5. 実装アプローチを決める - name: implement edit: true agent: ../agents/default/coder.md provider: codex session: refresh report: - Scope: 02-coder-scope.md - Decisions: 03-coder-decisions.md allowed_tools: - Read - Glob - Grep - Edit - Write - Bash - WebSearch - WebFetch permission_mode: edit rules: - condition: 実装完了 next: reviewers - condition: 実装未着手(レポートのみ) next: reviewers - condition: 判断できない、情報不足 next: reviewers - condition: ユーザー入力が必要 next: implement requires_user_input: true interactive_only: true instruction_template: | planムーブメントで立てた計画に従って実装してください。 **参照するレポート:** - 計画: {report:00-plan.md} Piece Contextに示されたReport Directory内のファイルのみ参照してください。他のレポートディレクトリは検索/参照しないでください。 **重要:** 計画で決定されたアプローチに従ってください。 不明点や方針の変更が必要な場合は報告してください。 **重要**: 実装と同時に単体テストを追加してください。 - 新規作成したクラス・関数には単体テストを追加 - 既存コードを変更した場合は該当するテストを更新 - テストファイルの配置: プロジェクトの規約に従う(例: `__tests__/`, `*.test.ts`) - **テスト実行は必須です。** 実装完了後、必ずテストを実行して結果を確認してください。 **Scopeレポートフォーマット(実装開始時に作成):** ```markdown # 変更スコープ宣言 ## タスク {タスクの1行要約} ## 変更予定 | 種別 | ファイル | |------|---------| | 作成 | `src/example.ts` | | 変更 | `src/routes.ts` | ## 推定規模 Small / Medium / Large ## 影響範囲 - {影響するモジュールや機能} ``` **Decisionsレポートフォーマット(実装完了時、決定がある場合のみ):** ```markdown # 決定ログ ## 1. {決定内容} - **背景**: {なぜ決定が必要だったか} - **検討した選択肢**: {選択肢リスト} - **理由**: {選んだ理由} ``` **必須出力(見出しを含める)** ## 作業結果 - {実施内容の要約} ## 変更内容 - {変更内容の要約} ## テスト結果 - {実行コマンドと結果} - name: reviewers parallel: - name: ai_review edit: false agent: ../agents/default/ai-antipattern-reviewer.md report: name: 04-ai-review.md format: | ```markdown # AI生成コードレビュー ## 結果: APPROVE / REJECT ## サマリー {1文で結果を要約} ## 検証した項目 | 観点 | 結果 | 備考 | |------|------|------| | 仮定の妥当性 | ✅ | - | | API/ライブラリの実在 | ✅ | - | | コンテキスト適合 | ✅ | - | | スコープ | ✅ | - | ## 問題点(REJECTの場合) | # | カテゴリ | 場所 | 問題 | |---|---------|------|------| | 1 | 幻覚API | `src/file.ts:23` | 存在しないメソッド | ``` **認知負荷軽減ルール:** - 問題なし → サマリー1文 + チェック表のみ(10行以内) - 問題あり → + 問題を表形式で(25行以内) allowed_tools: - Read - Glob - Grep - WebSearch - WebFetch rules: - condition: AI特有の問題なし - condition: AI特有の問題あり instruction_template: | AI特有の問題についてコードをレビューしてください: - 仮定の検証 - もっともらしいが間違っているパターン - 既存コードベースとの適合性 - スコープクリープの検出 **参照するレポート:** - 実装スコープ: {report:02-coder-scope.md} - 決定ログ: {report:03-coder-decisions.md}(存在する場合) - name: arch-review edit: false agent: ../agents/default/architecture-reviewer.md report: name: 05-architect-review.md format: | ```markdown # アーキテクチャレビュー ## 結果: APPROVE / REJECT ## サマリー {1-2文で結果を要約} ## 確認した観点 - [x] 構造・設計 - [x] コード品質 - [x] 変更スコープ - [x] テストカバレッジ - [x] デッドコード - [x] 呼び出しチェーン検証 ## 問題点(REJECTの場合) | # | スコープ | 場所 | 問題 | 修正案 | |---|---------|------|------|--------| | 1 | スコープ内 | `src/file.ts:42` | 問題の説明 | 修正方法 | スコープ: 「スコープ内」(今回修正可能)/ 「スコープ外」(既存問題・非ブロッキング) ## 既存問題(参考・非ブロッキング) - {既存問題の記録。今回の変更と無関係な問題} ``` **認知負荷軽減ルール:** - APPROVE → サマリーのみ(5行以内) - REJECT → 問題点を表形式で(30行以内) allowed_tools: - Read - Glob - Grep - WebSearch - WebFetch rules: - condition: approved - condition: needs_fix instruction_template: | **実装が計画に従っているか**を確認してください。 AI特有の問題はレビューしないでください(ai_reviewムーブメントで行います)。 **参照するレポート:** - 計画: {report:00-plan.md} - 実装スコープ: {report:02-coder-scope.md} **レビュー観点:** - 計画との整合性(計画で定めたスコープ・アプローチに従っているか) - コード品質(DRY、YAGNI、Fail Fast、イディオマティック) - 変更スコープの適切性 - テストカバレッジ - デッドコード - 呼び出しチェーン検証 rules: - condition: all("AI特有の問題なし", "approved") next: COMPLETE - condition: any("AI特有の問題あり", "needs_fix") next: fix - name: fix edit: true agent: ../agents/default/coder.md provider: codex allowed_tools: - Read - Glob - Grep - Edit - Write - Bash - WebSearch - WebFetch permission_mode: edit rules: - condition: 修正完了 next: reviewers - condition: 判断できない、情報不足 next: ABORT instruction_template: | レビュアーのフィードバックに対応してください。 **両方のレビュー結果を確認してください:** - AI Review: {report:04-ai-review.md} - Architecture Review: {report:05-architect-review.md} **重要:** 両方のレビューで指摘された問題を全て修正してください。 - AI Reviewの指摘: 幻覚API、仮定の妥当性、スコープクリープ等 - Architecture Reviewの指摘: 設計との整合性、コード品質、テストカバレッジ等 **必須アクション:** 1. 指摘された全ファイルを Read tool で開く 2. 問題箇所を確認する 3. Edit tool で修正する 4. **テストを実行して検証する(必須)** 5. 修正内容を具体的に報告する **必須出力(見出しを含める)** ## 作業結果 - {実施内容の要約} ## 変更内容 - {変更内容の要約} ## テスト結果 - {実行コマンドと結果} ## 証拠 - {確認したファイル/検索/差分/ログの要点を列挙}