bmad-sprint-planning について
bmad-sprint-planningは、BMAD Planning & OrchestratorプラグインのPhase 4向け計画スキルです。依存関係に基づいてストーリーを並べ、並行ウェーブを割り当てます。コード作成や速度の計測は行いません。
主な機能
- 01計画成果物とストーリーを読み込み
- 02ストーリーの依存関係グラフを作成
- 03依存関係に応じて並行ウェーブを割り当て
- 04ストーリーの準備状態を更新
- 05書き込みなしで順序を検証
活用シーン
- 01初回のsprint-status.yamlを作成
- 02並行開発できるストーリーを特定
- 03ストーリー完了後に順序を再編成
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ aj-geddes/ claude-code-bmad-skills --skill bmad-sprint-planningインストール後、Claude Code で/bmad-sprint-planningを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
scripts/init-sprint-status.shsequence-stories.shtemplates/sprint-status.template.yaml詳細
BMAD スプリント計画
役割: 順序付けと引き継ぎの橋渡し — フェーズ 4 のオーケストレーション
System-of-record: bmad-output/sprint-status.yaml
このスキルの機能
bmad-output/から計画成果物(PRD、アーキテクチャ、エピック、ストーリー)を読み込みます。- すべてのストーリー間の依存関係グラフを導き出します。
- 各ストーリーに
parallel_set(ウェーブ)を割り当てます。同じウェーブ内のストーリーには相互依存関係がなく、並行して実行できます。 - 正規のテンプレートを使用して
bmad-output/sprint-status.yamlを出力します。 - 最初のウェーブのストーリーを
ready-for-devに設定し、ほかのすべてのストーリーはbacklogのままにします。 - ストーリーの完了時や新規追加時に、要求に応じて順序を再設定できます。
このスキルは、アプリケーションコードの作成、テストの実行、lint、ビルド、差分のレビューは行いません。
3 種類のインテントによる操作
| インテント | トリガーフレーズ | アクション |
|---|---|---|
| 作成 | "initialize sprint status"、"first time" | テンプレートから新しい sprint-status.yaml のひな形を作成 |
| 更新 | "re-sequence"、"story X is done"、"add story"、"update wave" | 既存の sprint-status.yaml をその場で変更 |
| 検証 | "check sequencing"、"are dependencies correct"、"show wave plan" | 書き込まずに読み込み、結果を報告 |
ワークフロー — 作成
-
計画成果物を読み込む
Glob: bmad-output/**/*.md, bmad-output/**/*.yaml優先順位:
epics.md→prd.md→architecture.md→ 個別のストーリーファイル。 -
エピックとストーリーを抽出する
- すべてのストーリー ID を解析します。形式は
{epic}.{story}.{slug}.story.mdです(例:2.1.stripe-integration.story.md)。 epics.mdまたはprd.mdのエピック一覧からエピックの順序を導き出します。
- すべてのストーリー ID を解析します。形式は
-
依存関係グラフを構築する
- 各ストーリーのフロントマターまたは Dev Notes セクションから
dependencies[]を読み込みます。 - トポロジカルソート:未解決の依存関係がないストーリーをウェーブ 1 に、ウェーブ 1 の後にブロックが解除されるストーリーをウェーブ 2 に割り当て、以降同様にします。
- 各ストーリーのフロントマターまたは Dev Notes セクションから
-
sprint-status.yaml を初期化する
bash ${CLAUDE_PLUGIN_ROOT}/skills/bmad-sprint-planning/scripts/init-sprint-status.sh続いて、順序付けしたデータを入力します(テンプレートを参照)。
-
ストーリーの順序を設定する
bash ${CLAUDE_PLUGIN_ROOT}/skills/bmad-sprint-planning/scripts/sequence-stories.sh -
初期ステータスを設定する
- ウェーブ 1 のストーリー:
status: ready-for-dev - ほかのすべてのストーリー:
status: backlog - エピック:子ストーリーのいずれかが ready-for-dev なら
status: in-progress、そうでなければbacklog
- ウェーブ 1 のストーリー:
-
引き継ぎの概要を出力する — 競合のない並行ディスパッチができるよう、ウェーブ 1 のストーリーを
owned_scopeごとに一覧表示します。
ワークフロー — 更新
ストーリーが done に移行したとき:
- そのストーリーが含まれるすべての
dependencies[]リストから削除します。 - 新たにブロックが解除されたストーリー(依存関係がすべて満たされたストーリー)を特定します。
- それらを
ready-for-devに昇格させます。 - 親エピックのステータスを再評価します。
- 更新した
sprint-status.yamlを書き込みます。
Parallel Set の割り当て
ウェーブの幅(同時に実行できるストーリーの数)は固定値ではありません。トポロジカルレベルごとの依存関係のないフロンティアの大きさです。ポイント予算やベロシティの上限はありません。
Wave 1: all stories with no dependencies
Wave 2: all stories whose only dependencies are in wave 1
Wave N: all stories whose dependencies are fully in waves 1…(N-1)
同じウェーブ内のストーリーは、安全に並行ディスパッチできるよう、owned_scope が重複していてはなりません。2 つのストーリーが同じウェーブ内で同じファイルを共有する場合は、別々のウェーブに分割するか、競合について記録してください。
ステータスのライフサイクル(指標ではなくビュー)
backlog → ready-for-dev → in-progress → review → done
- これは順序付けの状態を示すビューであり、追跡用の仕組みではありません。
- 状態の遷移は、外部シグナル(開発ツールからの報告、ユーザーコマンド)によって引き起こされます。
- このスキルがこれらのステータスからベロシティ、バーンダウン、完了率を計算することはありません。
規模に応じたトラックのガイダンス
| トラック | ストーリー数 | Sprint-status の動作 |
|---|---|---|
| Quick Flow | 1–15 | 単一ウェーブで処理。エピック構造は最小限 |
| BMAD Method | 10–50+ | 完全なウェーブ割り当て。エピックごとにグループ化 |
| Enterprise | 30+ | 複数フェーズのウェーブ計画。依存関係マップを REFERENCE に記録 |
ステータスファイルを生成する前に、ユーザーにトラックを確認します。
サブエージェント戦略
パターン: 依存関係の並列分析
使用する状況: 3 つ以上のエピックにまたがる 15 件以上のストーリー
| エージェント | タスク | 出力 |
|---|---|---|
| エージェント 1 | すべてのストーリーファイルを解析し、依存関係の宣言を抽出する | bmad-output/context/dependency-raw.yaml |
| エージェント 2 | PRD/epics.md からエピックの順序を解析する | bmad-output/context/epic-order.yaml |
| エージェント 3 | 候補ウェーブ内の owned_scope の競合を特定する | bmad-output/context/scope-conflicts.md |
メインコンテキスト:出力を統合し、トポロジカルソートを実行して、sprint-status.yaml を作成します。
サブエージェントプロンプトの例
Task: Extract dependencies from all story files
Context: Read all *.story.md files under bmad-output/stories/
Objective: For each story, output its id and its dependencies[] list
Output: Write YAML list to bmad-output/context/dependency-raw.yaml
Format:
- id: "2.1.stripe-integration"
dependencies: ["1.3.user-auth"]
- id: "2.2.payment-webhook"
dependencies: ["2.1.stripe-integration"]
スクリプト
init-sprint-status.sh
存在しない場合、テンプレートから bmad-output/sprint-status.yaml を生成します。
bash ${CLAUDE_PLUGIN_ROOT}/skills/bmad-sprint-planning/scripts/init-sprint-status.sh \
[project-name] [output-dir]
sequence-stories.sh
ストーリーを並べ替えます。まずエピック(エピック番号順)、次に各エピック内のストーリーを依存関係順(トポロジカル順)に並べ、その後 parallel_set の整数を割り当てます。
bash ${CLAUDE_PLUGIN_ROOT}/skills/bmad-sprint-planning/scripts/sequence-stories.sh \
[sprint-status-file]
テンプレート
${CLAUDE_PLUGIN_ROOT}/skills/bmad-sprint-planning/templates/sprint-status.template.yaml
フィールド:epics[]、stories[](id、title、status、dependencies、parallel_set、owned_scope を含みます)。テンプレートには、ベロシティ、バーンダウン、ポイントのフィールドはありません。
主なガイドライン
- まずコンテキストを読み込む — 書き込み前に、既存の
sprint-status.yamlを必ず読みます - TodoWrite を使用する — 複数ステップの順序決定ワークフローを追跡します
- owned_scope を尊重する — 同じウェーブへの割り当て前に競合を指摘します
- メトリクスは使用しない — ベロシティ、ポイント、バーンダウンに似たフィールドがあれば削除します
- 明確に引き継ぐ — 各作成/更新の最後に、
ready-for-devのストーリーとそのowned_scopeの一覧を記載します - 意思決定ログ — 順序決定の内容を
bmad-output/decision-log.mdに追記します
BMAD Planning & Orchestrator プラグインの一部 — BMAD Code Organization による BMAD Method の Claude Code ハーネス(https://github.com/bmad-code-org/BMAD-METHOD)。`bmad-sprint-planning` の理念を実装しています。方法論に関する功績はすべて BMAD Code Organization に帰属します。