実装品質を担保するために,3 つの専門エージェントを用いた開発パイプラインを定義する.
| エージェント | 役割 | フェーズ |
|---|---|---|
coder | 機能実装・バグ修正 | Phase 1 |
tester | 仕様ベースのテスト作成・実行 | Phase 2 |
refactorer | コード品質の改善 | Phase 3 |
/implement <タスク内容>
人間: /implement <タスク内容> │ ├─ ブランチ作成(GUIDE_04 準拠) │ ├─ Phase 1 ──▶ [Coder] │ 実装に集中.テスト・リファクタは行わない │ ├─ 人間の確認ポイント 1 │ ブラウザ/実機で動作確認 │ OK → 続行 / NG → フィードバックして修正 │ ├─ Phase 2 ──▶ [Tester] │ 仕様ベースでテスト作成・実行 │ ├─ Phase 2 完了後の分岐 │ 全テスト成功 → 自動で Phase 3 へ │ テスト失敗 → 人間に報告し判断を仰ぐ │ ├─ Phase 3 ──▶ [Refactorer] │ テストを安全網としてリファクタリング │ テスト再実行で挙動が変わっていないことを保証 │ ├─ Phase 4 ──▶ ドキュメント更新 │ docs/, CLAUDE.md, docs/PROGRESS.md を必要に応じて更新 │ 更新がある場合のみ人間の確認を挟む │ 結果を .claude/commit-context.md に書き出す │ └─ 完了 → /commit でコミット
docs/ を読んで実装する.docs/04_SPEC/)を基準にテストを作成する.Phase 3 完了後,実装内容に応じて docs/, CLAUDE.md, docs/PROGRESS.md を更新する.
docs/04_SPEC/ の該当仕様を更新docs/02_ENV/ を更新docs/03_PLAN/ や進捗記録(CLAUDE.md の進捗欄+ docs/PROGRESS.md)を更新(書式は本ガイドの「進捗記録の運用ルール(CLAUDE.md / PROGRESS.md)」に従う.git log で取れる詳細は書かない)docs/01_GUIDE/ を更新.claude/commit-context.md に書き出す.このファイルは /commit が参照し,docs/, CLAUDE.md, docs/PROGRESS.md の更新漏れチェックをスキップするために使う(.gitignore 対象)./implement はコミットを行わない.完了後は /commit でコミットする./commit は .claude/commit-context.md が存在する場合,docs/, CLAUDE.md, docs/PROGRESS.md の更新漏れチェックをスキップする.存在しない場合(/implement を経由していない場合)は警告のみ行う.各エージェントは前フェーズのサマリーを入力として受け取る.加えて git diff で実際の変更差分を自ら確認する.
| フェーズ | 受け取る情報 |
|---|---|
| Coder | タスク内容 |
| Tester | Coder の実装サマリー + git diff |
| Refactorer | Coder + Tester のサマリー + git diff |
| タイミング | 人間がやること |
|---|---|
| 開始時 | タスクの指示(/implement <何をするか>) |
| Phase 1 後 | 動作確認(ブラウザ・実機など AI にできない確認) |
| Phase 2 後 | テスト失敗時のみ方針判断(全成功なら自動で Phase 3 へ) |
| Phase 4 後 | ドキュメント更新がある場合のみ確認 → /commit でコミット |
人間の本質的な役割は「AI にできない判断と確認」であり,各フェーズの品質のゲートキーパーとなる.
パイプライン完了後は /commit でコミットする.コミットメッセージのタグ等は GUIDE_04 に従う.
※ リファクタリングとテストは実装と一体の成果物として,まとめてコミットする.必要に応じて分割コミットも可.
※ 例外(無人運転): /auto-refactor は CLAUDE.md の「/commit 自発実行禁止」ルールに対するユーザー承認済みの例外として,refactor/ 専用ブランチに自律コミットする.push・PR・マージ・main への操作は行わず,取り込み可否は人間が判断する.
進捗記録は 2 ファイルの二段構成で管理する.Phase 4 や /setup 中断時にこれらを更新する.
| ファイル | 役割 | 更新方法 |
|---|---|---|
CLAUDE.md の「開発進捗」セクション | 最新ステップ 1 行のみ(毎ターン読み込まれる薄い目印) | 上書き |
docs/PROGRESS.md | 追記型のフル進捗ログ(動機・設計判断・失敗パターン含む) | 末尾に追記 |
背景: CLAUDE.md は毎ターン読み込まれるため,追記型運用にするとコンテキスト圧迫の原因になる.一方で進捗の経緯・失敗パターン・設計判断はタスクを跨いで価値があるため捨てたくない.そこで「常に読まれる薄いポインタ(CLAUDE.md)」と「必要な時だけ読む厚いログ(PROGRESS.md)」に分離する.関数名・引数・テスト件数等の実装詳細は git log とコミットメッセージに完全な形で残るため,どちらにも書かない.
最新: <ステップ見出し>git log に任せる)docs/PROGRESS.md は追記型.最新エントリを末尾に追記する(時系列順.古いものが上,新しいものが下).
書く(PROGRESS.md に残す価値が高いもの):
以下は PROGRESS.md に置く価値があるが,全て書く必要はない.シンプルなステップなら状況の 1 行だけで十分.書くことが少ない時に無理に伸ばさない.
書かない(コミットメッセージと git log に任せる):
以下は git log <commit-hash> または git show <commit-hash> で完全な情報が取れる.PROGRESS.md に書くと重複・陳腐化する.
長さと書式:
- [x] **<簡潔な見出し>**: <1〜2 文の要約>.必要に応じて下に動機・設計判断・失敗パターンを 1〜2 行ずつ追加既存エントリの長文化に気付いたとき:
過去のエントリで「詳細をベタ書きしていて目次として機能しなくなっている」ものを見つけたら,ユーザーに圧縮を提案する.自動で削らない(背景情報の価値判断はユーザーが行う).提案時は「この情報は git log にあるので削れる / これは失敗パターンなので残すべき」のように切り分けて示すこと.