bmad-sprint-planning
bmad-code-org/bmad-method
Check planning readiness and generate sprint status from epics; validate and repair tracking files.
What is bmad-sprint-planning?
A sprint planning skill that validates whether your implementation plan is complete enough to start building, then generates and maintains a sprint-status.yaml tracking file from your epics. Use it to check readiness, generate or refresh sprint plans, view progress, and validate or repair tracking files.
- Validates implementation readiness by checking artifact inventory and implementability
- Parses epics and generates sprint-status.yaml tracking file with derived keys and merged statuses
- Summarizes sprint progress with counts, risks, and recommended next actions
- Validates sprint-status.yaml format and structure
- Repairs or rebuilds broken tracking files through evidence-gathering and regeneration
How to install bmad-sprint-planning
npx skills add https://github.com/bmad-code-org/bmad-method --skill bmad-sprint-planning- BMad method set up in your project (run bmad skill setup if needed)
- Epic files in your project following BMad conventions
- uv installed for running Python scripts
How to use bmad-sprint-planning
- 1.Activate the skill and it will detect your intent (readiness check, sprint planning, status view, validation, or repair)
- 2.For sprint planning: the skill runs the readiness gate first; on PASS it generates sprint-status.yaml from your epics
- 3.For status view: skip the gate and see current sprint progress, counts, and recommended actions
- 4.For validation: check that sprint-status.yaml conforms to the expected format
- 5.For repair: provide evidence of the correct state and the skill rebuilds the tracking file
Use cases
- Run before starting a sprint to confirm planning is complete and identify gaps early
- Generate or refresh sprint-status.yaml when epics change or planning is updated
- Check current sprint progress and identify risks or blockers
- Validate that sprint-status.yaml conforms to the expected format
- Repair a corrupted or out-of-sync tracking file
- Senior developers reviewing handoffs and planning
- Project leads managing sprint execution
- Teams using the BMad method for structured planning
- Developers implementing from epics
bmad-sprint-planning FAQ
The gate returns FAIL with specific findings about missing artifacts or implementability concerns. Address these before proceeding to sprint planning, or use the fix flow to resolve them.
The skill will offer to run the bmad skill's setup first, which installs BMad and initializes your project structure.
The skill reads the files directly and delivers the outcome by best judgment, tells you why the deterministic path failed, and offers the fix flow to restore a file the script can work with.
It uses your project's BMad configuration to identify planning artifacts, then parses them according to the epic structure defined in your customization.
Yes, use the fix intent. The skill gathers evidence of the correct state, confirms with you, then regenerates a clean tracking file.
Full instructions (SKILL.md)
Source of truth, from bmad-code-org/bmad-method.
name: bmad-sprint-planning description: 'Check that planning is complete enough to implement, then generate the sprint status file from the epics. Can also summarize sprint progress and validate or repair the tracking file. Use when the user says "run sprint planning", "generate sprint plan", "check implementation readiness", "show sprint status", "validate sprint status", or "fix sprint status"'
Overview
You are a senior developer about to commit to this plan. Two moves, in order: first scrutinize the planning the way a skeptic reads a handoff — gaps found now are cheap, gaps found mid-build are not. Then hand the mechanical work to the script: parsing epics, deriving keys, merging statuses, and writing sprint-status.yaml are deterministic jobs, not judgment calls. Your judgment goes where the script can't: deciding which files are epics, weighing readiness, and reconciling anything the script flags.
On Activation
-
Resolve customization:
uv run {project-root}/_bmad/scripts/resolve_customization.py --skill {skill-root} --project-root {project-root} --key workflow.- Script not found: BMad is not set up here. Offer to run the
bmadskill's setup, installingbmadfirst if you do not have it (npx skills add bmad-code-org/BMAD-METHOD --skill bmad), then run the command again. - Any other failure: read
{skill-root}/customize.tomldirectly and use defaults.
- Script not found: BMad is not set up here. Offer to run the
-
Execute each entry in
{workflow.activation_steps_prepend}in order. -
Treat every entry in
{workflow.persistent_facts}as foundational context for the rest of the run. Entries prefixedfile:are paths or globs under{project-root}— load the referenced contents as facts. All other entries are facts verbatim. -
Resolve config:
uv run {project-root}/_bmad/scripts/resolve_config.py --project-root {project-root} --key core.project_name --key modules.bmm.planning_artifacts --key modules.bmm.implementation_artifacts --key modules.bmm.project_knowledge.{date}is the current system datetime. -
Greet the user, detect intent, and load only what that intent needs:
- readiness — check implementation readiness only: load
references/readiness-gate.md, run the gate, report, stop - sprint-planning — the full flow (also the refresh path for an existing
sprint-status.yaml): loadreferences/readiness-gate.md, then on PASSreferences/generate-tracking.md - status — "show sprint status", "where are we": skip the gate, load
references/status-view.md - validate — check the tracking file's format: load
references/validate.md - fix — repair or rebuild a broken
sprint-status.yaml: loadreferences/fix-sprint-status.md
If interactive and unclear, ask; for headless behavior see
## Headless Mode. - readiness — check implementation readiness only: load
Execute each entry in {workflow.activation_steps_append} in order.
Activation is complete. If activation_steps_prepend or activation_steps_append were non-empty, confirm every entry was executed in order before proceeding.
If the Script Fails
This rule covers every intent: when sprint_plan.py errors or the file is in a state it cannot handle, do not stop at the error and do not guess silently. Read the files yourself, deliver the same outcome by best judgment, tell the user the deterministic path failed and why, and offer the fix flow (references/fix-sprint-status.md) to restore a file the script can work with.
On Completion
Whatever the intent, close out per the loaded reference, then run {workflow.on_complete} if non-empty; treat a string scalar as one instruction and an array as a sequence.
Headless Mode
When invoked headless, do not ask. Run the gate and, unless intent was readiness-only, generate tracking. Ambiguity the interactive flow would resolve by asking (duplicate epic versions, unreconciled orphans, an unconfirmed fix) halts with a blocked status instead of guessing. End with a JSON response:
{
"status": "complete",
"intent": "sprint-planning",
"gate": "PASS",
"status_file": "{implementation_artifacts}/sprint-status.yaml",
"findings": [],
"warnings": []
}
gate is PASS, CONCERNS, or FAIL; on FAIL include findings and the saved findings path if written, and omit status_file. intent is "readiness", "sprint-planning", "status", "validate", or "fix" — for status and validate intents, omit gate and pass the script's JSON through under a report key (not status, which names the run state).
References
scripts/sprint_plan.py— the deterministic parser/generator/merger; subcommandsgenerate,status,validate. Its JSON output is the contract this skill reads; argparse errors are JSON tooreferences/readiness-gate.md— the PASS/CONCERNS/FAIL gate: artifact inventory and the implementability questionreferences/generate-tracking.md— epic discovery, the generate command, and acting on its JSON reportreferences/status-view.md— the status view: counts, risks, open action items, next recommended actionreferences/fix-sprint-status.md— rebuild a broken tracking file: evidence-gathering subagents, user confirmation, pristine regenerationreferences/validate.md— format validation of an existingsprint-status.yamlsprint-status-template.yaml— the documented file format and status vocabulary; the script embeds the same block and the test suite pins the two copies together
Related skills
More from bmad-code-org/bmad-method and the wider catalog.

bmad-ux
Capture UX vision in DESIGN.md and EXPERIENCE.md documents via structured elicitation.

bmad-walkthrough
Guide structured human review of commits, PRs, files, or directories using BMad workflows.

bmod-core-tools
Core metadata module for BMad—set up via the bmad skill, not directly invoked.

bmod-method
Metadata record for BMad Method module—configure via the bmad skill, not directly.

typescript-e2e-testing
E2E and integration testing for TypeScript/NestJS with Jest, supertest, Docker, and Given-When-Then pattern.

biome
Biome - Fast all-in-one toolchain for web projects (linter + formatter in Rust, 100x faster than ESLint)