/bmad-correct-course
CROSS-PHASE mid-stream scope correction. Re-enters planning when requirements, features, architecture, or constraints change after planning has started. Re-shards affected epics/stories, re-sequences sprint-status.yaml, appends rationale to decision-log.md. Routes to
$ npx -y skills add aj-geddes/claude-code-bmad-skills --skill bmad-correct-course --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
- Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
- You can call itInvoke it directly when you want it.
- Slash command
/bmad-correct-course
Context preview
The summary Claude sees to decide when to auto-load this skill.
CROSS-PHASE mid-stream scope correction. Re-enters planning when requirements, features, architecture, or constraints change after planning has started. Re-shards affected epics/stories, re-sequences sprint-status.yaml, appends rationale to decision-log.md. Routes to
SKILL.md
bmad-correct-course.SKILL.mdname: bmad-correct-course
description: |
CROSS-PHASE mid-stream scope correction. Re-enters planning when requirements,
features, architecture, or constraints change after planning has started. Re-shards
affected epics/stories, re-sequences sprint-status.yaml, appends rationale to
decision-log.md. Routes to bmad-epics-and-stories, bmad-sprint-planning, or
bmad-parallel-plan as needed. Changes the PLAN, never code.
Use when: "we need to change course", "scope has changed", "new requirement came in",
"we're dropping feature X", "we need to pivot", "re-plan after the change",
"requirements changed mid-sprint", "correct course", "architecture changed",
"re-scope the backlog", "update epics after feedback", "cancel story X",
"add epic for Y", "change the plan", "we got new constraints", or when stories
are split/merged/reordered due to a decision not in the original plan.
Produces: updated epics.md (affected only), revised/new story files, updated
sprint-status.yaml, new decision-log.md entry. NEVER writes code or runs tests.
allowed-tools: Read, Write, Edit, Bash, Glob, Grep, TodoWrite
BMAD Correct Course
**Role:** Cross-phase re-entry point for mid-stream planning changes.
When reality diverges from the plan — a stakeholder pivots, a constraint surfaces, a feature is cut — this skill re-enters the planning phase, makes the minimum-necessary plan changes, and routes forward to the appropriate downstream skill. It changes **the plan**, never the code.
**Persona flavor:** Mary (Analyst) surfaces the impact; John (PM) scopes the delta; Winston (Architect) re-shards affected epics. Lightweight flavor only — this is a workflow.
---
Scope Law (read first)
This skill PLANS. It NEVER writes application code, runs tests, lints, checks coverage, builds, or reviews diffs. If tempted to "fix the code" or "run the suite" — STOP. Plan the change and hand it off.
The latest artifact this skill may produce is a story file marked `ready-for-dev`, an updated `sprint-status.yaml`, or a routing directive to a downstream planning skill.
---
When to Use This Skill
Trigger when ANY of the following is true:
- A requirement, feature, or constraint has changed **after** any planning
artifact (PRD, architecture, epics.md, or stories) was produced.
- Stories need to be added, dropped, split, merged, or re-scoped for reasons
not captured in the existing plan.
- The architecture changed in a way that invalidates Owned File/Module Scope
declarations in existing stories.
- The user wants to document a mid-stream decision in `decision-log.md`
before proceeding.
---
Inputs (load these first)
| File | Why | |------|-----| | `bmad-output/project-context.md` | Project constitution — load every run | | `bmad-output/decision-log.md` | Threaded decisions; append here | | `bmad-output/epics.md` | Existing epic map to diff against | | `bmad-output/prd.md` | Source of truth for requirements | | `bmad-output/architecture.md` | Tech boundaries (if architecture changed) | | `bmad-output/sprint-status.yaml` | Current sequencing state | | `bmad-output/stories/*.story.md` | In-flight and backlog stories |
Output folder default: `bmad-output/`. Honor any user-configured override from `bmad-output/config.yaml`.
---
Three Intents
| Intent | When to use | |--------|-------------| | **Scope Change** | A feature is added, dropped, or reshaped — re-shard affected epics and re-sequence. | | **Architecture Change** | Module boundaries, stack, or integrations shift — update Owned Scope declarations in impacted stories. | | **Record Only** | The change is already reflected in planning artifacts; write the decision-log entry and confirm consistency. |
State the intent explicitly before proceeding. When unclear, ask the user which scenario applies rather than assuming.
---
Workflow
Use `TodoWrite` to track progress through these steps.
Step 1 — Load and orient
1. Read all inputs listed above. 2. Identify the **change statement**: what is new, what is removed, what is altered, and why (ask the user if unclear). 3. State back to the user what you understood before making any edits.
Step 2 — Impact triage
Identify the minimum blast radius:
- Which **epics** are affected? (added / dropped / reshaped)
- Which **stories** are affected? (added / dropped / re-scoped /
invalidated Owned Scope)
- Which **story statuses** must change? (`in-progress` stories touched by
the change need special care — flag them; do not silently move them.)
- Does `sprint-status.yaml` need re-sequencing?
Present the triage to the user and confirm before editing.
Step 3 — Update planning artifacts
Apply only the minimum-necessary changes.
3a. Update epics.md (affected epics only)
- Add new epics with a `# COURSE-CORRECTION` annotation and the date.
- Mark dropped epics as `status: cancelled` — do not delete; preserve history.
- Update epic descriptions, scope boundaries, and the ordered story list.
- Do **not** re-generate untouched epics.
3b. Re-shard affected stories (route to bmad-epics-and-stories)
For any epic that changed scope, invoke the story-sharding workflow:
> **Route to `bmad-epics-and-stories` (intent: Update or Create)** > Provide the updated epic definition and a list of story IDs to add, > drop, or revise. The sharding skill owns the story context-object > contract; do not reproduce it here.
- Stories being dropped: set `status: cancelled` in the story file header
and in `sprint-status.yaml`. Do not delete files.
- Stories being added: they start at `status: backlog`.
- Stories being re-scoped: mark the change and re-validate LOCKED sections.
A LOCKED section (Acceptance Criteria, Dev Notes, Testing) may only change with explicit user confirmation; record the change in `decision-log.md`.
3c. Re-sequence sprint-status.yaml (route to bmad-sprint-planning)
After all story changes are settled, route to `bmad-sprint-planning` to r
Read more
name: bmad-correct-course description: | CROSS-PHASE mid-stream scope correction. Re-enters planning when requirements, features, architecture, or constraints change after planning has started. Re-shards affected epics/stories, re-sequences sprint-status.yaml, appends rationale to decision-log.md. Routes to bmad-epics-and-stories, bmad-sprint-planning, or bmad-parallel-plan as needed. Changes the PLAN, never code. Use when: "we need to change course", "scope has changed", "new requirement came in", "we're dropping feature X", "we need to pivot", "re-plan after the change", "requirements changed mid-sprint", "correct course", "architecture changed", "re-scope the backlog", "update epics after feedback", "cancel story X", "add epic for Y", "change the plan", "we got new constraints", or when stories are split/merged/reordered due to a decision not in the original plan. Produces: updated epics.md (affected only), revised/new story files, updated sprint-status.yaml, new decision-log.md entry. NEVER writes code or runs tests. allowed-tools: Read, Write, Edit, Bash, Glob, Grep, TodoWrite
BMAD Correct Course
**Role:** Cross-phase re-entry point for mid-stream planning changes.
When reality diverges from the plan — a stakeholder pivots, a constraint surfaces, a feature is cut — this skill re-enters the planning phase, makes the minimum-necessary plan changes, and routes forward to the appropriate downstream skill. It changes **the plan**, never the code.
**Persona flavor:** Mary (Analyst) surfaces the impact; John (PM) scopes the delta; Winston (Architect) re-shards affected epics. Lightweight flavor only — this is a workflow.
---
Scope Law (read first)
This skill PLANS. It NEVER writes application code, runs tests, lints, checks coverage, builds, or reviews diffs. If tempted to "fix the code" or "run the suite" — STOP. Plan the change and hand it off.
The latest artifact this skill may produce is a story file marked `ready-for-dev`, an updated `sprint-status.yaml`, or a routing directive to a downstream planning skill.
---
When to Use This Skill
Trigger when ANY of the following is true:
- A requirement, feature, or constraint has changed **after** any planning
artifact (PRD, architecture, epics.md, or stories) was produced.
- Stories need to be added, dropped, split, merged, or re-scoped for reasons
not captured in the existing plan.
- The architecture changed in a way that invalidates Owned File/Module Scope
declarations in existing stories.
- The user wants to document a mid-stream decision in `decision-log.md`
before proceeding.
---
Inputs (load these first)
| File | Why | |------|-----| | `bmad-output/project-context.md` | Project constitution — load every run | | `bmad-output/decision-log.md` | Threaded decisions; append here | | `bmad-output/epics.md` | Existing epic map to diff against | | `bmad-output/prd.md` | Source of truth for requirements | | `bmad-output/architecture.md` | Tech boundaries (if architecture changed) | | `bmad-output/sprint-status.yaml` | Current sequencing state | | `bmad-output/stories/*.story.md` | In-flight and backlog stories |
Output folder default: `bmad-output/`. Honor any user-configured override from `bmad-output/config.yaml`.
---
Three Intents
| Intent | When to use | |--------|-------------| | **Scope Change** | A feature is added, dropped, or reshaped — re-shard affected epics and re-sequence. | | **Architecture Change** | Module boundaries, stack, or integrations shift — update Owned Scope declarations in impacted stories. | | **Record Only** | The change is already reflected in planning artifacts; write the decision-log entry and confirm consistency. |
State the intent explicitly before proceeding. When unclear, ask the user which scenario applies rather than assuming.
---
Workflow
Use `TodoWrite` to track progress through these steps.
Step 1 — Load and orient
1. Read all inputs listed above. 2. Identify the **change statement**: what is new, what is removed, what is altered, and why (ask the user if unclear). 3. State back to the user what you understood before making any edits.
Step 2 — Impact triage
Identify the minimum blast radius:
- Which **epics** are affected? (added / dropped / reshaped)
- Which **stories** are affected? (added / dropped / re-scoped /
invalidated Owned Scope)
- Which **story statuses** must change? (`in-progress` stories touched by
the change need special care — flag them; do not silently move them.)
- Does `sprint-status.yaml` need re-sequencing?
Present the triage to the user and confirm before editing.
Step 3 — Update planning artifacts
Apply only the minimum-necessary changes.
3a. Update epics.md (affected epics only)
- Add new epics with a `# COURSE-CORRECTION` annotation and the date.
- Mark dropped epics as `status: cancelled` — do not delete; preserve history.
- Update epic descriptions, scope boundaries, and the ordered story list.
- Do **not** re-generate untouched epics.
3b. Re-shard affected stories (route to bmad-epics-and-stories)
For any epic that changed scope, invoke the story-sharding workflow:
> **Route to `bmad-epics-and-stories` (intent: Update or Create)** > Provide the updated epic definition and a list of story IDs to add, > drop, or revise. The sharding skill owns the story context-object > contract; do not reproduce it here.
- Stories being dropped: set `status: cancelled` in the story file header
and in `sprint-status.yaml`. Do not delete files.
- Stories being added: they start at `status: backlog`.
- Stories being re-scoped: mark the change and re-validate LOCKED sections.
A LOCKED section (Acceptance Criteria, Dev Notes, Testing) may only change with explicit user confirmation; record the change in `decision-log.md`.
3c. Re-sequence sprint-status.yaml (route to bmad-sprint-planning)
After all story changes are settled, route to `bmad-sprint-planning` to r
This repository is a Claude Code plugin marketplace. It ships one plugin — BMAD Planning & Orchestrator — that harnesses the BMAD Method to plan, document, and orchestrate software work as conflict-free parallel workstreams, then hands implementation off to
Repo: aj-geddes/claude-code-bmad-skills
Other skills on claude-code-bmad-skills.
- /bmad-architecture
Solutioning skill (Winston, the Architect). Produces architecture.md with ADRs and systematic NFR coverage, mapping every FR/NFR from the PRD to a concrete design decision. ONE architecture forces all future parallel dev agents to share the same API style, data model, state
Open skill - /bmad-brainstorm
Facilitates structured ideation sessions using proven brainstorming techniques (SCAMPER, SWOT, 5 Whys, Mind Mapping, Six Thinking Hats, Reverse Brainstorming, Starbursting, Brainwriting). Produces a brainstorming-report.md of organized ideas and actionable insights. Operates in
Open skill - /bmad-builder
Meta-skill for scaffolding and validating custom PLANNING/ORCHESTRATION skills within the BMAD Planning & Orchestrator plugin. Produces the full skill directory: SKILL.md, scripts, and templates — all pre-targeted at this plugin's path conventions. Includes a scope-violation
Open skill - /bmad-document-project
BROWNFIELD planning input. Scans an existing codebase READ-ONLY and writes project-documentation.md — ground truth for stack, structure, key flows, conventions, and integration points — so downstream BMAD planning skills start from reality. Does NOT modify code; produces only
Open skill - /bmad-epics-and-stories
Solutioning flagship — shards a PRD + architecture into epics.md and individual {epic}.{story}.{slug}.story.md context objects, the LAST planning artifact before external dev handoff. Each story is a self-contained ~8K-token compiled context object: Dev Notes with SOURCE
Open skill - /bmad-handoff
Emits a dev-tool-agnostic handoff manifest from ready-for-dev stories so an external dev plugin or runner can pick up and execute the work. Use when the user says "generate a handoff", "create handoff manifest", "export stories for dev", "hand off to dev tool", "produce handoff
Open skill

