bmad-orchestrate について
bmad-orchestrate は、BMAD のストーリー依存関係を分析し、スプリント作業を並行して進める Claude Code スキルです。git worktree と Agent Teams または tmux を使い、分析・実行・マージのワークフローを備えています。
主な機能
- 01ストーリー依存関係の分析
- 02並行作業の計画
- 03worktree による実行
- 04ブランチのマージ
- 05Agent Teams と tmux に対応
活用シーン
- 01スプリント内の独立したストーリーを特定
- 02別々のストーリーを並行実行
- 03完了した worktree のブランチをマージ
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ julianobarbosa/ claude-code-skills --skill bmad-orchestrateインストール後、Claude Code で/bmad-orchestrateを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
DependencyPatterns.mdWorkflows/Analyze.mdExecute.mdMerge.md詳細
BmadOrchestrate
ストーリーの依存関係を分析し、並列化の機会を特定して、git worktree、tmux、Claude Code を使った同時実行を調整することで、BMAD スプリントを加速します。
カスタマイズ
実行前に、次の場所にユーザーによるカスタマイズがあるか確認してください:
~/.claude/skills/PAI/USER/SKILLCUSTOMIZATIONS/BmadOrchestrate/
このディレクトリが存在する場合は、そこにある PREFERENCES.md、設定、またはリソースを読み込んで適用してください。これらはデフォルトの動作より優先されます。ディレクトリが存在しない場合は、スキルのデフォルト設定で進めてください。
音声通知
ワークフローの実行時には、次の両方を行ってください:
-
音声通知を送信する:
curl -s -X POST http://localhost:8888/notify \ -H "Content-Type: application/json" \ -d '{"message": "Running WORKFLOWNAME in BmadOrchestrate to ACTION"}' \ > /dev/null 2>&1 & -
テキスト通知を出力する:
Running the **WorkflowName** workflow in the **BmadOrchestrate** skill to ACTION...
詳細なドキュメント: ~/.claude/skills/PAI/THENOTIFICATIONSYSTEM.md
ワークフローの振り分け
| ワークフロー | トリガー | ファイル |
|---|---|---|
| 分析 | "analyze for parallelization", "find parallel stories", "dependency graph" | Workflows/Analyze.md |
| 実行 | "execute parallel", "launch worktrees", "run stories in parallel" | Workflows/Execute.md |
| マージ | "merge worktrees", "combine branches", "merge parallel work" | Workflows/Merge.md |
例
例 1:bmad-help の出力から一連の調整を実行
User: "Parallelize the remaining Epic 4 stories"
→ Invokes Analyze workflow
→ Reads sprint-status.yaml + epics.md
→ Builds dependency graph, identifies 4-2 ‖ 4-4 as independent
→ Presents phase plan with parallel tracks
→ User approves → Invokes Execute workflow
→ Creates worktrees, launches tmux + Claude Code instances
例 2:分析のみ
User: "Which stories can I run in parallel?"
→ Invokes Analyze workflow
→ Reads sprint status and epic definitions
→ Returns dependency graph + parallelization opportunities
→ Does NOT execute (analysis only)
例 3:完了した worktree をマージ
User: "Merge the parallel story branches back"
→ Invokes Merge workflow
→ Lists worktree branches with changes
→ Merges sequentially, resolving sprint-status.yaml conflicts
→ Cleans up worktrees
クイックリファレンス
- 依存関係の検出: ストーリー間の参照を確認するため、受け入れ基準を読み込みます
- 競合のホットスポット:
sprint-status.yaml— 常に手動でのマージが必要です - Worktree の場所:
.claude/worktrees/(Claude Code のデフォルト) - tmux セッション名:
bmad-epic-{N}(N はアクティブなエピック番号)
詳細なドキュメント:
- 依存関係のパターン:
DependencyPatterns.md
実行モード
| モード | 方法 | 要件 | 分離 |
|---|---|---|---|
| Agent Teams(推奨) | Agent ツールで isolation: "worktree" を指定 | CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS 環境変数が設定されていること | エージェントごとに git worktree を自動作成 |
| tmux(フォールバック) | 手動で worktree を作成し、tmux ペインを使用 | tmux がインストールされ、CLAUDECODE 環境変数によるブロックがないこと | git worktree を手動で作成 |
利用可能な場合は Agent Teams を推奨します。worktree の作成、分離、クリーンアップを自動で処理します。
注意点
- 並列ストーリーの調整では、ファイルの所有権が重複しないことを前提とします — ストーリーの境界で編集が重なると、手動での切り分けが必要なマージ競合が発生します。
sprint-status.yamlはマージ競合のホットスポットです — すべての並列エージェントが更新するため、競合を避けるには更新を直列化するか、追記のみのパターンを使用してください。- 音声通知は worktree ごとに送信されます — 複数の並列エージェントが互いの通知をかき消します。通知を控える時間帯を設定するか、通知チャネルを 1 つにしてください。
- デフォルトの worktree の場所(
.claude/worktrees/)は、複数の BMAD 呼び出しを同時に実行すると競合します — スプリントまたはセッション ID ごとに名前空間を分けてください。 - ストーリー間の参照: あるストーリーが別のストーリーの出力を参照している場合、そのストーリーの完了を前提としています。参照先の失敗を明示的に検出する必要があります。