SKILL.md
Full skill instructions
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 (wherecustomize.tomllives).{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:
{skill-root}/customize.toml— defaults{project-root}/_bmad/custom/{skill-name}.toml— team overrides{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
dateas 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):
- 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) - Check for sharded version - If whole document not found, look for a directory with
index.md(e.g.,prd/index.md,epics/index.md) - If sharded version found:
- Read
index.mdto understand the document structure - Read ALL section files listed in the index
- Process the combined content as a single document
- Read
- Priority: If both whole and sharded versions exist, use the whole document
Discovery Process for Project Context:
- Read
AGENTS.mdin the repo the change affects — the block between thebmad:contextmarkers carries the policy, frozen paths, and conventions a course correction must respect. - 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.
- 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 documentation — optional, load if available - UI/UX specifications — optional, load if available <action>Ask user for mode preference:</action> - **Incremental** (recommended): Refine each edit collaboratively - **Batch**: Present all changes at once for review <action>Store mode selection for use throughout workflow</action><action if="change trigger is unclear">HALT: "Cannot navigate change without clear understanding of the triggering issue. Please provide specific details about what needs to change and why."</action>
<action if="PRD or Epics are unavailable">HALT: "Need access to PRD and Epics to assess change impact. Please ensure these documents are accessible. Architecture and UI/UX will be used if available."</action> </step>
<step n="2" goal="Execute Change Analysis Checklist"> <action>Read fully and follow the systematic analysis from: checklist.md</action> <action>Work through each checklist section interactively with the user</action> <action>Record status for each checklist item:</action> - [x] Done - Item completed successfully - [N/A] Skip - Item not applicable to this change - [!] Action-needed - Item requires attention or follow-up <action>Maintain running notes of findings and impacts discovered</action> <action>Present checklist progress after each major section</action><action if="checklist cannot be completed">Identify blocking issues and work with user to resolve before continuing</action> </step>
<step n="3" goal="Draft Specific Change Proposals"> <action>Based on checklist findings, create explicit edit proposals for each identified artifact</action><action>For Story changes:</action>
-
Show old → new text format
-
Include story ID and section being modified
-
Provide rationale for each change
-
Example format:
Story: [STORY-123] User Authentication Section: Acceptance Criteria OLD: - User can log in with email/password NEW: - User can log in with email/password - User can enable 2FA via authenticator app Rationale: Security requirement identified during implementation
<action>For PRD modifications:</action>
- Specify exact sections to update
- Show current content and proposed changes
- Explain impact on MVP scope and requirements
<action>For Architecture changes:</action>
- Identify affected components, patterns, or technology choices
- Describe diagram updates needed
- Note any ripple effects on other components
<action>For UI/UX specification updates:</action>
- Reference specific screens or components
- Show wireframe or flow changes needed
- Connect changes to user experience impact
<action if="mode is Batch">Collect all edit proposals and present together at end of step</action>
</step> <step n="4" goal="Generate Sprint Change Proposal"> <action>Compile comprehensive Sprint Change Proposal document with following sections:</action><action>Section 1: Issue Summary</action>
- Clear problem statement describing what triggered the change
- Context about when/how the issue was discovered
- Evidence or examples demonstrating the issue
<action>Section 2: Impact Analysis</action>
- Epic Impact: Which epics are affected and how
- Story Impact: Current and future stories requiring changes
- Artifact Conflicts: PRD, Architecture, UI/UX documents needing updates
- Technical Impact: Code, infrastructure, or deployment implications
<action>Section 3: Recommended Approach</action>
- Present chosen path forward from checklist evaluation:
- Direct Adjustment: Modify/add stories within existing plan
- Potential Rollback: Revert completed work to simplify resolution
- MVP Review: Reduce scope or modify goals
- Provide clear rationale for recommendation
- Include effort estimate, risk assessment, and timeline impact
<action>Section 4: Detailed Change Proposals</action>
- Include all refined edit proposals from Step 3
- Group by artifact type (Stories, PRD, Architecture, UI/UX)
- Ensure each change includes before/after and justification
<action>Section 5: Implementation Handoff</action>
- Categorize change scope:
- Minor: Direct implementation by Developer agent
- Moderate: Backlog reorganization needed (PO/DEV)
- Major: Fundamental replan required (PM/Architect)
- Specify handoff recipients and their responsibilities
- Define success criteria for implementation
<action>Present complete Sprint Change Proposal to user</action> <action>Write Sprint Change Proposal document to {default_output_file}</action> <action>HALT and give the user a choice:
- Continue — proceed to approval
- Edit — revise the proposal first </action>
<action>If the user chooses Edit, revise the proposal with them and write the updated document before continuing.</action> </step>
<step n="5" goal="Finalize and Route for Implementation"> <action>Get explicit user approval for complete proposal</action> <ask>Do you approve this Sprint Change Proposal for implementation? (yes/no/revise)</ask> <check if="no or revise"> <action>Gather specific feedback on what needs adjustment</action> <action>Return to appropriate step to address concerns</action> <goto step="3">If changes needed to edit proposals</goto> <goto step="4">If changes needed to overall proposal structure</goto> </check> <check if="yes the proposal is approved by the user"> <action>Finalize Sprint Change Proposal document</action> <action>Determine change scope classification:</action>- Minor: Can be implemented directly by Developer agent
- Moderate: Requires backlog reorganization and PO/DEV coordination
- Major: Needs fundamental replan with PM/Architect involvement
<action>Provide appropriate handoff based on scope:</action>
</check> <check if="Minor scope"> <action>Route to: Developer agent for direct implementation</action> <action>Deliverables: Finalized edit proposals and implementation tasks</action> </check> <check if="Moderate scope"> <action>Route to: Product Owner / Developer agents</action> <action>Deliverables: Sprint Change Proposal + backlog reorganization plan</action> </check> <check if="Major scope"> <action>Route to: Product Manager / Solution Architect</action> <action>Deliverables: Complete Sprint Change Proposal + escalation notice</action><action>Confirm handoff completion and next steps with user</action> <action>Document handoff in workflow execution log</action> </check>
</step> <step n="6" goal="Workflow Completion"> <action>Summarize workflow execution:</action> - Issue addressed: {{change_trigger}} - Change scope: {{scope_classification}} - Artifacts modified: {{list_of_artifacts}} - Routed to: {{handoff_recipients}}<action>Confirm all deliverables produced:</action>
- Sprint Change Proposal document
- Specific edit proposals with before/after
- Implementation handoff plan
<action>Report workflow completion to user: "Correct Course workflow complete!"</action>
<action>Remind user of success criteria and next steps for Developer agent</action>
<action>Run: uv run {project-root}/_bmad/scripts/resolve_customization.py --skill {skill-root} --project-root {project-root} --key workflow.on_complete — if the resolved value is non-empty, follow it as the final terminal instruction before exiting.</action>
</step>
