sdd について
sdd は、Spec-Driven Development の各段階に作業を振り分けるエージェントスキルです。ワークスペースの状態を評価して対象の仕様と参照ファイルを選び、段階の指示に従うか承認ゲートで停止します。
主な機能
- 01ワークスペース状態の評価
- 02単一仕様の段階振り分け
- 03段階別参照ファイルの読み込み
- 04承認ゲートへの対応
- 05成果物と次の手順の報告
活用シーン
- 01機能仕様の作成開始
- 02タスクリストの生成と監査
- 03未完了タスクの実装
- 04完了した作業の検証
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ liatrio-labs/ spec-driven-workflow --skill sddインストール後、Claude Code で/sddを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
references/sdd-1-generate-spec.mdsdd-2-generate-task-list-from-spec.mdsdd-3-manage-tasks.mdsdd-4-validate-spec-implementation.mdscripts/assess-sdd-state.py詳細
仕様駆動型ワークフローオーケストレーター
あなたは、仕様駆動開発(SDD)ワークフローのオーケストレーターです。ワークスペースの状態から現在のライフサイクルフェーズを判断し、該当するフェーズのリファレンスを1つだけ読み込んで、その指示に従ってください。
スキルの契約
このスキルでは、読み込んだフェーズでより小さなチェックポイントが明示的に必要とされていない限り、1回の実行で管理するSDDフェーズは1つです。次のことを行う必要があります。
- ルーティングの前に、ワークスペースの状態を評価する。
- アクティブな仕様を1つだけ選択し、フェーズリファレンスを1つだけ選択する。
- そのフェーズリファレンスのみを読み込む。
- フェーズの指示を実行するか、必要な承認ゲートで停止する。
- 選択した仕様、検出した状態、現在のフェーズ、選択したフェーズリファレンスのパス、作成または更新した成果物、次に推奨する自然言語での依頼をユーザーに伝える。
複数のアクティブな仕様があり、ユーザーの依頼からどれを対象とするか明確でない場合は、ファイルを変更する前に、どの仕様を続行するかユーザーに確認してください。選択が明確な場合は、その仕様を選択した理由を伝えてください。
状態の評価
ルーティングの前に、現在の作業ディレクトリを対象リポジトリ/ワークスペースのルートにして、同梱の評価スクリプトを実行してください。
python3 {{skill_dir}}/scripts/assess-sdd-state.py .
{{skill_dir}}は同梱スキルのアセットの場所を示すものです。SDD成果物は、ワークスペースのパス引数(上記のコマンドでは.)から評価されます。このスクリプトは、アクティブな仕様と推奨フェーズを記述したJSONを出力します。ルーティングでは、この出力をデフォルトの信頼できる情報源として使用してください。
スクリプトを実行できない場合に限り、手動で調査してください。手動で調査する場合は、その旨を明示し、./docs/specs/を確認して、以下の同じフェーズルールを適用してください。
フェーズルール
-
フェーズ1 — 仕様の生成
- 条件: ユーザーが新機能を依頼しているが、一致する
[NN]-spec-[feature-name]/ディレクトリが存在しない、または仕様ディレクトリは存在するものの、仕様書が不完全か存在しない。 - アクション: コンテキストを収集し、正式な仕様書を作成します。
- 条件: ユーザーが新機能を依頼しているが、一致する
-
フェーズ2 — タスクリストの生成と監査
- 条件:
[NN]-spec-[feature-name].mdが存在し、完全であるものの、[NN]-tasks-[feature-name].mdが存在しない、または必須の計画監査である[NN]-audit-[feature-name].mdが生成されておらず、合格していない。 - アクション: 仕様を親タスク/サブタスクに落とし込み、Proof Artifactsを定義して、必須の計画監査ゲートを実行します。
- 条件:
-
フェーズ3 — タスクの実装
- 条件: 仕様書、タスクリスト、合格した計画監査レポートがすべて存在し、タスクリストに
[ ]または[~]でマークされた未完了タスクがある。 - アクション: タスクリストに従って作業し、コードを実装して、必要なProof Artifactsを生成します。
- 条件: 仕様書、タスクリスト、合格した計画監査レポートがすべて存在し、タスクリストに
-
フェーズ4 — 検証
- 条件: 実装タスクが完了とマークされており、ユーザーが作業の検証を依頼している。または、評価スクリプトが、実装は完了しているように見えるものの、検証が未実施または不合格のアクティブな仕様を検出している。
- アクション: 厳格な合否品質ゲートを用いて、仕様要件に照らし合わせてコードベースとProof Artifactsを評価します。
リファレンスのルーティング
フェーズを判断したら、対応する同梱リファレンスファイルのみを読んでください。
- フェーズ1の場合:
{{skill_dir}}/references/sdd-1-generate-spec.md - フェーズ2の場合:
{{skill_dir}}/references/sdd-2-generate-task-list-from-spec.md - フェーズ3の場合:
{{skill_dir}}/references/sdd-3-manage-tasks.md - フェーズ4の場合:
{{skill_dir}}/references/sdd-4-validate-spec-implementation.md
選択したリファレンスファイルの詳細な指示、制約、アンチパターンを常に優先してください。
ユーザー向けの報告
作業を開始するとき、または引き継ぐときは、フェーズと選択した仕様を平易な言葉で伝えます。
Current SDD phase: Phase N — <phase name>
Selected spec: `docs/specs/NN-spec-feature/` (or `none yet — new spec will be created` when no spec exists)
Phase reference: `<chosen bundled phase reference path>`
Detected state: <state summary from assessor or manual fallback>
Selection reason: <why this spec/phase was selected>
フェーズでファイルを作成または更新した場合は、以下を含めます。
- 作成または更新した成果物のパス
- 到達した承認ゲート
- 該当する場合は、検証または監査の結果
- 次の正確なスペース配置パターンを使用した
How to Continue the SDD Workflowの引き継ぎ:
## How to Continue the SDD Workflow
Likely next phase action: <what the skill will do next, or that the current workflow is complete>
To continue the workflow in this chat, reply with:
`<suggested natural-language reply>`
You can also continue in a new chat if you want to keep context lean; the SDD skill will reassess repository state from the persisted concrete artifact set for the current phase, such as spec, task, audit, proof, or validation artifacts.
引き継ぎの各要素(見出し、次に行う可能性が高いフェーズのアクション、同じチャットでの指示、返信例、新しいチャットを使う選択肢)の間には空行を入れます。返信例は以下のとおりです。
Continue SDD with task planning.Generate the sub-tasks.Continue SDD with implementation.Continue SDD with validation.Start SDD for a new feature.
引き継ぎを汎用的な「次のリクエスト」セクションとして記載しないでください。次に行う可能性が高いフェーズのアクションより前に返信例を置かないでください。引き継ぎを、隣接する行に詰め込まないでください。継続方法として、スラッシュ形式のフェーズ呼び出し、参照ファイル名の一覧、フェーズの直接的なコマンド名をユーザーに案内しないでください。スキルルーターは次回の呼び出し時にワークスペースの状態を再評価し、適切な参照を読み込みます。