workflows added to sub items in plan project phase. updated single action checks to be ifs on the action.

This commit is contained in:
Brian Madison
2025-10-05 11:32:45 -05:00
parent aefe72fd60
commit 33d893bef2
26 changed files with 935 additions and 404 deletions

View File

@@ -6,37 +6,34 @@
<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 required project documents:</action>
- PRD (Product Requirements Document)
- Current Epics and Stories
- Architecture documentation
- UI/UX specifications
<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>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 required project documents:</action>
- PRD (Product Requirements Document)
- Current Epics and Stories
- Architecture documentation
- UI/UX specifications
<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>
<check>If change trigger is unclear:</check>
<action>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="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>
<check>If core documents are unavailable:</check>
<action>HALT: "Need access to project documents (PRD, Epics, Architecture, UI/UX) to assess change impact. Please ensure these documents are accessible."</action>
<action if="core documents are unavailable">HALT: "Need access to project documents (PRD, Epics, Architecture, UI/UX) to assess change impact. Please ensure these documents are accessible."</action>
</step>
<step n="2" goal="Execute Change Analysis Checklist">
<action>Load and execute the systematic analysis from: {project-root}/bmad/bmm/workflows/4-implementation/correct-course/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>Load and execute the systematic analysis from: {project-root}/bmad/bmm/workflows/4-implementation/correct-course/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>
<check>If checklist cannot be completed:</check>
<action>Identify blocking issues and work with user to resolve before continuing</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">
@@ -81,13 +78,14 @@
- Show wireframe or flow changes needed
- Connect changes to user experience impact
<check>If mode is Incremental:</check>
<action>Present each edit proposal individually</action>
<ask>Review and refine this change? Options: Approve [a], Edit [e], Skip [s]</ask>
<action>Iterate on each proposal based on user feedback</action>
<check if="mode is Incremental">
<action>Present each edit proposal individually</action>
<ask>Review and refine this change? Options: Approve [a], Edit [e], Skip [s]</ask>
<action>Iterate on each proposal based on user feedback</action>
</check>
<action if="mode is Batch">Collect all edit proposals and present together at end of step</action>
<check>If mode is Batch:</check>
<action>Collect all edit proposals and present together at end of step</action>
</step>
<step n="4" goal="Generate Sprint Change Proposal">
@@ -138,15 +136,17 @@
<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:</check>
<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 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>If yes:</check>
<action>Finalize Sprint Change Proposal document</action>
<action>Determine change scope classification:</action>
</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 development team
- **Moderate**: Requires backlog reorganization and PO/SM coordination
@@ -154,20 +154,26 @@
<action>Provide appropriate handoff based on scope:</action>
<check>If Minor scope:</check>
<action>Route to: Development team for direct implementation</action>
<action>Deliverables: Finalized edit proposals and implementation tasks</action>
</check>
<check>If Moderate scope:</check>
<action>Route to: Product Owner / Scrum Master agents</action>
<action>Deliverables: Sprint Change Proposal + backlog reorganization plan</action>
<check if="Minor scope">
<action>Route to: Development team for direct implementation</action>
<action>Deliverables: Finalized edit proposals and implementation tasks</action>
</check>
<check>If Major scope:</check>
<action>Route to: Product Manager / Solution Architect</action>
<action>Deliverables: Complete Sprint Change Proposal + escalation notice</action>
<check if="Moderate scope">
<action>Route to: Product Owner / Scrum Master 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">

View File

