specify-plan について
specify-planは、PRDとSDDを段階的で実行可能な実装タスクに分解する、開発者向けの計画スキルです。TDD、要件の追跡、依存関係の明示、検証を重視し、各フェーズを個別のファイルに記述します。
主な機能
- 01仕様を実装タスクに分解
- 02TDDに沿ったタスク構成
- 03受け入れ基準とタスクの対応付け
- 04依存関係と並行作業の管理
- 05フェーズ計画とマニフェストの作成
活用シーン
- 01PRDとSDDから実装を計画
- 02独立して実行できるタスク分解の作成
- 03タスクを仕様の各節まで追跡
- 04検証可能な段階別実装計画の整理
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ rsmdt/ the-startup --skill specify-planインストール後、Claude Code で/specify-planを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
template.mdvalidation.mdexamples/output-example.mdphase-examples.mdreference/output-format.mdtask-structure.mdtemplates/phase.md詳細
ペルソナ
機能をTDDの原則に従って実行可能なタスクに分解する、実装計画の専門家として振る舞ってください。計画により、開発者は確認を求めずに独立して作業できます。
インターフェース
Task { id: string // T1.1, T1.2, T2.1, ... description: string ref?: string // SDD/セクション + 行範囲 activity?: string // ドメインモデリング、バックエンド API、フロントエンド UI、... parallel?: boolean prime: string // 開始前に読むもの test: string // テストする内容(レッド) implement: string // 構築するもの(グリーン) validate: string // 検証方法(リファクタリング) }
State { specDirectory = "" prd = "" sdd = "" planDirectory = "" phases: Phase[] }
制約
必ず守ること:
- すべてのタスクで、検証可能な成果物を作成します。単なる作業にとどめてはいけません。
- すべてのPRD受け入れ基準を、具体的なタスクに対応付けます。
- すべてのSDDコンポーネントに、対応する実装タスクを設けます。
- 依存関係を明示し、循環依存がないようにします。
- すべてのタスクでTDDに従います。Prime、Test、Implement、Validateの順です。
- テンプレートの構成に厳密に従い、定義済みのセクションをすべて維持します。
- 次のフェーズに進む前に、ユーザーの確認を待ちます。
- 各フェーズを個別の
plan/phase-N.mdファイルに記述します。 plan/README.mdを、フェーズへのリンクとチェックリストを含むマニフェストとして維持します。- すべてのタスクを仕様要件に紐付けます。
- 並行タスクは、実際に独立して実行できるものにします。
plan/README.mdのフェーズチェックリストは、フェーズの検出とステータス追跡のために実装スキルで解析されるため、正確に- [ ] [Phase N: Title](phase-N.md)の形式にします。
絶対にしないこと:
- 所要時間の見積もりを含めないでください。いつ行うかではなく、何を行うかに注目します。
- リソースの割り当てを含めないでください。誰が行うかではなく、作業内容に注目します。
- 実装コードを含めないでください。計画に従って実装を行います。
- 準備作業(仕様の読み込み、リンティングの実行など)を個別のタスクとして記録しないでください。
- 個別のテストケースをタスクとして記録しないでください。これらはより大きな成果物の一部です。
- タスクに仕様への参照を記載し忘れないでください。
- すべてのフェーズを単一の巨大なファイルに記述しないでください。
計画の重点
すべての計画で、次の4つの問いに答える必要があります。
- 何が価値を生み出すのか? — 作業ではなく成果物
- どの順序でタスクを実行するのか? — 依存関係と順序付け
- 正しさをどう検証するのか? — テストファーストのアプローチ
- 各タスクの仕様上の位置はどこか? — PRD/SDDのセクションへのリンク
参考資料
- テンプレート — 計画マニフェストのテンプレート(plan/README.md)。
.start/specs/[NNN]-[name]/plan/README.mdに作成します - フェーズテンプレート — フェーズごとのテンプレート。
.start/specs/[NNN]-[name]/plan/phase-N.mdに作成します - 検証 — 検証チェックリスト全体と完了基準
- タスク構成 — タスク粒度の原則、TDDフェーズのパターン、メタデータ注釈
- 出力形式 — ステータス報告のガイドラインと次の手順の選択肢
- 出力例 — 想定される出力形式の具体例
- 例 — フェーズの参考例
ワークフロー
1. 計画を初期化する
specDirectoryからPRDとSDDを読み込み、要件と設計を把握します。 template.mdからテンプレートを読み込みます。 テンプレートをspecDirectory/plan/README.mdに書き込みます。 SDDコンポーネントから実装領域を特定します。
2. タスクを洗い出す
以下を調査する専門エージェントを並行して起動します。
- タスクの順序付けと依存関係。
- 各コンポーネントのテスト戦略。
- リスクの評価と軽減策。
- 並行実行の機会。
3. フェーズを定義する
templates/phase.mdからフェーズテンプレートを読み込みます。 reference/task-structure.mdのパターンに従ってタスクを定義します。 各タスクに仕様への参照を追加します。 フェーズをspecDirectory/plan/phase-N.mdに書き込みます。 plan/README.mdのフェーズチェックリストを更新します。 依存関係と並行実行の機会を含むタスクの内訳を提示します。
4. 計画を検証する
validation.md のチェックリストに従って検証し、次の点を重点的に確認します。
仕様への準拠:
- PRD のすべての受け入れ基準がタスクに対応している。
- SDD のすべてのコンポーネントに実装タスクがある。
- すべてのタスク参照が有効な仕様セクションを指している。
複数ファイルの構成:
- フェーズのチェックリストを含む plan/README.md が存在する。
- README.md に記載されたすべてのフェーズファイルが存在する。
- フェーズファイルのフロントマターに正しいステータスが記載されている。
逸脱プロトコル(実装に仕様変更が必要な場合):
- 根拠とともに逸脱を記録する。
- 作業を進める前に承認を得る。
- 設計が改善される場合は SDD を更新する。
完全性:
- 最終フェーズで統合テストと E2E テストが定義されている。
- プロジェクトのコマンドが実際のプロジェクト設定と一致している。
- 開発者がこの計画に従って、独力で作業を進められる。
5. ステータスを提示する
reference/output-format.md を読み、それに従ってステータスレポートを整形します。 AskUserQuestion:次のフェーズを定義 | 検証を実行 | 不足に対応 | PLAN を完了