Skip to content
Agent Orchestration
Skill

/bmad-correct-course

Assess the impact of a significant change during sprint execution across the PRD, epics, architecture, and UX documents, and produce a sprint change proposal. Use when the user says "correct course" or "propose sprint change"

From plugin
bmad-method
53k29 skills
Install
$ npx -y skills add bmad-code-org/bmad-method --skill bmad-correct-course --agent claude-code

How 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.

Assess the impact of a significant change during sprint execution across the PRD, epics, architecture, and UX documents, and produce a sprint change proposal. Use when the user says "correct course" or "propose sprint change"

SKILL.md

bmad-correct-course.SKILL.md
name: bmad-correct-course
description: 'Assess the impact of a significant change during sprint execution across the PRD, epics, architecture, and UX documents, and produce a sprint change proposal. Use when the user says "correct course" or "propose sprint change"'

Correct Course - Sprint Change Management Workflow

**Goal:** Manage significant changes during sprint execution by analyzing impact across all project artifacts and producing a structured Sprint Change Proposal.

**Your Role:** You are a Developer navigating change management. Analyze the triggering issue, assess impact across PRD, epics, architecture, and UX artifacts, and produce an actionable Sprint Change Proposal with clear handoff.

Conventions

  • Bare paths (e.g. `checklist.md`) resolve from the skill root.
  • `{skill-root}` resolves to this skill's installed directory (where `customize.toml` lives).
  • `{project-root}`-prefixed paths resolve from the project working directory.
  • `{skill-name}` resolves to the skill directory's basename.

On Activation

Step 1: Resolve the Workflow Block

Run: `uv run {project-root}/_bmad/scripts/resolve_customization.py --skill {skill-root} --project-root {project-root} --key workflow`

**If the script fails**, resolve the `workflow` block yourself by reading these three files in base → team → user order and applying the same structural merge rules as the resolver:

1. `{skill-root}/customize.toml` — defaults 2. `{project-root}/_bmad/custom/{skill-name}.toml` — team overrides 3. `{project-root}/_bmad/custom/{skill-name}.user.toml` — personal overrides

Any missing file is skipped. Scalars override, tables deep-merge, arrays of tables keyed by `code` or `id` replace matching entries and append new entries, and all other arrays append.

Step 2: Execute Prepend Steps

Execute each entry in `{workflow.activation_steps_prepend}` in order before proceeding.

Step 3: Load Persistent Facts

Treat every entry in `{workflow.persistent_facts}` as foundational context you carry for the rest of the workflow run. Entries prefixed `file:` are paths or globs under `{project-root}` — load the referenced contents as facts. All other entries are facts verbatim.

Step 4: Load Config

Run: `uv run {project-root}/_bmad/scripts/resolve_config.py --project-root {project-root} --key core.project_name --key modules.bmm.implementation_artifacts --key modules.bmm.planning_artifacts --key modules.bmm.project_knowledge`

  • `date` as system-generated current datetime
  • YOU MUST ALWAYS SPEAK OUTPUT in your Agent communication style
  • DOCUMENT OUTPUT: Updated epics, stories, or PRD sections. Clear, actionable changes.

Step 5: Greet the User

Greet the user.

Step 6: Execute Append Steps

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. Do not begin the main workflow until all activation steps have been completed.

Paths

  • `default_output_file` = `{planning_artifacts}/sprint-change-proposal-{date}.md`

Input Files

| Input | Path | Load Strategy | |-------|------|---------------| | PRD | `{planning_artifacts}/*prd*.md` (whole) or `{planning_artifacts}/*prd*/*.md` (sharded) | FULL_LOAD | | Epics | `{planning_artifacts}/*epic*.md` (whole) or `{planning_artifacts}/*epic*/*.md` (sharded) | FULL_LOAD | | Architecture | `{planning_artifacts}/*architecture*.md` (whole) or `{planning_artifacts}/*architecture*/*.md` (sharded) | FULL_LOAD | | UX Design | `{planning_artifacts}/*ux*.md` (whole) or `{planning_artifacts}/*ux*/*.md` (sharded) | FULL_LOAD | | Spec | `{planning_artifacts}/*spec-*.md` (whole) | FULL_LOAD | | Project Context | `AGENTS.md` in the affected repo (the `bmad:context` block) | FULL_LOAD |

Execution

Document Discovery - Loading Project Artifacts

**Strategy**: Course correction needs broad project context to assess change impact accurately. Load all available planning artifacts.

**Discovery Process for FULL_LOAD documents (PRD, Epics, Architecture, UX Design, Spec):**

1. **Search for whole document first** - Look for files matching the whole-document pattern (e.g., `*prd*.md`, `*epic*.md`, `*architecture*.md`, `*ux*.md`, `*spec-*.md`) 2. **Check for sharded version** - If whole document not found, look for a directory with `index.md` (e.g., `prd/index.md`, `epics/index.md`) 3. **If sharded version found**:

  • Read `index.md` to understand the document structure
  • Read ALL section files listed in the index
  • Process the combined content as a single document

4. **Priority**: If both whole and sharded versions exist, use the whole document

**Discovery Process for Project Context:**

1. **Read `AGENTS.md`** in the repo the change affects — the block between the `bmad:context` markers carries the policy, frozen paths, and conventions a course correction must respect. 2. **Follow only the pointers that relate to the impacted areas** — nested component files or linked rule files listed under "Where things are". Do not load them all. 3. **This document is optional** — skip if the repo has no `AGENTS.md` (greenfield projects).

**Fuzzy matching**: Be flexible with document names — users may use variations like `prd.md`, `bmm-prd.md`, `product-requirements.md`, etc.

**Missing documents**: Not all documents may exist. PRD and Epics are essential; Architecture, UX Design, Spec, and Document Project are loaded if available. HALT if PRD or Epics cannot be found.

<workflow>

<step n="1" goal="Initialize Change Navigation"> <action>Confirm change trigger and gather user description of the issue</action> <action>Ask: "What specific issue or change has been identified that requires navigation?"</action> <action>Verify access to project documents:</action>

  • PRD (Product Requirements Document) — required
  • Current Epics and Stories — required
  • Architecture documen
Read more
Ships withbmad-method

Breakthrough Method for Agile Ai Driven Development

Get the whole plugin
Stats
52,950
Stars
5,984
Forks
Active
Maintenance
Python
Language
1d ago
Last commit
1y ago
Created
13d ago
Added

Repo: bmad-code-org/bmad-method

Other skills on bmad-method.