SDD - 仕様駆動開発スキル
本プロジェクトの仕様駆動開発ワークフローを実行するスキル。
言語ルール
重要: 本スキルでは以下の全てを日本語で出力すること。
- コミットメッセージ(例:
docs: XXXの要件定義を追加) - 仕様書・設計書の内容
- ユーザーへの出力・説明
- タスク管理ファイルの内容
- 進捗レポート
- PRタイトル・本文(作成する場合)
例外:
- プログラミング言語のキーワード、識別子、型名
- ファイルパス
- 外部ツール・ライブラリの名称(例: Claude Code, GitHub)
- 技術的な英語略語(例: SDD, EVM, AC-ID, TC-ID)
ワークフロー決定ツリー
ユーザーの要求
│
├── 新規機能開発 ──────────────▶ Forward フロー
│ └── /sdd init → /sdd requirements → /sdd design → /sdd tasks → /sdd impl
│
├── 既存コード文書化 ──────────▶ Backward フロー
│ └── /sdd backward
│
├── 進捗確認 ──────────────────▶ /sdd status
│
└── 実装・仕様の整合性確認 ────▶ /sdd verify
コマンド一覧
| コマンド | 機能 | 引数 |
|---|---|---|
/sdd init |
SDDワークフロー開始、Issue確認 | {issue番号} |
/sdd requirements |
要件定義書の作成 | {REQ-ID} |
/sdd design |
案件設計書の作成 | {機能名} |
/sdd tasks |
タスク管理ファイルの作成 | {機能名} |
/sdd impl |
仕様に基づく実装 | {機能名} |
/sdd verify |
実装と仕様の整合性確認 | {機能名} |
/sdd status |
進捗状況確認 | {機能名} (省略可) |
/sdd backward |
既存コードの文書化 | {ファイルパス} |
Forward フロー(新規開発)
ステップ 1: 初期化 (/sdd init {issue番号})
- GitHub Issue #{issue番号} の内容を取得
- 要件の概要を把握
- 要件ID(REQ-xxx-001)を決定
- featureブランチ名を提案(
feature/{issue番号}-{機能名})
ステップ 2: 要件定義 (/sdd requirements {REQ-ID})
成果物: docs/specs/requirements/{REQ-ID}.md
必須セクション:
- 概要(GitHub Issue #nn への参照)
- 背景・目的
- 機能要件
- 非機能要件
- 受け入れ基準(AC-ID形式)
- 関連ドキュメント
ステップ 3: 詳細設計 (/sdd design {機能名})
成果物: docs/specs/domain/features/{クラス名}.{機能名}.spec.md
必須セクション:
- 概要(要件IDへの参照)
- インターフェース仕様
- 処理仕様
- テストケース(TC-ID形式)
- 要件トレーサビリティ(AC-ID → TC-ID対応表)
- 変更履歴
ステップ 4: タスク分解 (/sdd tasks {機能名})
成果物: docs/specs/domain/features/{クラス名}.{機能名}.tasks.md
標準タスク:
- ⬜ 要件定義書作成
- ⬜ 詳細仕様書作成
- ⬜ テストコード作成
- ⬜ 実装
- ⬜ 統合テスト
- ⬜ トレーサビリティ更新
- ⬜ マスター設計書反映
ステップ 5: 実装 (/sdd impl {機能名})
- tasks.md の未完了タスクを確認
- テストコード作成(テストファースト)
- 実装コード作成
- テスト実行・PASS確認
- tasks.md の進捗を更新
ステップ 6: 検証 (/sdd verify {機能名})
- 仕様書のテストケース一覧を取得
- 実装されたテストコードと照合
- 要件トレーサビリティを確認(AC → TC → 実装)
- 不整合があれば報告
Backward フロー(既存コード文書化)
/sdd backward {ファイルパス} で既存コードから仕様書を生成:
- 対象ファイルを読み込み
- クラス・メソッドの構造を分析
- 仕様書テンプレートに沿って文書化
- テストケースを導出
docs/specs/domain/master/{クラス名}.spec.mdに出力
進捗確認 (/sdd status)
引数なし: 現在のブランチに関連する全仕様の進捗を表示 引数あり: 指定機能の詳細進捗を表示
表示項目:
- 要件定義: ✅/⬜
- 仕様書: ✅/⬜
- タスク: n/m 完了
- テスト: PASS/FAIL/未作成
- 実装: ✅/⬜
- トレーサビリティ: ✅/⬜
成果物の配置場所
docs/specs/
├── requirements/ # 要件定義書
│ └── REQ-xxx-001.md
├── domain/
│ ├── master/ # マスター設計書(クラス単位)
│ │ └── {クラス名}.spec.md
│ └── features/ # 案件設計書(機能単位)
│ ├── {クラス名}.{機能名}.spec.md
│ └── {クラス名}.{機能名}.tasks.md
└── templates/ # テンプレート
エージェント連携
- 仕様書作成後のコードレビューは
code-reviewerエージェントを使用 /sdd verify実行時、実装とスペックの整合性を確認
SDD の範囲外(手動で実施)
重要: 以下の作業は SDD スキルの範囲外です。ユーザーが明示的に依頼する必要があります。
| 作業 | コマンド例 |
|---|---|
| PR 作成 | gh pr create --base develop |
| PR レビュー | /review-pr-bot {PR番号} |
| PR マージ | gh pr merge |
| main へのリリース | release ブランチ → PR → マージ → タグ |
| worktree クリーンアップ | git worktree remove ... |
SDD の終点: /sdd impl でコミット・プッシュまで完了した時点。
参照ドキュメント
SDDワークフロー実行時は以下を参照:
- docs/GLOSSARY.md - EVM用語、ドメインモデル定義
- docs/workflow/DEVELOPMENT_WORKFLOW.md - SDDのWhy説明
詳細リファレンス
- ワークフロー詳細: references/workflows.md
- テンプレート一覧: references/templates.md
Converted and distributed by TomeVault — claim your Tome and manage your conversions.