跳到主要内容
知仓学习社ZHICANG

bmad-parallel-plan

|

不碰外部(只输出文字)无严重或高危命中aj-geddes/claude-code-bmad-skills

它会碰到什么

扫了多少5 个文本文件,32 KB
它会碰到什么不碰外部(只输出文字)
命中总数0 处
命中统计严重 0 · 高 0 · 中 0 · 低 0

这一栏是扫描器报的事实,不是结论。命中多不等于有毒(安全工具、规则库、示例脚本本来就会包含危险写法),命中少也不等于干净。它和你手上的凭据、文件、网络有什么关系,需要你自己看。

技能内容

BMAD Parallel Plan

Convert a linear backlog into waves of stories that can be developed at the same

time without colliding — then describe exactly how to merge them back together. This

skill produces a plan. Your external dev tools execute it.

Persona flavor: Winston (Architect) reasons about isolation; the workflow does the math.

Scope (read first)

  • This skill plans concurrency. It NEVER spawns worktrees, runs dev agents, writes

application code, runs tests, lints, or runs git.

  • Inputs are planning artifacts. The only output is parallelization-plan.md (plus an

optional dependency-graph.json / waves.json for traceability).

  • Branch names and merge order are recommendations the dev tool/human carries out.

Inputs

| Artifact | Path (under output folder) | Used for |

|----------|---------------------------|----------|

| Sprint status | sprint-status.yaml | story ids, epic, status, dependency lists |

| Ready stories | stories/{epic}.{story}.{slug}.story.md | Owned File/Module Scope + Dependency Maps |

| Architecture | architecture.md | semantic-conflict prevention (boundaries, shared modules) |

| Config | userConfig.maxParallel (default 3) | wave width cap |

Only stories at status ready-for-dev (or later) are eligible for a wave.

The four steps

  1. Lean on architecture for semantic safety. Read architecture.md. Architecture is

what makes parallelism safe — clean module boundaries mean two stories touching

different components won't create a hidden semantic conflict even if the files differ.

Note any shared/cross-cutting modules (auth, config, DB schema, shared types); stories

that touch them are high-conflict and rarely parallelizable.

  1. Read each story's Owned File/Module Scope. Every ready story declares the explicit

list of paths it may touch. Collect {story_id -> [paths]}. A missing or empty scope

is a planning blocker — flag it; do not guess.

  1. Build the dependency DAG, then topologically sort into waves. Edges come from three

conflict classes (see REFERENCE.md):

  • Ordering edges — epic order (stories within an epic are usually sequential) and

each story's explicit Dependency Maps (depends_on).

  • File-scope edges — any two stories whose Owned File/Module Scopes intersect must

not share a wave (an undirected conflict, resolved by lower story id first).

  • Semantic edges — both touch a shared/cross-cutting module from step 1.

Topologically sort: wave N = all stories whose dependencies are already satisfied by

waves < N AND that are pairwise file-disjoint AND pairwise semantically safe. Cap each

wave at maxParallel; overflow rolls to the next wave (lowest id first).

  1. Emit parallelization-plan.md. For each wave, list the ready-for-dev stories; give

each an isolated git-worktree branch name and its disjoint file scope. Then give the

ordered merge sequence: lowest story id first into an integration branch, an

integration review checkpoint, then a single PR integration -> main.

Three intents

  • Create — first wave plan from the current backlog.
  • Update — re-plan after stories were added/finished/re-scoped (recompute the DAG;

exclude done, re-sort remaining).

  • Validate — re-check an existing plan: confirm every wave is still file-disjoint,

dependency-satisfied, and within maxParallel; report drift.

State the intent, then proceed.

Run the helper scripts

Both scripts are deterministic and read-only. Resolve paths via ${CLAUDE_PLUGIN_ROOT}.

# 1) Build the dependency DAG (edges + conflict class) from status + story scopes
python3 "${CLAUDE_PLUGIN_ROOT}/skills/bmad-parallel-plan/scripts/build-dependency-graph.py" \
  --status   "<output>/sprint-status.yaml" \
  --stories  "<output>/stories" \
  --out      "<output>/dependency-graph.json"

# 2) Topologically sort into capped waves
python3 "${CLAUDE_PLUGIN_ROOT}/skills/bmad-parallel-plan/scripts/plan-parallel-waves.py" \
  --graph        "<output>/dependency-graph.json" \
  --max-parallel 3 \
  --out          "<output>/waves.json"

# 3) (Optional) cross-check two scope lists for overlap — shared orchestrator helper
bash "${CLAUDE_PLUGIN_ROOT}/scripts/scope-conflict-check.sh" \
  "<output>/stories/2.1.foo.story.md" "<output>/stories/2.2.bar.story.md"

Then render waves.json into the human-facing plan using

[templates/parallelization-plan.template.md](templates/parallelization-plan.template.md)

and write it to <output>/parallelization-plan.md.

Branch & merge conventions

  • Branch per story: story/{epic}.{story}-{slug} (one worktree each, fully isolated).
  • Integration branch per wave: integration/wave-{N}.
  • Merge order inside a wave: ascending story id into integration/wave-{N}.
  • After all of a wave's stories merge: integration-review checkpoint, then PR

integration/wave-{N} -> main. Wave N+1 branches off the merged main.

Output

  • <output>/parallelization-plan.md — the deliverable.
  • <output>/dependency-graph.json, <output>/waves.json — traceability (optional).
  • Append a one-line entry to <output>/decision-log.md noting maxParallel, wave count,

and any stories deferred for missing scope.

Guardrails

  • Never place two stories with intersecting Owned File/Module Scope in the same wave.
  • Never schedule a story before a story it depends_on.
  • A story with no declared scope is not wave-eligible — surface it for the

scrum-master to fix; do not invent paths.

  • Honor maxParallel; the dev tool enforces real concurrency, the plan must not exceed it.
  • Do not modify Acceptance Criteria, Dev Notes, or Testing in any story — those are LOCKED.

See [REFERENCE.md](REFERENCE.md) for the wave algorithm, conflict classes, and merge-order

rationale.

> ---

> Part of the BMAD Planning & Orchestrator plugin — a Claude Code harness for the BMAD Method by the BMAD Code Organization (https://github.com/bmad-code-org/BMAD-METHOD). Implements the spirit of bmad-parallel-plan. All methodology credit belongs to the BMAD Code Organization.

想直接用这个技能?

本站把开放许可(MIT / Apache 等)的技能按仓库打包整理到网盘,点一下转存到你自己的网盘,不用一个个从 GitHub 拉。许可未声明的技能只给原始仓库链接,不打包。

它属于哪个仓库

星标★ 488
本站分层T2
该仓技能数20
原文件路径bmad-planning-orchestrator/skills/bmad-parallel-plan/SKILL.md

同一个仓库里的其他技能

看这个仓库的全部 20 个技能