mcpField
B
bmad-sprint-planning

bmad-sprint-planning

github.com/aj-geddesエージェントワークフロー494100 回インストール19 週間前に更新
リポジトリ

bmad-sprint-planning について

bmad-sprint-planningは、BMAD Planning & OrchestratorプラグインのPhase 4向け計画スキルです。依存関係に基づいてストーリーを並べ、並行ウェーブを割り当てます。コード作成や速度の計測は行いません。

主な機能

  1. 01計画成果物とストーリーを読み込み
  2. 02ストーリーの依存関係グラフを作成
  3. 03依存関係に応じて並行ウェーブを割り当て
  4. 04ストーリーの準備状態を更新
  5. 05書き込みなしで順序を検証

活用シーン

  1. 01初回のsprint-status.yamlを作成
  2. 02並行開発できるストーリーを特定
  3. 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.sh
sequence-stories.sh
templates/
sprint-status.template.yaml

詳細

BMAD スプリント計画

役割: 順序付けと引き継ぎの橋渡し — フェーズ 4 のオーケストレーション
System-of-record: bmad-output/sprint-status.yaml


このスキルの機能

  1. bmad-output/ から計画成果物(PRD、アーキテクチャ、エピック、ストーリー)を読み込みます。
  2. すべてのストーリー間の依存関係グラフを導き出します。
  3. 各ストーリーに parallel_set(ウェーブ)を割り当てます。同じウェーブ内のストーリーには相互依存関係がなく、並行して実行できます。
  4. 正規のテンプレートを使用して bmad-output/sprint-status.yaml を出力します。
  5. 最初のウェーブのストーリーを ready-for-dev に設定し、ほかのすべてのストーリーは backlog のままにします。
  6. ストーリーの完了時や新規追加時に、要求に応じて順序を再設定できます。

このスキルは、アプリケーションコードの作成、テストの実行、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"書き込まずに読み込み、結果を報告

ワークフロー — 作成

  1. 計画成果物を読み込む

    Glob: bmad-output/**/*.md, bmad-output/**/*.yaml
    

    優先順位:epics.md → prd.md → architecture.md → 個別のストーリーファイル。

  2. エピックとストーリーを抽出する

    • すべてのストーリー ID を解析します。形式は {epic}.{story}.{slug}.story.md です(例:2.1.stripe-integration.story.md)。
    • epics.md または prd.md のエピック一覧からエピックの順序を導き出します。
  3. 依存関係グラフを構築する

    • 各ストーリーのフロントマターまたは Dev Notes セクションから dependencies[] を読み込みます。
    • トポロジカルソート:未解決の依存関係がないストーリーをウェーブ 1 に、ウェーブ 1 の後にブロックが解除されるストーリーをウェーブ 2 に割り当て、以降同様にします。
  4. sprint-status.yaml を初期化する

    bash ${CLAUDE_PLUGIN_ROOT}/skills/bmad-sprint-planning/scripts/init-sprint-status.sh
    

    続いて、順序付けしたデータを入力します(テンプレートを参照)。

  5. ストーリーの順序を設定する

    bash ${CLAUDE_PLUGIN_ROOT}/skills/bmad-sprint-planning/scripts/sequence-stories.sh
    
  6. 初期ステータスを設定する

    • ウェーブ 1 のストーリー:status: ready-for-dev
    • ほかのすべてのストーリー:status: backlog
    • エピック:子ストーリーのいずれかが ready-for-dev なら status: in-progress、そうでなければ backlog
  7. 引き継ぎの概要を出力する — 競合のない並行ディスパッチができるよう、ウェーブ 1 のストーリーを owned_scope ごとに一覧表示します。


ワークフロー — 更新

ストーリーが done に移行したとき:

  1. そのストーリーが含まれるすべての dependencies[] リストから削除します。
  2. 新たにブロックが解除されたストーリー(依存関係がすべて満たされたストーリー)を特定します。
  3. それらを ready-for-dev に昇格させます。
  4. 親エピックのステータスを再評価します。
  5. 更新した 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 Flow1–15単一ウェーブで処理。エピック構造は最小限
BMAD Method10–50+完全なウェーブ割り当て。エピックごとにグループ化
Enterprise30+複数フェーズのウェーブ計画。依存関係マップを REFERENCE に記録

ステータスファイルを生成する前に、ユーザーにトラックを確認します。


サブエージェント戦略

パターン: 依存関係の並列分析
使用する状況: 3 つ以上のエピックにまたがる 15 件以上のストーリー

エージェントタスク出力
エージェント 1すべてのストーリーファイルを解析し、依存関係の宣言を抽出するbmad-output/context/dependency-raw.yaml
エージェント 2PRD/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 を含みます)。テンプレートには、ベロシティ、バーンダウン、ポイントのフィールドはありません。


主なガイドライン

  1. まずコンテキストを読み込む — 書き込み前に、既存の sprint-status.yaml を必ず読みます
  2. TodoWrite を使用する — 複数ステップの順序決定ワークフローを追跡します
  3. owned_scope を尊重する — 同じウェーブへの割り当て前に競合を指摘します
  4. メトリクスは使用しない — ベロシティ、ポイント、バーンダウンに似たフィールドがあれば削除します
  5. 明確に引き継ぐ — 各作成/更新の最後に、ready-for-dev のストーリーとその owned_scope の一覧を記載します
  6. 意思決定ログ — 順序決定の内容を 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 に帰属します。

コメント