仕様駆動開発フロー
ARGUMENTS からユーザーの要求テキストを取得し、以下のワークフローを実行する。
ワークフロー
以下の 4 フェーズで進行する。フェーズ番号はステップ番号とは別の概念。
フェーズ 1: ブランチ確認
bash
git branch --show-current
- •開発ブランチ(feature/*, fix/*, chore/*, develop 等): そのまま続行する。
- •main / master: AskUserQuestion でユーザーに確認する。
- •「新しいブランチを作成する」→ ブランチ名を決めて
git checkout -b <branch>で作成し続行する。 - •「このまま続行する」→ そのまま続行する。
- •「新しいブランチを作成する」→ ブランチ名を決めて
フェーズ 2: 再開検出
check_progress.py を実行して進行状況を確認する。
bash
python3 .claude/skills/spec/scripts/check_progress.py
出力の status に応じて分岐する。
- •
"no_projects": 新規プロジェクトとしてフェーズ 3(質問)から開始する。 - •
"found"で 1 プロジェクト: そのプロジェクトのname・flow・stepを表示し、ユーザーに「再開するか、新規プロジェクトを開始するか」を確認する。 - •
"found"で複数プロジェクト: 各プロジェクトのname・flow・step・updatedAtを一覧表示し、ユーザーに再開対象を選択させる(「新規プロジェクトを開始する」選択肢も含める)。
再開する場合は、出力の flow と step からステップ番号を読み取り、該当ステップの参照ファイルから直接実行する(フェーズ 3 はスキップ)。
フェーズ 3: 質問と規模判定
question.md に従い、質問(Part A → 規模判定 → 必要に応じて Part B)を進める。規模判定の基準・手順の詳細は question.md を参照。質問フェーズ完了後、フェーズ 4 へ進む。
フェーズ 4: ステップ実行
ユーザーが承認したフローに従い、ステップを順に進める。
標準フロー(10ステップ)
| # | ステップ | 参照ファイル |
|---|---|---|
| 1 | 質問(Part A + Part B) | question.md |
| 2 | プロジェクト初期化 | init.md |
| 3 | 仕様策定 | spec.md |
| 4 | アーキテクチャ設計 | architect.md |
| 5 | タスク生成 | tasks.md |
| 6 | テスト生成(TDD: テスト先行) | test.md |
| 7 | 実装(テストをパスさせる) | implement.md |
| 8 | レビュー | review.md |
| 9 | ビルド | build.md |
| 10 | ドキュメント | docs.md |
軽量フロー(5ステップ)
| # | ステップ | 参照ファイル |
|---|---|---|
| 1 | 質問(Part A のみ) | question.md |
| 2 | プロジェクト初期化 | init.md |
| 3 | 実装(インライン設計判断) | implement.md |
| 4 | テスト・ビルド(実装後テスト) | test-build.md |
| 5 | レビュー・ドキュメント | review-docs.md |
ステップ実行ルール
- •MUST: 現在のステップの参照ファイルのみを読み込む。全参照ファイルの一括読み込みは NEVER。
- •MUST: ステップ開始時に progress.json を
in_progressに更新する(更新ルール) - •
progress.jsonのflowで対応フローテーブルを、currentStepで対応参照ファイルを特定する - •参照ファイルの手順に従って実行し、完了後 progress.json を更新する(更新ルール)
- •progress.json の整合性は手動で確認する
- •次ステップの参照ファイルを読み込んで繰り返す
サブエージェント委任ルール
- •MUST: メインエージェント(spec フローを実行するエージェント)は Write/Edit ツールでファイルを編集しない
- •MUST: すべてのファイル編集は Task ツールでサブエージェントを起動して委任する
- •許可される操作: Read、Glob、Grep、Bash(git 操作、スクリプト実行等)、progress.json の更新(これは例外として直接編集可)
- •理由: メインエージェントは全体の進行管理に専念し、実装・修正・ドキュメント作成は専門エージェントに任せる