@@ -5,7 +5,7 @@
<critical>
FACILITATION NOTES:
- Bob (Scrum Master) facilitates this retrospective
- Scrum Master facilitates this retrospective
- Psychological safety is paramount - NO BLAME
- Focus on systems, processes, and learning
- Everyone contributes with specific examples preferred
@@ -20,40 +20,27 @@ FACILITATION NOTES:
<ask>Which epic has just been completed? (Enter epic number, e.g., "003" or auto-detect from highest completed story)</ask>
<check>If auto-detecting:</check>
<action>Check {output_folder}/stories/ for highest numbered completed story</action>
<action>Extract epic number from story file (e.g., "Epic: 003" section)</action>
<check if="auto-detecting">
<action>Check {output_folder}/stories/ for highest numbered completed story</action>
<action>Extract epic number from story file (e.g., "Epic: 003" section)</action>
</check>
<action>Load the completed epic from: {output_folder}/prd/epic-{{epic_number}}.md</action>
<action>Extract epic details:</action>
<action>Extract epic details:
- Epic title and goals
- Success criteria
- Planned stories and story points
- Estimated sprint duration
- Business objectives
</action>
<action>Find all stories for this epic in {output_folder}/stories/</action>
<action>For each story, extract:</action>
<action>For each story, extract: - Story number and title - Completion status - Story points (if tracked) - Actual completion date - Dev Agent Record notes - TEA Results and testing outcomes - PO Notes and acceptance - Blockers encountered and resolution - Technical debt incurred
</action>
- Story number and title
- Completion status
- Story points (if tracked)
- Actual completion date
- Dev Agent Record notes
- TEA Results and testing outcomes
- PO Notes and acceptance
- Blockers encountered and resolution
- Technical debt incurred
<action>Calculate epic metrics:</action>
- Completed stories vs. total planned
- Actual story points delivered vs. planned
- Actual sprints taken vs. estimated
- Velocity (points per sprint)
- Blocker count and resolution time
- Technical debt items logged
<action>Calculate epic metrics: - Completed stories vs. total planned - Actual story points delivered vs. planned - Actual sprints taken vs. estimated - Velocity (points per sprint) - Blocker count - Technical debt items logged
</action>
<action>Review epic goals and compare actual outcomes vs. planned</action>
<action>Note any scope changes or descoped items</action>
@@ -65,43 +52,48 @@ FACILITATION NOTES:
<action>Identify the next epic in sequence</action>
<action>Load next epic from: {output_folder}/prd/epic-{{next_epic_number}}.md</action>
<action>Analyze next epic for:</action>
<action if="next epic exists">
Analyze next epic for:
- Epic title and objectives
- Planned stories and complexity
- Dependencies on completed epic work
- New technical requirements or capabilities needed
- Potential risks or unknowns
</action>
- Epic title and objectives
- Planned stories and complexity
- Dependencies on completed epic work
- New technical requirements or capabilities needed
- Potential risks or unknowns
<action>Identify dependencies on completed work:</action>
<action>Identify dependencies on completed work:
- What components from Epic {{completed_number}} does Epic {{next_number}} rely on?
- Are all prerequisites complete and stable?
- Any incomplete work that creates blocking dependencies?
</action>
<action>Note potential gaps or preparation needed:</action>
<action>Note potential gaps or preparation needed:
- Technical setup required (infrastructure, tools, libraries)
- Knowledge gaps to fill (research, training, spikes)
- Refactoring needed before starting next epic
- Documentation or specifications to create
</action>
<action>Check for technical prerequisites:</action>
<action>Check for technical prerequisites:
- APIs or integrations that must be ready
- Data migrations or schema changes needed
- Testing infrastructure requirements
- Deployment or environment setup
</step>
</action>
</step>
<step n="3" goal="Initialize Retrospective with Context">
<action>Bob (Scrum Master) opens the retrospective with context</action>
<action>Present formatted retrospective header:</action>
<action>Scrum Master opens the retrospective with context</action>
<action>Present formatted retrospective header:
```
🔄 TEAM RETROSPECTIVE - Epic {{epic_number}}: {{epic_title}}
Bob (Scrum Master) facilitating
Scrum Master facilitating
═══════════════════════════════════════════════════════════
@@ -147,13 +139,14 @@ Focus Areas:
2. Preparing for Epic {{next_number}} success
```
<action>Load agent configurations from: {project-root}/bmad/\_cfg/agent-party.xml</action>
<action>Identify agents who participated in the completed epic based on story records</action>
<action>Ensure key roles present: Sarah (PO), Bob (SM), James (Dev), Murat (TEA), Winston (Architect), Mary (Analyst)</action>
</action>
<action>Load agent configurations from {agent-manifest}</action>
<action>Ensure key roles present from the {agent_manifest}: Product Owner, Scrum Master (facilitating the retro), Devs, Testing or QA, Architect, Analyst</action>
</step>
<step n="4" goal="Epic Review Discussion">
<action>Bob facilitates Part 1: Reviewing the completed epic</action>
<action>Scrum Master facilitates Part 1: Reviewing the completed epic</action>
<action>Each agent shares in their unique voice, referencing actual story data</action>
<action>Maintain psychological safety - focus on learning, not blame</action>
@@ -184,21 +177,16 @@ Focus Areas:
- Skills or knowledge gained
- Process improvements to implement
<action>Agent personality guidance:</action>
- **Sarah (PO)**: Business value delivery, stakeholder management, requirements clarity
- **Bob (SM)**: Process effectiveness, team dynamics, blocker removal, velocity trends
- **James (Dev)**: Technical execution, code quality, development experience, tooling
- **Murat (TEA)**: Quality outcomes, testing effectiveness, defect prevention, coverage
- **Winston (Architect)**: Architectural decisions, technical strategy, long-term sustainability
- **Mary (Analyst)**: Requirements accuracy, specification quality, edge case handling
<action>Agent personality guidance:
Each agent loaded from {agent_manifest} will interact with their role and personality and communication style best represented and simulated during discussions
</action>
<action>Encourage specific examples from story records, metrics, and real outcomes</action>
<action>Bob synthesizes common themes as discussion progresses</action>
<action>Scrum Master synthesizes common themes as discussion progresses</action>
</step>
<step n="5" goal="Next Epic Preparation Discussion">
<action>Bob facilitates Part 2: Preparing for the next epic</action>
<action>Scrum Master facilitates Part 2: Preparing for the next epic</action>
<action>Each agent addresses preparation needs from their domain</action>
<action>For each agent, present forward-looking analysis:</action>
@@ -232,12 +220,12 @@ Focus Areas:
</step>
<step n="6" goal="Synthesize Action Items">
<action>Bob identifies patterns across all agent feedback</action>
<action>Scrum Master identifies patterns across all agent feedback</action>
<action>Synthesizes common themes into team agreements</action>
<action>Creates specific, achievable action items with clear ownership</action>
<action>Develops preparation sprint tasks if significant setup needed</action>
<action>Present comprehensive action plan:</action>
<action>Present comprehensive action plan:
```
═══════════════════════════════════════════════════════════
@@ -295,49 +283,56 @@ Risk Mitigation:
- {{risk}}: {{mitigation_strategy}}
```
</action>
<action>Ensure every action item has clear owner and timeline</action>
<action>Prioritize preparation tasks by dependencies and criticality</action>
<action>Identify which tasks can run in parallel vs. sequential</action>
</step>
<step n="7" goal="Critical User Verification">
<action>Bob leads final verification checks before concluding retrospective</action>
<action>Scrum Master leads final verification checks before concluding retrospective</action>
<action>User must confirm readiness before next epic begins</action>
<ask>Let's verify Epic {{completed_number}} is truly complete. Please confirm each item:</ask>
**Testing Verification:**
<ask>Has full regression testing been completed for Epic {{completed_number}}? (yes/no/partial)</ask>
<check>If no or partial:</check>
<action>Add to Critical Path: Complete regression testing before Epic {{next_number}}</action>
<action if="no or partial">Add to Critical Path: Complete regression testing before Epic {{next_number}}</action>
**Deployment Status:**
<ask>Has Epic {{completed_number}} been deployed to production? (yes/no/scheduled)</ask>
<check>If no:</check>
<action>Add to Critical Path: Deploy Epic {{completed_number}} - scheduled for {{date}}</action>
<action if="no deployment to prod">Add to Critical Path: Deploy Epic {{completed_number}} - scheduled for {{date}}</action>
**Business Validation:**
<ask>Have stakeholders reviewed and accepted Epic {{completed_number}} deliverables? (yes/no/pending)</ask>
<check>If no or pending:</check>
<action>Add to Critical Path: Obtain stakeholder acceptance before Epic {{next_number}}</action>
<action if="no or pending deliverables">Add to Critical Path: Obtain stakeholder acceptance before Epic {{next_number}}</action>
**Technical Health:**
<ask>Is the codebase in a stable, maintainable state after Epic {{completed_number}}? (yes/no/concerns)</ask>
<check>If no or concerns:</check>
<action>Document concerns: {{user_input}}</action>
<action>Add to Preparation Sprint: Address stability concerns</action>
<check if="not stable or maintainable or concerns about codebase">
<action>Document concerns: {{user_input}}</action>
<action>Add to Preparation Sprint: Address stability concerns</action>
</check>
**Blocker Resolution:**
<ask>Are there any unresolved blockers from Epic {{completed_number}} that will impact Epic {{next_number}}? (yes/no)</ask>
<check>If yes:</check>
<action>Document blockers: {{user_input}}</action>
<action>Add to Critical Path with highest priority</action>
<action>Bob summarizes verification results and any critical items added</action>
<check if="yes unresolved blockers exist">
<action>Document blockers: {{user_input}}</action>
<action>Add to Critical Path with highest priority</action>
</check>
<action>Summarize the verification results and any critical items added</action>
</step>
<step n="8" goal="Retrospective Closure">
<action>Bob closes the retrospective with summary and next steps</action>
<action>Scrum Master closes the retrospective with summary and next steps</action>
<action>Present closure summary:</action>
@@ -365,7 +360,7 @@ Critical Path Items: {{critical_count}}
4. Begin Epic {{next_number}} planning when preparation complete
═══════════════════════════════════════════════════════════
Bob: "Great work team! We learned a lot from Epic {{completed_number}}.
Scrum Master: "Great work team! We learned a lot from Epic {{completed_number}}.
Let's use these insights to make Epic {{next_number}} even better.
See you at sprint planning once prep work is done!"
```
@@ -378,7 +373,7 @@ See you at sprint planning once prep work is done!"
</workflow>
<facilitation-guidelines>
<guideline>Bob maintains psychological safety throughout - no blame or judgment</guideline>
<guideline>Scrum Master maintains psychological safety throughout - no blame or judgment</guideline>
<guideline>Focus on systems and processes, not individual performance</guideline>
<guideline>Encourage specific examples over general statements</guideline>
<guideline>Balance celebration of wins with honest assessment of challenges</guideline>

View File

@@ -19,7 +19,7 @@ required_inputs:
- completed_epic: "The epic that was just completed"
- stories_folder: "{output_folder}/stories/"
- epics_folder: "{output_folder}/prd/"
- agent_party_config: "{project-root}/bmad/_cfg/agent-party.xml"
- agent_manifest: "{project-root}/bmad/_cfg/agent-manifest.csv"
output_artifacts:
- retrospective_summary: "Comprehensive review of what went well and what could improve"

View File

@@ -16,15 +16,15 @@
<action>Resolve {{story_path}} and read the COMPLETE file.</action>
<action>Extract {{epic_num}} and {{story_num}} from filename (e.g., story-2.3.*.md) and story metadata if available.</action>
<action>Parse sections: Status, Story, Acceptance Criteria, Tasks/Subtasks (and completion states), Dev Notes, Dev Agent Record (Context Reference, Completion Notes, File List), Change Log.</action>
<check>If Status is not one of {{allow_status_values}}HALT with message: "Story status must be 'Ready for Review' to proceed" (accept 'Review' as equivalent).</check>
<check>If story cannot be readHALT.</check>
<action if="Status is not one of {{allow_status_values}}">HALT with message: "Story status must be 'Ready for Review' to proceed" (accept 'Review' as equivalent).</action>
<action if="story cannot be read">HALT.</action>
</step>
<step n="2" goal="Resolve context and specification inputs">
<action>Locate Story Context: Under Dev Agent Record → Context Reference, read referenced path(s). If missing and {{auto_discover_context}}: search {{output_folder}} for files named "story-context-{{epic_num}}.{{story_num}}*.xml"; pick the most recent.</action>
<check>If no context foundContinue but record a WARNING in review notes: "No Story Context found".</check>
<action if="no context found">Continue but record a WARNING in review notes: "No Story Context found".</action>
<action>Locate Epic Tech Spec: If {{auto_discover_tech_spec}}, search {{tech_spec_search_dir}} with glob {{tech_spec_glob_template}} (resolve {{epic_num}}); else use provided input.</action>
<check>If no tech spec foundContinue but record a WARNING in review notes: "No Tech Spec found for epic {{epic_num}}".</check>
<action if="no tech spec found">Continue but record a WARNING in review notes: "No Tech Spec found for epic {{epic_num}}".</action>
<action>Load architecture/standards docs: For each file name in {{arch_docs_file_names}} within {{arch_docs_search_dirs}}, read if exists. Collect any testing, coding standards, security, and architectural patterns.</action>
</step>
@@ -40,12 +40,12 @@
<action>From Dev Agent Record → File List, compile list of changed/added files. If File List is missing or clearly incomplete, search repo for recent changes relevant to the story scope (heuristics: filenames matching components/services/routes/tests inferred from ACs/tasks).</action>
<action>Cross-check epic tech-spec requirements and architecture constraints against the implementation intent in files.</action>
<action>For each acceptance criterion, verify there is evidence of implementation and corresponding tests (unit/integration/E2E as applicable). Note any gaps explicitly.</action>
<check>If critical architecture constraints are violated (e.g., layering, dependency rules)flag as High severity finding.</check>
<action if="critical architecture constraints are violated (e.g., layering, dependency rules)">flag as High Severity finding.</action>
</step>
<step n="5" goal="Perform code quality and risk review">
<action>For each changed file, skim for common issues appropriate to the stack: error handling, input validation, logging, dependency injection, thread-safety/async correctness, resource cleanup, performance anti-patterns.</action>
<action>Perform security review: injection risks, authZ/authN handling, secret management, unsafe defaults, unvalidated redirects, CORS misconfig, dependency vulnerabilities (based on manifests).</action>
<action>Perform security review: injection risks, authZ/authN handling, secret management, unsafe defaults, un-validated redirects, CORS misconfigured, dependency vulnerabilities (based on manifests).</action>
<action>Check tests quality: assertions are meaningful, edge cases covered, deterministic behavior, proper fixtures, no flakiness patterns.</action>
<action>Capture concrete, actionable suggestions with severity (High/Med/Low) and rationale. When possible, suggest specific code-level changes (filenames + line ranges) without rewriting large sections.</action>
</step>
@@ -102,15 +102,15 @@
<action>Resolve {{story_path}} and read the COMPLETE file.</action>
<action>Extract {{epic_num}} and {{story_num}} from filename (e.g., story-2.3.*.md) and story metadata if available.</action>
<action>Parse sections: Status, Story, Acceptance Criteria, Tasks/Subtasks (and completion states), Dev Notes, Dev Agent Record (Context Reference, Completion Notes, File List), Change Log.</action>
<check>If Status is not one of {{allow_status_values}}HALT with message: "Story status must be 'Ready for Review' to proceed" (accept 'Review' as equivalent).</check>
<check>If story cannot be readHALT.</check>
<action if="Status is not one of {{allow_status_values}}">HALT with message: "Story status must be 'Ready for Review' to proceed" (accept 'Review' as equivalent).</action>
<action if="story cannot be read">HALT.</action>
</step>
<step n="2" goal="Resolve context and specification inputs">
<action>Locate Story Context: Under Dev Agent Record → Context Reference, read referenced path(s). If missing and {{auto_discover_context}}: search {{output_folder}} for files named "story-context-{{epic_num}}.{{story_num}}*.xml"; pick the most recent.</action>
<check>If no context foundContinue but record a WARNING in review notes: "No Story Context found".</check>
<action if="no context found">Continue but record a WARNING in review notes: "No Story Context found".</action>
<action>Locate Epic Tech Spec: If {{auto_discover_tech_spec}}, search {{tech_spec_search_dir}} with glob {{tech_spec_glob_template}} (resolve {{epic_num}}); else use provided input.</action>
<check>If no tech spec foundContinue but record a WARNING in review notes: "No Tech Spec found for epic {{epic_num}}".</check>
<action if="no tech spec found">Continue but record a WARNING in review notes: "No Tech Spec found for epic {{epic_num}}".</action>
<action>Load architecture/standards docs: For each file name in {{arch_docs_file_names}} within {{arch_docs_search_dirs}}, read if exists. Collect any testing, coding standards, security, and architectural patterns.</action>
</step>
@@ -126,7 +126,7 @@
<action>From Dev Agent Record → File List, compile list of changed/added files. If File List is missing or clearly incomplete, search repo for recent changes relevant to the story scope (heuristics: filenames matching components/services/routes/tests inferred from ACs/tasks).</action>
<action>Cross-check epic tech-spec requirements and architecture constraints against the implementation intent in files.</action>
<action>For each acceptance criterion, verify there is evidence of implementation and corresponding tests (unit/integration/E2E as applicable). Note any gaps explicitly.</action>
<check>If critical architecture constraints are violated (e.g., layering, dependency rules)flag as High severity finding.</check>
<action if="critical architecture constraints are violated (e.g., layering, dependency rules)">flag as High severity finding.</action>
</step>
<step n="5" goal="Perform code quality and risk review">