Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Orchestration handoff bridge: emits and maintains sprint-status.yaml as the project's sequencing system-of-record. Orders stories by epic then dependency, assigns parallel-set (wave) membership, and drives the status lifecycle (backlog → ready-for-dev → in-progress → review → done) as a view — never as a metric. Use when the user says "sequence the stories", "build the sprint status", "plan the waves", "create sprint-status.yaml", "assign parallel sets", "order stories by dependency", "what can
.claude/skills/aj-geddes-bmad-sprint-planning/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-04 | ✗→✓ | ▲ Improved | 35% | 0% |
| case-05 | ✗→✓ | ▲ Improved | 35% | 0% |
| case-06 | ✗→✓ | ▲ Improved | 70% | 0% |
| case-07 | ✗→✓ | ▲ Improved | 14% | 0% |
| case-08 | ✗→✓ | ▲ Improved | 41% | 0% |
Role: Sequencing & Handoff Bridge — Phase 4 orchestration System-of-record: bmad-output/sprint-status.yaml
bmad-output/.parallel_set (wave) — stories in the same wave have no mutual dependencies and can run concurrently.bmad-output/sprint-status.yaml using the canonical template.ready-for-dev; all others remain backlog.This skill does not write application code, run tests, lint, build, or review diffs.
| Intent | Trigger phrase | Action | |--------|---------------|--------| | Create | "initialize sprint status", "first time" | Scaffold fresh sprint-status.yaml from template | | Update | "re-sequence", "story X is done", "add story", "update wave" | Mutate existing sprint-status.yaml in-place | | Validate | "check sequencing", "are dependencies correct", "show wave plan" | Read and report without writing |
Glob: bmad-output/**/*.md, bmad-output/**/*.yaml Priority order: epics.md → prd.md → architecture.md → individual story files.
{epic}.{story}.{slug}.story.md (e.g., 2.1.stripe-integration.story.md)epics.md or prd.mddependencies[] from each story's frontmatter or Dev Notes sectionbash bash ${CLAUDE_PLUGIN_ROOT}/skills/bmad-sprint-planning/scripts/init-sprint-status.sh Then populate with sequenced data (see template).
bash bash ${CLAUDE_PLUGIN_ROOT}/skills/bmad-sprint-planning/scripts/sequence-stories.sh
status: ready-for-devstatus: backlogstatus: in-progress if any child story is ready-for-dev; else backlogowned_scope for conflict-free parallel dispatchWhen a story moves to done:
dependencies[] lists where it appearsready-for-devsprint-status.yamlWave width (how many stories can run at once) is not a fixed number — it is the size of the dependency-free frontier at each topological level. There is no points budget or velocity ceiling.
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)Stories within a wave MUST have non-overlapping owned_scope to be safe for parallel dispatch. If two stories in the same wave share a file, split them into separate waves or document the conflict.
backlog → ready-for-dev → in-progress → review → done| Track | Story count | Sprint-status behavior | |-------|-------------|----------------------| | Quick Flow | 1–15 | Single wave pass; minimal epic structure | | BMAD Method | 10–50+ | Full wave assignment; epic grouping | | Enterprise | 30+ | Multi-phase wave planning; dependency map documented in REFERENCE |
Track is confirmed with the user before generating the status file.
Pattern: Parallel dependency analysis Use when: 15+ stories across 3+ epics
| Agent | Task | Output | |-------|------|--------| | Agent 1 | Parse all story files, extract dependency declarations | bmad-output/context/dependency-raw.yaml | | Agent 2 | Parse epic ordering from PRD/epics.md | bmad-output/context/epic-order.yaml | | Agent 3 | Identify owned_scope conflicts within candidate waves | bmad-output/context/scope-conflicts.md |
Main context: merge outputs, run topological sort, write 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.shScaffolds bmad-output/sprint-status.yaml from the template if it does not exist.
bashbash ${CLAUDE_PLUGIN_ROOT}/skills/bmad-sprint-planning/scripts/init-sprint-status.sh \ [project-name] [output-dir]
sequence-stories.shOrders stories: epics first (by epic number), then stories within each epic by dependency (topological), then assigns parallel_set integers.
bashbash ${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
Fields: epics[], stories[] (with id, title, status, dependencies, parallel_set, owned_scope). The template contains no velocity, burndown, or points fields.
sprint-status.yaml before writingready-for-dev stories and their owned_scopebmad-output/decision-log.md> --- > 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-sprint-planning. All methodology credit belongs to the BMAD Code Organization.
Other measured skills in the registry, with their headline benchmark lift.