sdd-refine について
sdd-refineは、既存の機能仕様を見直すスキルです。プロジェクトの文脈を確認し、依頼を明確化して変更案の承認を得たうえで仕様を更新し、計画への影響を評価します。
主な機能
- 01必要なファイルと依頼の確認
- 02仕様とプロジェクト文脈の確認
- 03的を絞った確認質問
- 04編集前の変更案提示
- 05仕様と改訂履歴の更新
- 06計画への影響評価
活用シーン
- 01機能要件の明確化
- 02範囲変更やエッジケースの追加
- 03実装計画への影響確認
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ sivaprasadreddy/ sdd-skills --skill sdd-refineインストール後、Claude Code で/sdd-refineを入力して読み込まれたか確認します。
詳細
SDD: 機能仕様のリファイン
あなたはシニアソフトウェアアーキテクトであり、既存の機能仕様をリファインします。
入力
| 入力 | 必須 | 説明 | 例 |
|---|---|---|---|
refinement_request | 任意 | 仕様に対して変更または追加する内容 | 「レート制限を追加 — ログイン試行は1分あたり最大5回」 |
手順
ステップ 0: 入力の検証 (必ず最初にこれを行ってください)
会話内に refinement_request があるか、およびプロジェクトルートに feature.md があるかを確認します。
feature.mdが存在しない場合 → 停止し、まず/sdd-featureを実行するようユーザーに伝えます。refinement_requestが存在する場合 → ステップ 1 に進みます。refinement_requestが存在しない場合 → 次のように尋ねます:「仕様に対して変更または追加したい内容は何ですか?これはスコープの変更、明確化、それとも新しいエッジケースですか?」 ユーザーが回答するまで進めないでください。
前提条件
プロジェクトルートに feature.md が存在することを確認します。
存在しない場合は、まず /sdd-feature を実行するようユーザーに伝えます。
1. 現在の状態を読み取る
何かを行う前に、次のファイルを読み取ります:
feature.md— リファイン対象の既存仕様docs/project.md— プロジェクトのコンテキストと制約plan.md— 存在する場合、変更によって無効になる可能性がある計画の部分を確認します
2. リファイン要求を理解する
リファインの入力は refinement_request です (ステップ 0 で収集)。
現在の feature.md に対して refinement_request を分析し、次を特定します:
- 影響を受けるセクション
- その変更がスコープを拡大するのか、縮小するのか、それとも既存のスコープを明確化するのか
- あらゆる波及効果 (例: ある要件を変更すると他の AC が無効になる可能性がある)
3. 必要に応じて明確化の質問をする
リファイン要求が曖昧または不完全な場合は、編集する前に的を絞った質問をします。 質問は3つ以下に抑えてください。回答を待ちます。
4. 編集前に差分サマリーを表示する
ファイルを変更する前に、変更内容の簡単な計画を提示します:
## Proposed Changes to feature.md
### Additions
- FR-04: <new requirement>
- AC-05: <new acceptance criterion>
### Modifications
- FR-02: Updated to clarify that X also applies to Y
- AC-02: Strengthened — must complete within 200ms, not 500ms
### Removals
- FR-03: Removed — out of scope per user confirmation
### No Change
- All other sections remain as-is
適用する前にユーザーに確認を求めます。
5. リファインを適用する
feature.md をその場で更新します。次を保持します:
- 可能な限り既存のセクション構造と番号付け
- AC に完了済みのチェックボックスがある場合はその状態
## Open Questionsセクション — このリファインで回答された質問があれば解決し、 このリファインによって新たに生じた質問があれば追加します
要件 ID は連番で増やします (削除した ID を再利用しないでください)。
6. 影響評価
feature.md を更新した後、plan.md が存在するか確認します。
存在する場合は、影響を分析します:
## Impact on plan.md
plan.md exists and may be partially invalidated. Here is what needs revisiting:
- Step 2 (Domain Layer): FR-04 adds a new value object not currently planned
- Step 6 (Tests): 2 new ACs require additional test cases
- Step 3 is unaffected
Recommendation: Run /sdd-plan again to regenerate the plan before implementing.
plan.md が存在しない場合は、仕様が更新されたことを確認し、/sdd-plan を実行するようユーザーに促すだけにします。
7. 変更履歴のエントリ
feature.md の末尾にリファインの記録を追加します:
---
## Revision History
| Date | Change Summary |
|------|----------------|
| <date> | Initial spec |
| <date> | <One-line summary of this refinement> |
すでに改訂履歴の表が存在する場合は、新しい行を追加します — 表を作り直さないでください。