all workflows aware

This commit is contained in:
Brian Madison
2025-10-12 22:19:28 -05:00
parent 88989d5403
commit 36bf506241
18 changed files with 1488 additions and 68 deletions

View File

@@ -4,7 +4,35 @@
<workflow> <workflow>
<step n="1" goal="Load game brainstorming context and techniques"> <step n="1" goal="Check and load workflow status file">
<action>Search {output_folder}/ for files matching pattern: project-workflow-status*.md</action>
<action>Find the most recent file (by date in filename: project-workflow-status-YYYY-MM-DD.md)</action>
<check if="exists">
<action>Load the status file</action>
<action>Set status_file_found = true</action>
<action>Store status_file_path for later updates</action>
</check>
<check if="not exists">
<ask>**No workflow status file found.**
This workflow generates brainstorming ideas for game ideation (optional Phase 1 workflow).
Options:
1. Run workflow-status first to create the status file (recommended for progress tracking)
2. Continue in standalone mode (no progress tracking)
3. Exit
What would you like to do?</ask>
<action>If user chooses option 1 → HALT with message: "Please run workflow-status first, then return to brainstorm-game"</action>
<action>If user chooses option 2 → Set standalone_mode = true and continue</action>
<action>If user chooses option 3 → HALT</action>
</check>
</step>
<step n="2" goal="Load game brainstorming context and techniques">
<action>Read the game context document from: {game_context}</action> <action>Read the game context document from: {game_context}</action>
<action>This context provides game-specific guidance including: <action>This context provides game-specific guidance including:
- Focus areas for game ideation (mechanics, narrative, experience, etc.) - Focus areas for game ideation (mechanics, narrative, experience, etc.)
@@ -22,7 +50,7 @@
</action> </action>
</step> </step>
<step n="2" goal="Invoke CIS brainstorming with game context"> <step n="3" goal="Invoke CIS brainstorming with game context">
<action>Execute the CIS brainstorming workflow with game context and additional techniques</action> <action>Execute the CIS brainstorming workflow with game context and additional techniques</action>
<invoke-workflow path="{core_brainstorming}" data="{game_context}" techniques="{game_brain_methods}"> <invoke-workflow path="{core_brainstorming}" data="{game_context}" techniques="{game_brain_methods}">
The CIS brainstorming workflow will: The CIS brainstorming workflow will:
@@ -34,10 +62,68 @@
</invoke-workflow> </invoke-workflow>
</step> </step>
<step n="3" goal="Completion"> <step n="4" goal="Update status file on completion">
<action>Confirm brainstorming session completed successfully</action> <action>Search {output_folder}/ for files matching pattern: project-workflow-status*.md</action>
<action>Brainstorming results saved by CIS workflow</action> <action>Find the most recent file (by date in filename)</action>
<action>Report workflow completion</action>
<check if="status file exists">
<action>Load the status file</action>
<template-output file="{{status_file_path}}">current_step</template-output>
<action>Set to: "brainstorm-game"</action>
<template-output file="{{status_file_path}}">current_workflow</template-output>
<action>Set to: "brainstorm-game - Complete"</action>
<template-output file="{{status_file_path}}">progress_percentage</template-output>
<action>Increment by: 5% (optional Phase 1 workflow)</action>
<template-output file="{{status_file_path}}">decisions_log</template-output>
<action>Add entry:</action>
```
- **{{date}}**: Completed brainstorm-game workflow. Generated game brainstorming session results saved to {output_folder}/brainstorming-session-results-{{date}}.md. Next: Review game ideas and consider running research or game-brief workflows.
```
<output>**✅ Game Brainstorming Session Complete**
**Session Results:**
- Game brainstorming results saved to: {output_folder}/brainstorming-session-results-{{date}}.md
**Status file updated:**
- Current step: brainstorm-game ✓
- Progress: {{new_progress_percentage}}%
**Next Steps:**
1. Review game brainstorming results
2. Consider running:
- `research` workflow for market/game research
- `game-brief` workflow to formalize game vision
- Or proceed directly to `plan-project` if ready
Check status anytime with: `workflow-status`
</output>
</check>
<check if="status file not found">
<output>**✅ Game Brainstorming Session Complete**
**Session Results:**
- Game brainstorming results saved to: {output_folder}/brainstorming-session-results-{{date}}.md
Note: Running in standalone mode (no status file).
To track progress across workflows, run `workflow-status` first.
**Next Steps:**
1. Review game brainstorming results
2. Run research or game-brief workflows
</output>
</check>
</step> </step>
</workflow> </workflow>

View File

@@ -1,13 +1,40 @@
# Brainstorm Project - Workflow Instructions # Brainstorm Project - Workflow Instructions
```xml ````xml
<critical>The workflow execution engine is governed by: {project_root}/bmad/core/tasks/workflow.xml</critical> <critical>The workflow execution engine is governed by: {project_root}/bmad/core/tasks/workflow.xml</critical>
<critical>You MUST have already loaded and processed: {installed_path}/workflow.yaml</critical> <critical>You MUST have already loaded and processed: {installed_path}/workflow.yaml</critical>
<critical>This is a meta-workflow that orchestrates the CIS brainstorming workflow with project-specific context</critical> <critical>This is a meta-workflow that orchestrates the CIS brainstorming workflow with project-specific context</critical>
<workflow> <workflow>
<step n="1" goal="Load project brainstorming context"> <step n="1" goal="Check and load workflow status file">
<action>Search {output_folder}/ for files matching pattern: project-workflow-status*.md</action>
<action>Find the most recent file (by date in filename: project-workflow-status-YYYY-MM-DD.md)</action>
<check if="exists">
<action>Load the status file</action>
<action>Set status_file_found = true</action>
<action>Store status_file_path for later updates</action>
</check>
<check if="not exists">
<ask>**No workflow status file found.**
This workflow generates brainstorming ideas for project ideation (optional Phase 1 workflow).
Options:
1. Run workflow-status first to create the status file (recommended for progress tracking)
2. Continue in standalone mode (no progress tracking)
3. Exit
What would you like to do?</ask>
<action>If user chooses option 1 → HALT with message: "Please run workflow-status first, then return to brainstorm-project"</action>
<action>If user chooses option 2 → Set standalone_mode = true and continue</action>
<action>If user chooses option 3 → HALT</action>
</check>
</step>
<step n="2" goal="Load project brainstorming context">
<action>Read the project context document from: {project_context}</action> <action>Read the project context document from: {project_context}</action>
<action>This context provides project-specific guidance including: <action>This context provides project-specific guidance including:
- Focus areas for project ideation - Focus areas for project ideation
@@ -17,7 +44,7 @@
</action> </action>
</step> </step>
<step n="2" goal="Invoke core brainstorming with project context"> <step n="3" goal="Invoke core brainstorming with project context">
<action>Execute the CIS brainstorming workflow with project context</action> <action>Execute the CIS brainstorming workflow with project context</action>
<invoke-workflow path="{core_brainstorming}" data="{project_context}"> <invoke-workflow path="{core_brainstorming}" data="{project_context}">
The CIS brainstorming workflow will: The CIS brainstorming workflow will:
@@ -28,11 +55,64 @@
</invoke-workflow> </invoke-workflow>
</step> </step>
<step n="3" goal="Completion"> <step n="4" goal="Update status file on completion">
<action>Confirm brainstorming session completed successfully</action> <action>Search {output_folder}/ for files matching pattern: project-workflow-status*.md</action>
<action>Brainstorming results saved by CIS workflow</action> <action>Find the most recent file (by date in filename)</action>
<action>Report workflow completion</action>
<check if="status file exists">
<action>Load the status file</action>
<template-output file="{{status_file_path}}">current_step</template-output>
<action>Set to: "brainstorm-project"</action>
<template-output file="{{status_file_path}}">current_workflow</template-output>
<action>Set to: "brainstorm-project - Complete"</action>
<template-output file="{{status_file_path}}">progress_percentage</template-output>
<action>Increment by: 5% (optional Phase 1 workflow)</action>
<template-output file="{{status_file_path}}">decisions_log</template-output>
<action>Add entry:</action>
```
- **{{date}}**: Completed brainstorm-project workflow. Generated brainstorming session results saved to {output_folder}/brainstorming-session-results-{{date}}.md. Next: Review ideas and consider running research or product-brief workflows.
```
<output>**✅ Brainstorming Session Complete**
**Session Results:**
- Brainstorming results saved to: {output_folder}/brainstorming-session-results-{{date}}.md
**Status file updated:**
- Current step: brainstorm-project ✓
- Progress: {{new_progress_percentage}}%
**Next Steps:**
1. Review brainstorming results
2. Consider running:
- `research` workflow for market/technical research
- `product-brief` workflow to formalize product vision
- Or proceed directly to `plan-project` if ready
Check status anytime with: `workflow-status`
</output>
</check>
<check if="status file not found">
<output>**✅ Brainstorming Session Complete**
**Session Results:**
- Brainstorming results saved to: {output_folder}/brainstorming-session-results-{{date}}.md
Note: Running in standalone mode (no status file).
To track progress across workflows, run `workflow-status` first.
**Next Steps:**
1. Review brainstorming results
2. Run research or product-brief workflows
</output>
</check>
</step> </step>
</workflow> </workflow>
``` ````

View File

@@ -6,7 +6,91 @@
<critical>You MUST have already loaded and processed: {project-root}/bmad/bmm/workflows/document-project/workflow.yaml</critical> <critical>You MUST have already loaded and processed: {project-root}/bmad/bmm/workflows/document-project/workflow.yaml</critical>
<critical>This router determines workflow mode and delegates to specialized sub-workflows</critical> <critical>This router determines workflow mode and delegates to specialized sub-workflows</critical>
<step n="0" goal="Check for resumability and determine workflow mode"> <step n="1" goal="Check and load workflow status file">
<action>Search {output_folder}/ for files matching pattern: project-workflow-status\*.md</action>
<action>Find the most recent file (by date in filename: project-workflow-status-YYYY-MM-DD.md)</action>
<check if="exists">
<action>Load the status file</action>
<action>Extract key information:</action>
- current_step: From "Current Step:" field
- next_step: From "Next Step:" field
- planned_workflow: From "Planned Workflow Journey" table
- progress_percentage: From "Overall Progress:" field
- current_phase: From "Current Phase:" field
- field_type: From "Greenfield/Brownfield:" field
<action>Validate this workflow is in the planned workflow</action>
<action>Set status_file_path = file path</action>
<action>Set status_file_found = true</action>
<check if='next_step != "document-project"'>
<ask>**⚠️ Workflow Sequence Note**
According to your status file, your next planned step is: **{{next_step}}**
But you're running: **document-project**
This is expected if plan-project invoked this workflow automatically for brownfield documentation.
Options:
1. **Continue** - Run document-project (status will be updated)
2. **Exit** - I'll follow the planned sequence instead
Your choice (1-2):</ask>
<check if='choice == "2"'>
<output>**Recommended Next Step:**
Run: {{next_step}}
You can return to document-project later if needed.
</output>
<action>Exit workflow</action>
</check>
</check>
</check>
<check if="not exists">
<ask>** No Workflow Status File Found**
This workflow works best with a workflow status file for progress tracking.
Options:
1. **Run workflow-status first** - Create status file and plan workflow (recommended)
2. **Continue anyway** - Run document-project standalone
3. **Exit** - I'll set up the workflow first
Your choice (1-3):</ask>
<check if='choice == "1"'>
<output>**To create status file:**
Load any agent and run: `workflow-status`
After planning your workflow, you can return here or follow the planned sequence.
</output>
<action>Exit workflow</action>
</check>
<check if='choice == "2"'>
<action>Set status_file_found = false</action>
<action>Set standalone_mode = true</action>
<action>Continue without status file integration</action>
</check>
<check if='choice == "3"'>
<action>Exit workflow</action>
</check>
</check>
</step>
<step n="2" goal="Check for resumability and determine workflow mode">
<critical>SMART LOADING STRATEGY: Check state file FIRST before loading any CSV files</critical> <critical>SMART LOADING STRATEGY: Check state file FIRST before loading any CSV files</critical>
<action>Check for existing state file at: {output_folder}/project-scan-report.json</action> <action>Check for existing state file at: {output_folder}/project-scan-report.json</action>
@@ -80,7 +164,7 @@ Your choice [1/2/3]:
</step> </step>
<step n="0.5" goal="Check for existing documentation and determine workflow mode" if="resume_mode == false"> <step n="3" goal="Check for existing documentation and determine workflow mode" if="resume_mode == false">
<action>Check if {output_folder}/index.md exists</action> <action>Check if {output_folder}/index.md exists</action>
<check if="index.md exists"> <check if="index.md exists">
@@ -102,6 +186,7 @@ Your choice [1/2/3]:
<action>Set workflow_mode = "full_rescan"</action> <action>Set workflow_mode = "full_rescan"</action>
<action>Display: "Starting full project rescan..."</action> <action>Display: "Starting full project rescan..."</action>
<action>Load and execute: {installed_path}/workflows/full-scan-instructions.md</action> <action>Load and execute: {installed_path}/workflows/full-scan-instructions.md</action>
<action>After sub-workflow completes, continue to Step 4</action>
</check> </check>
<check if="user selects 2"> <check if="user selects 2">
@@ -109,6 +194,7 @@ Your choice [1/2/3]:
<action>Set scan_level = "exhaustive"</action> <action>Set scan_level = "exhaustive"</action>
<action>Display: "Starting deep-dive documentation mode..."</action> <action>Display: "Starting deep-dive documentation mode..."</action>
<action>Load and execute: {installed_path}/workflows/deep-dive-instructions.md</action> <action>Load and execute: {installed_path}/workflows/deep-dive-instructions.md</action>
<action>After sub-workflow completes, continue to Step 4</action>
</check> </check>
<check if="user selects 3"> <check if="user selects 3">
@@ -121,6 +207,74 @@ Your choice [1/2/3]:
<action>Set workflow_mode = "initial_scan"</action> <action>Set workflow_mode = "initial_scan"</action>
<action>Display: "No existing documentation found. Starting initial project scan..."</action> <action>Display: "No existing documentation found. Starting initial project scan..."</action>
<action>Load and execute: {installed_path}/workflows/full-scan-instructions.md</action> <action>Load and execute: {installed_path}/workflows/full-scan-instructions.md</action>
<action>After sub-workflow completes, continue to Step 4</action>
</check>
</step>
<step n="4" goal="Update status file on completion">
<check if="status_file_found == true">
<action>Load the status file from {{status_file_path}}</action>
<template-output file="{{status_file_path}}">planned_workflow</template-output>
<action>Find "document-project" in the planned_workflow table</action>
<action>Update Status field from "Planned" or "In Progress" to "Complete"</action>
<template-output file="{{status_file_path}}">current_step</template-output>
<action>Set to: "document-project"</action>
<template-output file="{{status_file_path}}">next_step</template-output>
<action>Find next item with Status != "Complete" in planned_workflow table</action>
<action>Set to: "{{next_workflow_step}} ({{next_workflow_agent}} agent)"</action>
<template-output file="{{status_file_path}}">progress_percentage</template-output>
<action>Increment by: 10%</action>
<template-output file="{{status_file_path}}">current_workflow</template-output>
<action>Set to: "document-project - Complete"</action>
<template-output file="{{status_file_path}}">decisions_log</template-output>
<action>Add entry:</action>
```
- **{{date}}**: Completed document-project workflow ({{workflow_mode}} mode, {{scan_level}} scan). Generated brownfield documentation in {output_folder}/. Next: {{next_step}}.
```
<output>**✅ Document Project Workflow Complete**
**Documentation Generated:**
- Mode: {{workflow_mode}}
- Scan Level: {{scan_level}}
- Output: {output_folder}/index.md and related files
**Status file updated:**
- Current step: document-project ✓
- Next step: {{next_step}}
- Progress: {{new_progress_percentage}}%
**To proceed:**
Load {{next_agent}} and run: `{{next_command}}`
Or check status anytime with: `workflow-status`
</output>
</check>
<check if="standalone_mode == true">
<output>**✅ Document Project Workflow Complete**
**Documentation Generated:**
- Mode: {{workflow_mode}}
- Scan Level: {{scan_level}}
- Output: {output_folder}/index.md and related files
Note: Running in standalone mode (no status file).
To track progress across workflows, run `workflow-status` first next time.
</output>
</check> </check>
</step> </step>

View File

@@ -5,7 +5,35 @@
<workflow> <workflow>
<step n="0" goal="Initialize game brief session"> <step n="0" goal="Check and load workflow status file">
<action>Search {output_folder}/ for files matching pattern: project-workflow-status*.md</action>
<action>Find the most recent file (by date in filename: project-workflow-status-YYYY-MM-DD.md)</action>
<check if="exists">
<action>Load the status file</action>
<action>Set status_file_found = true</action>
<action>Store status_file_path for later updates</action>
</check>
<check if="not exists">
<ask>**No workflow status file found.**
This workflow creates a Game Brief document (optional Phase 1 workflow).
Options:
1. Run workflow-status first to create the status file (recommended for progress tracking)
2. Continue in standalone mode (no progress tracking)
3. Exit
What would you like to do?</ask>
<action>If user chooses option 1 → HALT with message: "Please run workflow-status first, then return to game-brief"</action>
<action>If user chooses option 2 → Set standalone_mode = true and continue</action>
<action>If user chooses option 3 → HALT</action>
</check>
</step>
<step n="1" goal="Initialize game brief session">
<action>Welcome the user to the Game Brief creation process</action> <action>Welcome the user to the Game Brief creation process</action>
<action>Explain this is a collaborative process to define their game vision</action> <action>Explain this is a collaborative process to define their game vision</action>
<ask>What is the working title for your game?</ask> <ask>What is the working title for your game?</ask>
@@ -514,4 +542,68 @@ This brief will serve as the primary input for creating the Game Design Document
<template-output>final_brief</template-output> <template-output>final_brief</template-output>
</step> </step>
<step n="16" goal="Update status file on completion">
<action>Search {output_folder}/ for files matching pattern: project-workflow-status*.md</action>
<action>Find the most recent file (by date in filename)</action>
<check if="status file exists">
<action>Load the status file</action>
<template-output file="{{status_file_path}}">current_step</template-output>
<action>Set to: "game-brief"</action>
<template-output file="{{status_file_path}}">current_workflow</template-output>
<action>Set to: "game-brief - Complete"</action>
<template-output file="{{status_file_path}}">progress_percentage</template-output>
<action>Increment by: 10% (optional Phase 1 workflow)</action>
<template-output file="{{status_file_path}}">decisions_log</template-output>
<action>Add entry:</action>
```
- **{{date}}**: Completed game-brief workflow. Game brief document generated and saved. Next: Proceed to plan-project workflow to create Game Design Document (GDD).
```
<output>**✅ Game Brief Complete**
**Brief Document:**
- Game brief saved and ready for GDD creation
**Status file updated:**
- Current step: game-brief ✓
- Progress: {{new_progress_percentage}}%
**Next Steps:**
1. Review the game brief document
2. Consider creating a prototype of core mechanic
3. Run `plan-project` workflow to create GDD from this brief
4. Validate assumptions with target players
Check status anytime with: `workflow-status`
</output>
</check>
<check if="status file not found">
<output>**✅ Game Brief Complete**
**Brief Document:**
- Game brief saved and ready for GDD creation
Note: Running in standalone mode (no status file).
To track progress across workflows, run `workflow-status` first.
**Next Steps:**
1. Review the game brief document
2. Run `plan-project` workflow to create GDD
</output>
</check>
</step>
</workflow> </workflow>

View File

@@ -5,7 +5,35 @@
<workflow> <workflow>
<step n="0" goal="Initialize product brief session"> <step n="0" goal="Check and load workflow status file">
<action>Search {output_folder}/ for files matching pattern: project-workflow-status*.md</action>
<action>Find the most recent file (by date in filename: project-workflow-status-YYYY-MM-DD.md)</action>
<check if="exists">
<action>Load the status file</action>
<action>Set status_file_found = true</action>
<action>Store status_file_path for later updates</action>
</check>
<check if="not exists">
<ask>**No workflow status file found.**
This workflow creates a Product Brief document (optional Phase 1 workflow).
Options:
1. Run workflow-status first to create the status file (recommended for progress tracking)
2. Continue in standalone mode (no progress tracking)
3. Exit
What would you like to do?</ask>
<action>If user chooses option 1 → HALT with message: "Please run workflow-status first, then return to product-brief"</action>
<action>If user chooses option 2 → Set standalone_mode = true and continue</action>
<action>If user chooses option 3 → HALT</action>
</check>
</step>
<step n="1" goal="Initialize product brief session">
<action>Welcome the user to the Product Brief creation process</action> <action>Welcome the user to the Product Brief creation process</action>
<action>Explain this is a collaborative process to define their product vision</action> <action>Explain this is a collaborative process to define their product vision</action>
<ask>Ask the user to provide the project name for this product brief</ask> <ask>Ask the user to provide the project name for this product brief</ask>
@@ -350,4 +378,67 @@ This brief will serve as the primary input for creating the Product Requirements
<template-output>final_brief</template-output> <template-output>final_brief</template-output>
</step> </step>
<step n="16" goal="Update status file on completion">
<action>Search {output_folder}/ for files matching pattern: project-workflow-status*.md</action>
<action>Find the most recent file (by date in filename)</action>
<check if="status file exists">
<action>Load the status file</action>
<template-output file="{{status_file_path}}">current_step</template-output>
<action>Set to: "product-brief"</action>
<template-output file="{{status_file_path}}">current_workflow</template-output>
<action>Set to: "product-brief - Complete"</action>
<template-output file="{{status_file_path}}">progress_percentage</template-output>
<action>Increment by: 10% (optional Phase 1 workflow)</action>
<template-output file="{{status_file_path}}">decisions_log</template-output>
<action>Add entry:</action>
```
- **{{date}}**: Completed product-brief workflow. Product brief document generated and saved. Next: Proceed to plan-project workflow to create Product Requirements Document (PRD).
```
<output>**✅ Product Brief Complete**
**Brief Document:**
- Product brief saved and ready for handoff
**Status file updated:**
- Current step: product-brief ✓
- Progress: {{new_progress_percentage}}%
**Next Steps:**
1. Review the product brief document
2. Gather any additional stakeholder input
3. Run `plan-project` workflow to create PRD from this brief
Check status anytime with: `workflow-status`
</output>
</check>
<check if="status file not found">
<output>**✅ Product Brief Complete**
**Brief Document:**
- Product brief saved and ready for handoff
Note: Running in standalone mode (no status file).
To track progress across workflows, run `workflow-status` first.
**Next Steps:**
1. Review the product brief document
2. Run `plan-project` workflow to create PRD
</output>
</check>
</step>
</workflow> </workflow>

View File

@@ -374,4 +374,66 @@ Select option (1-4):</ask>
</step> </step>
<step n="FINAL" goal="Update status file on completion">
<action>Search {output_folder}/ for files matching pattern: project-workflow-status*.md</action>
<action>Find the most recent file (by date in filename)</action>
<check if="status file exists">
<action>Load the status file</action>
<template-output file="{{status_file_path}}">current_step</template-output>
<action>Set to: "research (deep-prompt)"</action>
<template-output file="{{status_file_path}}">current_workflow</template-output>
<action>Set to: "research (deep-prompt) - Complete"</action>
<template-output file="{{status_file_path}}">progress_percentage</template-output>
<action>Increment by: 5% (optional Phase 1 workflow)</action>
<template-output file="{{status_file_path}}">decisions_log</template-output>
<action>Add entry:</action>
```
- **{{date}}**: Completed research workflow (deep-prompt mode). Research prompt generated and saved. Next: Execute prompt with AI platform or continue with plan-project workflow.
```
<output>**✅ Deep Research Prompt Generated**
**Research Prompt:**
- Structured research prompt generated and saved
- Ready to execute with ChatGPT, Claude, Gemini, or Grok
**Status file updated:**
- Current step: research (deep-prompt) ✓
- Progress: {{new_progress_percentage}}%
**Next Steps:**
1. Execute the research prompt with your chosen AI platform
2. Gather and analyze findings
3. Run `plan-project` to incorporate findings
Check status anytime with: `workflow-status`
</output>
</check>
<check if="status file not found">
<output>**✅ Deep Research Prompt Generated**
**Research Prompt:**
- Structured research prompt generated and saved
Note: Running in standalone mode (no status file).
**Next Steps:**
1. Execute the research prompt with AI platform
2. Run plan-project workflow
</output>
</check>
</step>
</workflow> </workflow>

View File

@@ -554,4 +554,69 @@ Create compelling executive summary with:
</step> </step>
<step n="14" goal="Update status file on completion">
<action>Search {output_folder}/ for files matching pattern: project-workflow-status*.md</action>
<action>Find the most recent file (by date in filename)</action>
<check if="status file exists">
<action>Load the status file</action>
<template-output file="{{status_file_path}}">current_step</template-output>
<action>Set to: "research ({{research_mode}})"</action>
<template-output file="{{status_file_path}}">current_workflow</template-output>
<action>Set to: "research ({{research_mode}}) - Complete"</action>
<template-output file="{{status_file_path}}">progress_percentage</template-output>
<action>Increment by: 5% (optional Phase 1 workflow)</action>
<template-output file="{{status_file_path}}">decisions_log</template-output>
<action>Add entry:</action>
```
- **{{date}}**: Completed research workflow ({{research_mode}} mode). Research report generated and saved. Next: Review findings and consider product-brief or plan-project workflows.
```
<output>**✅ Research Complete ({{research_mode}} mode)**
**Research Report:**
- Research report generated and saved
**Status file updated:**
- Current step: research ({{research_mode}}) ✓
- Progress: {{new_progress_percentage}}%
**Next Steps:**
1. Review research findings
2. Share with stakeholders
3. Consider running:
- `product-brief` or `game-brief` to formalize vision
- `plan-project` if ready to create PRD/GDD
Check status anytime with: `workflow-status`
</output>
</check>
<check if="status file not found">
<output>**✅ Research Complete ({{research_mode}} mode)**
**Research Report:**
- Research report generated and saved
Note: Running in standalone mode (no status file).
To track progress across workflows, run `workflow-status` first.
**Next Steps:**
1. Review research findings
2. Run product-brief or plan-project workflows
</output>
</check>
</step>
</workflow> </workflow>

View File

@@ -8,7 +8,35 @@
<workflow> <workflow>
<step n="1" goal="Welcome and Research Type Selection"> <step n="1" goal="Check and load workflow status file">
<action>Search {output_folder}/ for files matching pattern: project-workflow-status*.md</action>
<action>Find the most recent file (by date in filename: project-workflow-status-YYYY-MM-DD.md)</action>
<check if="exists">
<action>Load the status file</action>
<action>Set status_file_found = true</action>
<action>Store status_file_path for later updates</action>
</check>
<check if="not exists">
<ask>**No workflow status file found.**
This workflow conducts research (optional Phase 1 workflow).
Options:
1. Run workflow-status first to create the status file (recommended for progress tracking)
2. Continue in standalone mode (no progress tracking)
3. Exit
What would you like to do?</ask>
<action>If user chooses option 1 → HALT with message: "Please run workflow-status first, then return to research"</action>
<action>If user chooses option 2 → Set standalone_mode = true and continue</action>
<action>If user chooses option 3 → HALT</action>
</check>
</step>
<step n="2" goal="Welcome and Research Type Selection">
<action>Welcome the user to the Research Workflow</action> <action>Welcome the user to the Research Workflow</action>
**The Research Workflow supports multiple research types:** **The Research Workflow supports multiple research types:**
@@ -47,7 +75,7 @@ Present the user with research type options:
</step> </step>
<step n="2" goal="Route to Appropriate Research Instructions"> <step n="3" goal="Route to Appropriate Research Instructions">
<critical>Based on user selection, load the appropriate instruction set</critical> <critical>Based on user selection, load the appropriate instruction set</critical>

View File

@@ -442,4 +442,65 @@ Select option (1-5):</ask>
</step> </step>
<step n="FINAL" goal="Update status file on completion">
<action>Search {output_folder}/ for files matching pattern: project-workflow-status*.md</action>
<action>Find the most recent file (by date in filename)</action>
<check if="status file exists">
<action>Load the status file</action>
<template-output file="{{status_file_path}}">current_step</template-output>
<action>Set to: "research (technical)"</action>
<template-output file="{{status_file_path}}">current_workflow</template-output>
<action>Set to: "research (technical) - Complete"</action>
<template-output file="{{status_file_path}}">progress_percentage</template-output>
<action>Increment by: 5% (optional Phase 1 workflow)</action>
<template-output file="{{status_file_path}}">decisions_log</template-output>
<action>Add entry:</action>
```
- **{{date}}**: Completed research workflow (technical mode). Technical research report generated and saved. Next: Review findings and consider plan-project workflow.
```
<output>**✅ Technical Research Complete**
**Research Report:**
- Technical research report generated and saved
**Status file updated:**
- Current step: research (technical) ✓
- Progress: {{new_progress_percentage}}%
**Next Steps:**
1. Review technical research findings
2. Share with architecture team
3. Run `plan-project` to incorporate findings into PRD
Check status anytime with: `workflow-status`
</output>
</check>
<check if="status file not found">
<output>**✅ Technical Research Complete**
**Research Report:**
- Technical research report generated and saved
Note: Running in standalone mode (no status file).
**Next Steps:**
1. Review technical research findings
2. Run plan-project workflow
</output>
</check>
</step>
</workflow> </workflow>

View File

@@ -7,10 +7,55 @@ This workflow generates scale-adaptive solution architecture documentation that
<step n="0" goal="Load project analysis, validate prerequisites, and scale assessment"> <step n="0" goal="Load project analysis, validate prerequisites, and scale assessment">
<action> <action>
1. Read project-workflow-status.md: 1. Search {output_folder}/ for files matching pattern: project-workflow-status*.md
Path: {{project_workflow_analysis_path}} Find the most recent file (by date in filename: project-workflow-status-YYYY-MM-DD.md)
2. Extract: 2. Check if status file exists:
<check if="exists">
<action>Load the status file</action>
<action>Set status_file_found = true</action>
<action>Store status_file_path for later updates</action>
<action>Validate workflow sequence:</action>
<check if='next_step != "solution-architecture" AND current_step not in ["plan-project", "workflow-status"]'>
<ask>**⚠️ Workflow Sequence Note**
Status file shows:
- Current step: {{current_step}}
- Expected next: {{next_step}}
This workflow (solution-architecture) is typically run after plan-project for Level 3-4 projects.
Options:
1. Continue anyway (if you're resuming work)
2. Exit and run the expected workflow: {{next_step}}
3. Check status with workflow-status
What would you like to do?</ask>
<action>If user chooses exit → HALT with message: "Run workflow-status to see current state"</action>
</check>
</check>
<check if="not exists">
<ask>**No workflow status file found.**
The status file tracks progress across all workflows and stores project configuration.
Options:
1. Run workflow-status first to create the status file (recommended)
2. Continue in standalone mode (no progress tracking)
3. Exit
What would you like to do?</ask>
<action>If user chooses option 1 → HALT with message: "Please run workflow-status first, then return to solution-architecture"</action>
<action>If user chooses option 2 → Set standalone_mode = true and continue</action>
<action>If user chooses option 3 → HALT</action>
</check>
3. Extract project configuration from status file:
Path: {{status_file_path}}
Extract:
- project_level: {{0|1|2|3|4}} - project_level: {{0|1|2|3|4}}
- field_type: {{greenfield|brownfield}} - field_type: {{greenfield|brownfield}}
- project_type: {{web|mobile|embedded|game|library}} - project_type: {{web|mobile|embedded|game|library}}
@@ -19,7 +64,7 @@ This workflow generates scale-adaptive solution architecture documentation that
- ux_spec_path: /docs/ux-spec.md (if exists) - ux_spec_path: /docs/ux-spec.md (if exists)
- prd_status: {{complete|incomplete}} - prd_status: {{complete|incomplete}}
3. Validate Prerequisites (BLOCKING): 4. Validate Prerequisites (BLOCKING):
Check 1: PRD complete? Check 1: PRD complete?
IF prd_status != complete: IF prd_status != complete:
@@ -67,7 +112,7 @@ This workflow generates scale-adaptive solution architecture documentation that
- UX Spec: {{complete | not_applicable}} - UX Spec: {{complete | not_applicable}}
Proceeding with solution architecture workflow... Proceeding with solution architecture workflow...
4. Determine workflow path: 5. Determine workflow path:
IF project_level == 0: IF project_level == 0:
- Skip solution architecture entirely - Skip solution architecture entirely
- Output: "Level 0 project - validate/update tech-spec.md only" - Output: "Level 0 project - validate/update tech-spec.md only"
@@ -745,6 +790,86 @@ Would you like to proceed with story drafting now? (y/n)
</ask> </ask>
</step> </step>
<step n="12" goal="Update status file on completion">
<action>
Search {output_folder}/ for files matching pattern: project-workflow-status*.md
Find the most recent file (by date in filename)
</action>
<check if="status file exists">
<action>Load the status file</action>
<template-output file="{{status_file_path}}">current_step</template-output>
<action>Set to: "solution-architecture"</action>
<template-output file="{{status_file_path}}">current_workflow</template-output>
<action>Set to: "solution-architecture - Complete"</action>
<template-output file="{{status_file_path}}">progress_percentage</template-output>
<action>Increment by: 15% (solution-architecture is a major workflow)</action>
<template-output file="{{status_file_path}}">decisions_log</template-output>
<action>Add entry:</action>
```
- **{{date}}**: Completed solution-architecture workflow. Generated solution-architecture.md, cohesion-check-report.md, and {{epic_count}} tech-spec files. Populated story backlog with {{total_story_count}} stories. Phase 3 complete. Next: SM agent should run create-story to draft first story ({{first_story_id}}).
```
<template-output file="{{status_file_path}}">next_action</template-output>
<action>Set to: "Draft first user story ({{first_story_id}})"</action>
<template-output file="{{status_file_path}}">next_command</template-output>
<action>Set to: "Load SM agent and run 'create-story' workflow"</action>
<template-output file="{{status_file_path}}">next_agent</template-output>
<action>Set to: "bmad/bmm/agents/sm.md"</action>
<output>**✅ Solution Architecture Complete**
**Architecture Documents:**
- solution-architecture.md (main architecture document)
- cohesion-check-report.md (validation report)
- tech-spec-epic-1.md through tech-spec-epic-{{epic_count}}.md ({{epic_count}} specs)
**Story Backlog:**
- {{total_story_count}} stories populated in status file
- First story: {{first_story_id}} ({{first_story_title}})
**Status file updated:**
- Current step: solution-architecture ✓
- Progress: {{new_progress_percentage}}%
- Phase 3 (Solutioning) complete
- Ready for Phase 4 (Implementation)
**Next Steps:**
1. Load SM agent (bmad/bmm/agents/sm.md)
2. Run `create-story` workflow to draft story {{first_story_id}}
3. Review drafted story
4. Run `story-ready` to approve for development
Check status anytime with: `workflow-status`
</output>
</check>
<check if="status file not found">
<output>**✅ Solution Architecture Complete**
**Architecture Documents:**
- solution-architecture.md
- cohesion-check-report.md
- tech-spec-epic-1.md through tech-spec-epic-{{epic_count}}.md
Note: Running in standalone mode (no status file).
To track progress across workflows, run `workflow-status` first.
**Next Steps:**
1. Load SM agent and run `create-story` to draft stories
</output>
</check>
</step>
</workflow> </workflow>
``` ```

View File

@@ -1,13 +1,66 @@
<!-- BMAD BMM Tech Spec Workflow Instructions (v6) --> <!-- BMAD BMM Tech Spec Workflow Instructions (v6) -->
```xml ````xml
<critical>The workflow execution engine is governed by: {project_root}/bmad/core/tasks/workflow.xml</critical> <critical>The workflow execution engine is governed by: {project_root}/bmad/core/tasks/workflow.xml</critical>
<critical>You MUST have already loaded and processed: {installed_path}/workflow.yaml</critical> <critical>You MUST have already loaded and processed: {installed_path}/workflow.yaml</critical>
<critical>This workflow generates a comprehensive Technical Specification from PRD and Architecture, including detailed design, NFRs, acceptance criteria, and traceability mapping.</critical> <critical>This workflow generates a comprehensive Technical Specification from PRD and Architecture, including detailed design, NFRs, acceptance criteria, and traceability mapping.</critical>
<critical>Default execution mode: #yolo (non-interactive). If required inputs cannot be auto-discovered and {{non_interactive}} == true, HALT with a clear message listing missing documents; do not prompt.</critical> <critical>Default execution mode: #yolo (non-interactive). If required inputs cannot be auto-discovered and {{non_interactive}} == true, HALT with a clear message listing missing documents; do not prompt.</critical>
<workflow> <workflow>
<step n="1" goal="Collect inputs and initialize"> <step n="1" goal="Check and load workflow status file">
<action>Search {output_folder}/ for files matching pattern: project-workflow-status*.md</action>
<action>Find the most recent file (by date in filename: project-workflow-status-YYYY-MM-DD.md)</action>
<check if="exists">
<action>Load the status file</action>
<action>Extract key information:</action>
- current_step: What workflow was last run
- next_step: What workflow should run next
- planned_workflow: The complete workflow journey table
- progress_percentage: Current progress
- project_level: Project complexity level (0-4)
<action>Set status_file_found = true</action>
<action>Store status_file_path for later updates</action>
<check if="project_level < 3">
<ask>**⚠️ Project Level Notice**
Status file shows project_level = {{project_level}}.
Tech-spec workflow is typically only needed for Level 3-4 projects.
For Level 0-2, solution-architecture usually generates tech specs automatically.
Options:
1. Continue anyway (manual tech spec generation)
2. Exit (check if solution-architecture already generated tech specs)
3. Run workflow-status to verify project configuration
What would you like to do?</ask>
<action>If user chooses exit → HALT with message: "Check docs/ folder for existing tech-spec files"</action>
</check>
</check>
<check if="not exists">
<ask>**No workflow status file found.**
The status file tracks progress across all workflows and stores project configuration.
Note: This workflow is typically invoked automatically by solution-architecture, or manually for JIT epic tech specs.
Options:
1. Run workflow-status first to create the status file (recommended)
2. Continue in standalone mode (no progress tracking)
3. Exit
What would you like to do?</ask>
<action>If user chooses option 1 → HALT with message: "Please run workflow-status first, then return to tech-spec"</action>
<action>If user chooses option 2 → Set standalone_mode = true and continue</action>
<action>If user chooses option 3 → HALT</action>
</check>
</step>
<step n="2" goal="Collect inputs and initialize">
<action>Identify PRD and Architecture documents from recommended_inputs. Attempt to auto-discover at default paths.</action> <action>Identify PRD and Architecture documents from recommended_inputs. Attempt to auto-discover at default paths.</action>
<ask optional="true" if="{{non_interactive}} == false">If inputs are missing, ask the user for file paths.</ask> <ask optional="true" if="{{non_interactive}} == false">If inputs are missing, ask the user for file paths.</ask>
@@ -17,7 +70,7 @@
<action>Resolve output file path using workflow variables and initialize by writing the template.</action> <action>Resolve output file path using workflow variables and initialize by writing the template.</action>
</step> </step>
<step n="2" goal="Overview and scope"> <step n="3" goal="Overview and scope">
<action>Read COMPLETE PRD and Architecture files.</action> <action>Read COMPLETE PRD and Architecture files.</action>
<template-output file="{default_output_file}"> <template-output file="{default_output_file}">
Replace {{overview}} with a concise 1-2 paragraph summary referencing PRD context and goals Replace {{overview}} with a concise 1-2 paragraph summary referencing PRD context and goals
@@ -26,7 +79,7 @@
</template-output> </template-output>
</step> </step>
<step n="3" goal="Detailed design"> <step n="4" goal="Detailed design">
<action>Derive concrete implementation specifics from Architecture and PRD (NO invention).</action> <action>Derive concrete implementation specifics from Architecture and PRD (NO invention).</action>
<template-output file="{default_output_file}"> <template-output file="{default_output_file}">
Replace {{services_modules}} with a table or bullets listing services/modules with responsibilities, inputs/outputs, and owners Replace {{services_modules}} with a table or bullets listing services/modules with responsibilities, inputs/outputs, and owners
@@ -36,7 +89,7 @@
</template-output> </template-output>
</step> </step>
<step n="4" goal="Non-functional requirements"> <step n="5" goal="Non-functional requirements">
<template-output file="{default_output_file}"> <template-output file="{default_output_file}">
Replace {{nfr_performance}} with measurable targets (latency, throughput); link to any performance requirements in PRD/Architecture Replace {{nfr_performance}} with measurable targets (latency, throughput); link to any performance requirements in PRD/Architecture
Replace {{nfr_security}} with authn/z requirements, data handling, threat notes; cite source sections Replace {{nfr_security}} with authn/z requirements, data handling, threat notes; cite source sections
@@ -45,14 +98,14 @@
</template-output> </template-output>
</step> </step>
<step n="5" goal="Dependencies and integrations"> <step n="6" goal="Dependencies and integrations">
<action>Scan repository for dependency manifests (e.g., package.json, pyproject.toml, go.mod, Unity Packages/manifest.json).</action> <action>Scan repository for dependency manifests (e.g., package.json, pyproject.toml, go.mod, Unity Packages/manifest.json).</action>
<template-output file="{default_output_file}"> <template-output file="{default_output_file}">
Replace {{dependencies_integrations}} with a structured list of dependencies and integration points with version or commit constraints when known Replace {{dependencies_integrations}} with a structured list of dependencies and integration points with version or commit constraints when known
</template-output> </template-output>
</step> </step>
<step n="6" goal="Acceptance criteria and traceability"> <step n="7" goal="Acceptance criteria and traceability">
<action>Extract acceptance criteria from PRD; normalize into atomic, testable statements.</action> <action>Extract acceptance criteria from PRD; normalize into atomic, testable statements.</action>
<template-output file="{default_output_file}"> <template-output file="{default_output_file}">
Replace {{acceptance_criteria}} with a numbered list of testable acceptance criteria Replace {{acceptance_criteria}} with a numbered list of testable acceptance criteria
@@ -60,16 +113,80 @@
</template-output> </template-output>
</step> </step>
<step n="7" goal="Risks and test strategy"> <step n="8" goal="Risks and test strategy">
<template-output file="{default_output_file}"> <template-output file="{default_output_file}">
Replace {{risks_assumptions_questions}} with explicit list (each item labeled as Risk/Assumption/Question) with mitigation or next step Replace {{risks_assumptions_questions}} with explicit list (each item labeled as Risk/Assumption/Question) with mitigation or next step
Replace {{test_strategy}} with a brief plan (test levels, frameworks, coverage of ACs, edge cases) Replace {{test_strategy}} with a brief plan (test levels, frameworks, coverage of ACs, edge cases)
</template-output> </template-output>
</step> </step>
<step n="8" goal="Validate"> <step n="9" goal="Validate">
<invoke-task>Validate against checklist at {installed_path}/checklist.md using bmad/core/tasks/validate-workflow.xml</invoke-task> <invoke-task>Validate against checklist at {installed_path}/checklist.md using bmad/core/tasks/validate-workflow.xml</invoke-task>
</step> </step>
<step n="10" goal="Update status file on completion">
<action>Search {output_folder}/ for files matching pattern: project-workflow-status*.md</action>
<action>Find the most recent file (by date in filename)</action>
<check if="status file exists">
<action>Load the status file</action>
<template-output file="{{status_file_path}}">current_step</template-output>
<action>Set to: "tech-spec (Epic {{epic_id}})"</action>
<template-output file="{{status_file_path}}">current_workflow</template-output>
<action>Set to: "tech-spec (Epic {{epic_id}}: {{epic_title}}) - Complete"</action>
<template-output file="{{status_file_path}}">progress_percentage</template-output>
<action>Increment by: 5% (tech-spec generates one epic spec)</action>
<template-output file="{{status_file_path}}">decisions_log</template-output>
<action>Add entry:</action>
```
- **{{date}}**: Completed tech-spec for Epic {{epic_id}} ({{epic_title}}). Tech spec file: {{default_output_file}}. This is a JIT workflow that can be run multiple times for different epics. Next: Continue with remaining epics or proceed to Phase 4 implementation.
```
<template-output file="{{status_file_path}}">planned_workflow</template-output>
<action>Mark "tech-spec (Epic {{epic_id}})" as complete in the planned workflow table</action>
<output>**✅ Tech Spec Generated Successfully**
**Epic Details:**
- Epic ID: {{epic_id}}
- Epic Title: {{epic_title}}
- Tech Spec File: {{default_output_file}}
**Status file updated:**
- Current step: tech-spec (Epic {{epic_id}}) ✓
- Progress: {{new_progress_percentage}}%
**Note:** This is a JIT (Just-In-Time) workflow.
- Run again for other epics that need detailed tech specs
- Or proceed to Phase 4 (Implementation) if all tech specs are complete
**Next Steps:**
1. If more epics need tech specs: Run tech-spec again with different epic_id
2. If all tech specs complete: Proceed to Phase 4 implementation
3. Check status anytime with: `workflow-status`
</output>
</check>
<check if="status file not found">
<output>**✅ Tech Spec Generated Successfully**
**Epic Details:**
- Epic ID: {{epic_id}}
- Epic Title: {{epic_title}}
- Tech Spec File: {{default_output_file}}
Note: Running in standalone mode (no status file).
To track progress across workflows, run `workflow-status` first.
**Note:** This is a JIT workflow - run again for other epics as needed.
</output>
</check>
</step>
</workflow> </workflow>
``` ````

View File

@@ -1,6 +1,6 @@
# Create Story - Workflow Instructions (Spec-compliant, non-interactive by default) # Create Story - Workflow Instructions (Spec-compliant, non-interactive by default)
```xml ````xml
<critical>The workflow execution engine is governed by: {project_root}/bmad/core/tasks/workflow.xml</critical> <critical>The workflow execution engine is governed by: {project_root}/bmad/core/tasks/workflow.xml</critical>
<critical>You MUST have already loaded and processed: {installed_path}/workflow.yaml</critical> <critical>You MUST have already loaded and processed: {installed_path}/workflow.yaml</critical>
<critical>This workflow creates or updates the next user story from epics/PRD and architecture context, saving to the configured stories directory and optionally invoking Story Context.</critical> <critical>This workflow creates or updates the next user story from epics/PRD and architecture context, saving to the configured stories directory and optionally invoking Story Context.</critical>
@@ -120,5 +120,63 @@
<action>Report created/updated story path</action> <action>Report created/updated story path</action>
</step> </step>
<step n="9" goal="Update status file on completion">
<action>Search {output_folder}/ for files matching pattern: project-workflow-status*.md</action>
<action>Find the most recent file (by date in filename)</action>
<check if="status file exists">
<action>Load the status file</action>
<template-output file="{{status_file_path}}">current_step</template-output>
<action>Set to: "create-story (Story {{story_id}})"</action>
<template-output file="{{status_file_path}}">current_workflow</template-output>
<action>Set to: "create-story (Story {{story_id}}) - Complete"</action>
<template-output file="{{status_file_path}}">progress_percentage</template-output>
<action>Calculate per-story weight: remaining_40_percent / total_stories / 5</action>
<action>Increment by: {{per_story_weight}} * 2 (create-story weight is ~2% per story)</action>
<template-output file="{{status_file_path}}">decisions_log</template-output>
<action>Add entry:</action>
```
- **{{date}}**: Completed create-story for Story {{story_id}} ({{story_title}}). Story file: {{story_file}}. Status: Draft (needs review via story-ready). Next: Review and approve story.
```
<output>**✅ Story Created Successfully**
**Story Details:**
- Story ID: {{story_id}}
- File: {{story_file}}
- Status: Draft (needs review)
**Status file updated:**
- Current step: create-story (Story {{story_id}}) ✓
- Progress: {{new_progress_percentage}}%
**Next Steps:**
1. Review the drafted story in {{story_file}}
2. When satisfied, run `story-ready` to approve for development
3. Or edit the story file and re-run `create-story` to update
Check status anytime with: `workflow-status`
</output>
</check>
<check if="status file not found">
<output>**✅ Story Created Successfully**
**Story Details:**
- Story ID: {{story_id}}
- File: {{story_file}}
- Status: Draft
Note: Running in standalone mode (no status file).
To track progress across workflows, run `workflow-status` first.
</output>
</check>
</step>
</workflow> </workflow>
``` ````

View File

@@ -1,6 +1,6 @@
# Develop Story - Workflow Instructions # Develop Story - Workflow Instructions
```xml ````xml
<critical>The workflow execution engine is governed by: {project_root}/bmad/core/tasks/workflow.xml</critical> <critical>The workflow execution engine is governed by: {project_root}/bmad/core/tasks/workflow.xml</critical>
<critical>You MUST have already loaded and processed: {installed_path}/workflow.yaml</critical> <critical>You MUST have already loaded and processed: {installed_path}/workflow.yaml</critical>
<critical>Only modify the story file in these areas: Tasks/Subtasks checkboxes, Dev Agent Record (Debug Log, Completion Notes), File List, Change Log, and Status</critical> <critical>Only modify the story file in these areas: Tasks/Subtasks checkboxes, Dev Agent Record (Debug Log, Completion Notes), File List, Change Log, and Status</critical>
@@ -11,7 +11,31 @@
<workflow> <workflow>
<step n="1" goal="Load story and select next task"> <step n="1" goal="Load story from status file IN PROGRESS section">
<action>Read {output_folder}/project-workflow-status.md (if exists)</action>
<action>Navigate to "### Implementation Progress (Phase 4 Only)" section</action>
<action>Find "#### IN PROGRESS (Approved for Development)" section</action>
<check if="IN PROGRESS section has a story">
<action>Extract story information:</action>
- current_story_id: The story ID (e.g., "1.1", "auth-feature-1", "login-fix")
- current_story_title: The story title
- current_story_file: The exact story file path
- current_story_context_file: The context file path (if exists)
<critical>DO NOT SEARCH for stories - the status file tells you exactly which story is IN PROGRESS</critical>
<action>Set {{story_path}} = {story_dir}/{current_story_file}</action>
<action>Read the COMPLETE story file from {{story_path}}</action>
<action>Parse sections: Story, Acceptance Criteria, Tasks/Subtasks (including subtasks), Dev Notes, Dev Agent Record, File List, Change Log, Status</action>
<action>Identify the first incomplete task (unchecked [ ]) in Tasks/Subtasks; if subtasks exist, treat all subtasks as part of the selected task scope</action>
<check>If no incomplete tasks found → "All tasks completed - proceed to completion sequence" and <goto step="6">Continue</goto></check>
<check>If story file inaccessible → HALT: "Cannot develop story without access to story file"</check>
<check>If task requirements ambiguous → ASK user to clarify; if unresolved, HALT: "Task requirements must be clear before implementation"</check>
</check>
<check if="IN PROGRESS section is empty OR status file not found">
<action>Fall back to legacy auto-discovery:</action>
<action>If {{story_path}} was explicitly provided and is valid → use it. Otherwise, attempt auto-discovery.</action> <action>If {{story_path}} was explicitly provided and is valid → use it. Otherwise, attempt auto-discovery.</action>
<action>Auto-discovery: Read {{story_dir}} from config (dev_story_location). If invalid/missing or contains no .md files, ASK user to provide either: (a) a story file path, or (b) a directory to scan.</action> <action>Auto-discovery: Read {{story_dir}} from config (dev_story_location). If invalid/missing or contains no .md files, ASK user to provide either: (a) a story file path, or (b) a directory to scan.</action>
<action>If a directory is provided, list story markdown files recursively under that directory matching pattern: "story-*.md".</action> <action>If a directory is provided, list story markdown files recursively under that directory matching pattern: "story-*.md".</action>
@@ -24,6 +48,7 @@
<check>If no incomplete tasks found → "All tasks completed - proceed to completion sequence" and <goto step="6">Continue</goto></check> <check>If no incomplete tasks found → "All tasks completed - proceed to completion sequence" and <goto step="6">Continue</goto></check>
<check>If story file inaccessible → HALT: "Cannot develop story without access to story file"</check> <check>If story file inaccessible → HALT: "Cannot develop story without access to story file"</check>
<check>If task requirements ambiguous → ASK user to clarify; if unresolved, HALT: "Task requirements must be clear before implementation"</check> <check>If task requirements ambiguous → ASK user to clarify; if unresolved, HALT: "Task requirements must be clear before implementation"</check>
</check>
</step> </step>
<step n="2" goal="Plan and implement task"> <step n="2" goal="Plan and implement task">
@@ -83,5 +108,65 @@
<action>Communicate that the story is Ready for Review</action> <action>Communicate that the story is Ready for Review</action>
</step> </step>
<step n="8" goal="Update status file on completion">
<action>Search {output_folder}/ for files matching pattern: project-workflow-status*.md</action>
<action>Find the most recent file (by date in filename)</action>
<check if="status file exists">
<action>Load the status file</action>
<template-output file="{{status_file_path}}">current_step</template-output>
<action>Set to: "dev-story (Story {{current_story_id}})"</action>
<template-output file="{{status_file_path}}">current_workflow</template-output>
<action>Set to: "dev-story (Story {{current_story_id}}) - Complete (Ready for Review)"</action>
<template-output file="{{status_file_path}}">progress_percentage</template-output>
<action>Calculate per-story weight: remaining_40_percent / total_stories / 5</action>
<action>Increment by: {{per_story_weight}} * 5 (dev-story weight is ~5% per story - largest weight)</action>
<template-output file="{{status_file_path}}">decisions_log</template-output>
<action>Add entry:</action>
```
- **{{date}}**: Completed dev-story for Story {{current_story_id}} ({{current_story_title}}). All tasks complete, tests passing. Story status: Ready for Review. Next: User reviews and runs story-approved when satisfied with implementation.
```
<output>**✅ Story Implementation Complete**
**Story Details:**
- Story ID: {{current_story_id}}
- Title: {{current_story_title}}
- File: {{story_path}}
- Status: Ready for Review
**Status file updated:**
- Current step: dev-story (Story {{current_story_id}}) ✓
- Progress: {{new_progress_percentage}}%
**Next Steps:**
1. Review the implemented story and test the changes
2. Verify all acceptance criteria are met
3. When satisfied, run `story-approved` to mark story complete and advance the queue
Or check status anytime with: `workflow-status`
</output>
</check>
<check if="status file not found">
<output>**✅ Story Implementation Complete**
**Story Details:**
- Story ID: {{current_story_id}}
- Title: {{current_story_title}}
- File: {{story_path}}
- Status: Ready for Review
Note: Running in standalone mode (no status file).
To track progress across workflows, run `workflow-status` first.
</output>
</check>
</step>
</workflow> </workflow>
``` ````

View File

@@ -15,7 +15,35 @@ FACILITATION NOTES:
<workflow> <workflow>
<step n="1" goal="Epic Context Discovery"> <step n="1" goal="Check and load workflow status file">
<action>Search {output_folder}/ for files matching pattern: project-workflow-status*.md</action>
<action>Find the most recent file (by date in filename: project-workflow-status-YYYY-MM-DD.md)</action>
<check if="exists">
<action>Load the status file</action>
<action>Set status_file_found = true</action>
<action>Store status_file_path for later updates</action>
</check>
<check if="not exists">
<ask>**No workflow status file found.**
This workflow conducts epic retrospective (optional Phase 4 workflow).
Options:
1. Run workflow-status first to create the status file (recommended for progress tracking)
2. Continue in standalone mode (no progress tracking)
3. Exit
What would you like to do?</ask>
<action>If user chooses option 1 → HALT with message: "Please run workflow-status first, then return to retrospective"</action>
<action>If user chooses option 2 → Set standalone_mode = true and continue</action>
<action>If user chooses option 3 → HALT</action>
</check>
</step>
<step n="2" goal="Epic Context Discovery">
<action>Identify the completed epic</action> <action>Identify the completed epic</action>
<ask>Which epic has just been completed? (Enter epic number, e.g., "003" or auto-detect from highest completed story)</ask> <ask>Which epic has just been completed? (Enter epic number, e.g., "003" or auto-detect from highest completed story)</ask>
@@ -370,6 +398,72 @@ See you at sprint planning once prep work is done!"
<action>Remind user to schedule prep sprint if needed</action> <action>Remind user to schedule prep sprint if needed</action>
</step> </step>
<step n="9" goal="Update status file on completion">
<action>Search {output_folder}/ for files matching pattern: project-workflow-status*.md</action>
<action>Find the most recent file (by date in filename)</action>
<check if="status file exists">
<action>Load the status file</action>
<template-output file="{{status_file_path}}">current_step</template-output>
<action>Set to: "retrospective (Epic {{completed_number}})"</action>
<template-output file="{{status_file_path}}">current_workflow</template-output>
<action>Set to: "retrospective (Epic {{completed_number}}) - Complete"</action>
<template-output file="{{status_file_path}}">progress_percentage</template-output>
<action>Increment by: 5% (optional epic boundary workflow)</action>
<template-output file="{{status_file_path}}">decisions_log</template-output>
<action>Add entry:</action>
```
- **{{date}}**: Completed retrospective for Epic {{completed_number}}. Action items: {{action_count}}. Preparation tasks: {{prep_task_count}}. Critical path items: {{critical_count}}. Next: Execute preparation sprint before beginning Epic {{next_number}}.
```
<output>**✅ Retrospective Complete**
**Epic Review:**
- Epic {{completed_number}}: {{epic_title}} reviewed
- Action Items: {{action_count}}
- Preparation Tasks: {{prep_task_count}}
- Critical Path Items: {{critical_count}}
**Status file updated:**
- Current step: retrospective (Epic {{completed_number}}) ✓
- Progress: {{new_progress_percentage}}%
**Next Steps:**
1. Review retrospective summary: {output_folder}/retrospectives/epic-{{completed_number}}-retro-{{date}}.md
2. Execute preparation sprint (Est: {{prep_days}} days)
3. Complete critical path items before Epic {{next_number}}
4. Begin Epic {{next_number}} planning when preparation complete
Check status anytime with: `workflow-status`
</output>
</check>
<check if="status file not found">
<output>**✅ Retrospective Complete**
**Epic Review:**
- Epic {{completed_number}}: {{epic_title}} reviewed
- Retrospective saved: {output_folder}/retrospectives/epic-{{completed_number}}-retro-{{date}}.md
Note: Running in standalone mode (no status file).
**Next Steps:**
1. Execute preparation sprint
2. Begin Epic {{next_number}} planning
</output>
</check>
</step>
</workflow> </workflow>
<facilitation-guidelines> <facilitation-guidelines>

View File

@@ -1,6 +1,6 @@
# Senior Developer Review - Workflow Instructions # Senior Developer Review - Workflow Instructions
```xml ````xml
<critical>The workflow execution engine is governed by: {project_root}/bmad/core/tasks/workflow.xml</critical> <critical>The workflow execution engine is governed by: {project_root}/bmad/core/tasks/workflow.xml</critical>
<critical>You MUST have already loaded and processed: {installed_path}/workflow.yaml</critical> <critical>You MUST have already loaded and processed: {installed_path}/workflow.yaml</critical>
<critical>This workflow performs a Senior Developer Review on a story flagged Ready for Review, appends structured review notes, and can update the story status based on the outcome.</critical> <critical>This workflow performs a Senior Developer Review on a story flagged Ready for Review, appends structured review notes, and can update the story status based on the outcome.</critical>
@@ -10,7 +10,34 @@
<workflow> <workflow>
<step n="1" goal="Locate story and verify review status"> <step n="1" goal="Check and load workflow status file">
<action>Search {output_folder}/ for files matching pattern: project-workflow-status*.md</action>
<action>Find the most recent file (by date in filename: project-workflow-status-YYYY-MM-DD.md)</action>
<check if="exists">
<action>Load the status file</action>
<action>Set status_file_found = true</action>
<action>Store status_file_path for later updates</action>
</check>
<check if="not exists">
<ask>**No workflow status file found.**
This workflow performs Senior Developer Review on a story (optional Phase 4 workflow).
Options:
1. Run workflow-status first to create the status file (recommended for progress tracking)
2. Continue in standalone mode (no progress tracking)
3. Exit
What would you like to do?</ask>
<action>If user chooses option 1 → HALT with message: "Please run workflow-status first, then return to review-story"</action>
<action>If user chooses option 2 → Set standalone_mode = true and continue</action>
<action>If user chooses option 3 → HALT</action>
</check>
</step>
<step n="2" goal="Locate story and verify review status">
<action>If {{story_path}} was provided → use it. Else auto-discover from {{story_dir}} by listing files matching pattern: "story-*.md" (recursive), sort by last modified (newest first), present top {{story_selection_limit}}.</action> <action>If {{story_path}} was provided → use it. Else auto-discover from {{story_dir}} by listing files matching pattern: "story-*.md" (recursive), sort by last modified (newest first), present top {{story_selection_limit}}.</action>
<ask optional="true" if="{{non_interactive}} == false">Select a story (1-{{story_selection_limit}}) or enter a path:</ask> <ask optional="true" if="{{non_interactive}} == false">Select a story (1-{{story_selection_limit}}) or enter a path:</ask>
<action>Resolve {{story_path}} and read the COMPLETE file.</action> <action>Resolve {{story_path}} and read the COMPLETE file.</action>
@@ -172,5 +199,64 @@
<action>Report workflow completion.</action> <action>Report workflow completion.</action>
</step> </step>
<step n="10" goal="Update status file on completion">
<action>Search {output_folder}/ for files matching pattern: project-workflow-status*.md</action>
<action>Find the most recent file (by date in filename)</action>
<check if="status file exists">
<action>Load the status file</action>
<template-output file="{{status_file_path}}">current_step</template-output>
<action>Set to: "review-story (Story {{epic_num}}.{{story_num}})"</action>
<template-output file="{{status_file_path}}">current_workflow</template-output>
<action>Set to: "review-story (Story {{epic_num}}.{{story_num}}) - Complete"</action>
<template-output file="{{status_file_path}}">progress_percentage</template-output>
<action>Calculate per-story weight: remaining_40_percent / total_stories / 5</action>
<action>Increment by: {{per_story_weight}} * 2 (review-story ~2% per story)</action>
<template-output file="{{status_file_path}}">decisions_log</template-output>
<action>Add entry:</action>
```
- **{{date}}**: Completed review-story for Story {{epic_num}}.{{story_num}}. Review outcome: {{outcome}}. Action items: {{action_item_count}}. Next: Address review feedback if needed, then continue with story-approved when ready.
```
<output>**✅ Story Review Complete**
**Story Details:**
- Story: {{epic_num}}.{{story_num}}
- Review Outcome: {{outcome}}
- Action Items: {{action_item_count}}
**Status file updated:**
- Current step: review-story (Story {{epic_num}}.{{story_num}}) ✓
- Progress: {{new_progress_percentage}}%
**Next Steps:**
1. Review the Senior Developer Review notes appended to story
2. Address any action items or changes requested
3. When ready, run `story-approved` to mark story complete
Check status anytime with: `workflow-status`
</output>
</check>
<check if="status file not found">
<output>**✅ Story Review Complete**
**Story Details:**
- Story: {{epic_num}}.{{story_num}}
- Review Outcome: {{outcome}}
Note: Running in standalone mode (no status file).
**Next Steps:**
1. Review the Senior Developer Review notes
2. Address any action items
</output>
</check>
</step>
</workflow> </workflow>
``` ````

View File

@@ -149,7 +149,7 @@ If BACKLOG had 1 story and is now empty:
</step> </step>
<step n="4" goal="Update Decision Log and Next Action"> <step n="4" goal="Update Decision Log, Progress, and Next Action">
<action>Add to "## Decision Log" section:</action> <action>Add to "## Decision Log" section:</action>
@@ -157,6 +157,19 @@ If BACKLOG had 1 story and is now empty:
- **{{date}}**: Story {{current_story_id}} ({{current_story_title}}) approved and marked done by DEV agent. Moved from IN PROGRESS → DONE. {{#if todo_story}}Story {{todo_story_id}} moved from TODO → IN PROGRESS.{{/if}} {{#if next_backlog_story}}Story {{next_backlog_story_id}} moved from BACKLOG → TODO.{{/if}} - **{{date}}**: Story {{current_story_id}} ({{current_story_title}}) approved and marked done by DEV agent. Moved from IN PROGRESS → DONE. {{#if todo_story}}Story {{todo_story_id}} moved from TODO → IN PROGRESS.{{/if}} {{#if next_backlog_story}}Story {{next_backlog_story_id}} moved from BACKLOG → TODO.{{/if}}
``` ```
<template-output file="{{status_file_path}}">current_step</template-output>
<action>Set to: "story-approved (Story {{current_story_id}})"</action>
<template-output file="{{status_file_path}}">current_workflow</template-output>
<action>Set to: "story-approved (Story {{current_story_id}}) - Complete"</action>
<template-output file="{{status_file_path}}">progress_percentage</template-output>
<action>Calculate per-story weight: remaining_40_percent / total_stories / 5</action>
<action>Increment by: {{per_story_weight}} \* 1 (story-approved weight is ~1% per story)</action>
<check if="all stories complete">
<action>Set progress_percentage = 100%</action>
</check>
<action>Update "### Next Action Required" section:</action> <action>Update "### Next Action Required" section:</action>
<check if="todo_story exists"> <check if="todo_story exists">

View File

@@ -1,13 +1,65 @@
<!-- BMAD BMM Story Context Assembly Instructions (v6) --> <!-- BMAD BMM Story Context Assembly Instructions (v6) -->
```xml ````xml
<critical>The workflow execution engine is governed by: {project_root}/bmad/core/tasks/workflow.xml</critical> <critical>The workflow execution engine is governed by: {project_root}/bmad/core/tasks/workflow.xml</critical>
<critical>You MUST have already loaded and processed: {installed_path}/workflow.yaml</critical> <critical>You MUST have already loaded and processed: {installed_path}/workflow.yaml</critical>
<critical>This workflow assembles a Story Context XML for a single user story by extracting ACs, tasks, relevant docs/code, interfaces, constraints, and testing guidance to support implementation.</critical> <critical>This workflow assembles a Story Context XML for a single user story by extracting ACs, tasks, relevant docs/code, interfaces, constraints, and testing guidance to support implementation.</critical>
<critical>Default execution mode: #yolo (non-interactive). Only ask if {{non_interactive}} == false. If auto-discovery fails, HALT and request 'story_path' or 'story_dir'.</critical> <critical>Default execution mode: #yolo (non-interactive). Only ask if {{non_interactive}} == false. If auto-discovery fails, HALT and request 'story_path' or 'story_dir'.</critical>
<workflow> <workflow>
<step n="1" goal="Locate story and initialize output"> <step n="1" goal="Check and load workflow status file">
<action>Search {output_folder}/ for files matching pattern: project-workflow-status*.md</action>
<action>Find the most recent file (by date in filename: project-workflow-status-YYYY-MM-DD.md)</action>
<check if="exists">
<action>Load the status file</action>
<action>Extract key information:</action>
- current_step: What workflow was last run
- next_step: What workflow should run next
- planned_workflow: The complete workflow journey table
- progress_percentage: Current progress
- IN PROGRESS story: The story being worked on (from Implementation Progress section)
<action>Set status_file_found = true</action>
<action>Store status_file_path for later updates</action>
<check if='next_step != "story-context" AND current_step != "story-ready"'>
<ask>**⚠️ Workflow Sequence Note**
Status file shows:
- Current step: {{current_step}}
- Expected next: {{next_step}}
This workflow (story-context) is typically run after story-ready.
Options:
1. Continue anyway (story-context is optional)
2. Exit and run the expected workflow: {{next_step}}
3. Check status with workflow-status
What would you like to do?</ask>
<action>If user chooses exit → HALT with message: "Run workflow-status to see current state"</action>
</check>
</check>
<check if="not exists">
<ask>**No workflow status file found.**
The status file tracks progress across all workflows and provides context about which story to work on.
Options:
1. Run workflow-status first to create the status file (recommended)
2. Continue in standalone mode (no progress tracking)
3. Exit
What would you like to do?</ask>
<action>If user chooses option 1 → HALT with message: "Please run workflow-status first, then return to story-context"</action>
<action>If user chooses option 2 → Set standalone_mode = true and continue</action>
<action>If user chooses option 3 → HALT</action>
</check>
</step>
<step n="2" goal="Locate story and initialize output">
<action>If {{story_path}} provided and valid → use it; else auto-discover from {{story_dir}}.</action> <action>If {{story_path}} provided and valid → use it; else auto-discover from {{story_dir}}.</action>
<action>Auto-discovery: read {{story_dir}} (dev_story_location). If invalid/missing or contains no .md files, ASK for a story file path or directory to scan.</action> <action>Auto-discovery: read {{story_dir}} (dev_story_location). If invalid/missing or contains no .md files, ASK for a story file path or directory to scan.</action>
<action>If a directory is provided, list markdown files named "story-*.md" recursively; sort by last modified time; display top {{story_selection_limit}} with index, filename, path, modified time.</action> <action>If a directory is provided, list markdown files named "story-*.md" recursively; sort by last modified time; display top {{story_selection_limit}} with index, filename, path, modified time.</action>
@@ -21,7 +73,7 @@
<template-output file="{default_output_file}">so_that</template-output> <template-output file="{default_output_file}">so_that</template-output>
</step> </step>
<step n="2" goal="Collect relevant documentation"> <step n="3" goal="Collect relevant documentation">
<action>Scan docs and src module docs for items relevant to this story's domain: search keywords from story title, ACs, and tasks<</action> <action>Scan docs and src module docs for items relevant to this story's domain: search keywords from story title, ACs, and tasks<</action>
<action>Prefer authoritative sources: PRD, Architecture, Front-end Spec, Testing standards, module-specific docs.</action> <action>Prefer authoritative sources: PRD, Architecture, Front-end Spec, Testing standards, module-specific docs.</action>
<template-output file="{default_output_file}"> <template-output file="{default_output_file}">
@@ -29,7 +81,7 @@
</template-output> </template-output>
</step> </step>
<step n="3" goal="Analyze existing code, interfaces, and constraints"> <step n="4" goal="Analyze existing code, interfaces, and constraints">
<action>Search source tree for modules, files, and symbols matching story intent and AC keywords (controllers, services, components, tests).</action> <action>Search source tree for modules, files, and symbols matching story intent and AC keywords (controllers, services, components, tests).</action>
<action>Identify existing interfaces/APIs the story should reuse rather than recreate.</action> <action>Identify existing interfaces/APIs the story should reuse rather than recreate.</action>
<action>Extract development constraints from Dev Notes and architecture (patterns, layers, testing requirements).</action> <action>Extract development constraints from Dev Notes and architecture (patterns, layers, testing requirements).</action>
@@ -40,7 +92,7 @@
</template-output> </template-output>
</step> </step>
<step n="4" goal="Gather dependencies and frameworks"> <step n="5" goal="Gather dependencies and frameworks">
<action>Detect dependency manifests and frameworks in the repo: <action>Detect dependency manifests and frameworks in the repo:
- Node: package.json (dependencies/devDependencies) - Node: package.json (dependencies/devDependencies)
- Python: pyproject.toml/requirements.txt - Python: pyproject.toml/requirements.txt
@@ -52,7 +104,7 @@
</template-output> </template-output>
</step> </step>
<step n="5" goal="Testing standards and ideas"> <step n="6" goal="Testing standards and ideas">
<action>From Dev Notes, architecture docs, testing docs, and existing tests, extract testing standards (frameworks, patterns, locations).</action> <action>From Dev Notes, architecture docs, testing docs, and existing tests, extract testing standards (frameworks, patterns, locations).</action>
<template-output file="{default_output_file}"> <template-output file="{default_output_file}">
Populate tests.standards with a concise paragraph Populate tests.standards with a concise paragraph
@@ -61,16 +113,77 @@
</template-output> </template-output>
</step> </step>
<step n="6" goal="Validate and save"> <step n="7" goal="Validate and save">
<action>Validate output XML structure and content.</action> <action>Validate output XML structure and content.</action>
<invoke-task>Validate against checklist at {installed_path}/checklist.md using bmad/core/tasks/validate-workflow.xml</invoke-task> <invoke-task>Validate against checklist at {installed_path}/checklist.md using bmad/core/tasks/validate-workflow.xml</invoke-task>
</step> </step>
<step n="7" goal="Update story status and context reference"> <step n="8" goal="Update story status and context reference">
<action>Open {{story_path}}; if Status == 'Draft' then set to 'ContextReadyDraft'; otherwise leave unchanged.</action> <action>Open {{story_path}}; if Status == 'Draft' then set to 'ContextReadyDraft'; otherwise leave unchanged.</action>
<action>Under 'Dev Agent Record' → 'Context Reference' (create if missing), add or update a list item for {default_output_file}.</action> <action>Under 'Dev Agent Record' → 'Context Reference' (create if missing), add or update a list item for {default_output_file}.</action>
<action>Save the story file.</action> <action>Save the story file.</action>
</step> </step>
<step n="9" goal="Update status file on completion">
<action>Search {output_folder}/ for files matching pattern: project-workflow-status*.md</action>
<action>Find the most recent file (by date in filename)</action>
<check if="status file exists">
<action>Load the status file</action>
<template-output file="{{status_file_path}}">current_step</template-output>
<action>Set to: "story-context (Story {{story_id}})"</action>
<template-output file="{{status_file_path}}">current_workflow</template-output>
<action>Set to: "story-context (Story {{story_id}}) - Complete"</action>
<template-output file="{{status_file_path}}">progress_percentage</template-output>
<action>Calculate per-story weight: remaining_40_percent / total_stories / 5</action>
<action>Increment by: {{per_story_weight}} * 1 (story-context weight is ~1% per story)</action>
<template-output file="{{status_file_path}}">decisions_log</template-output>
<action>Add entry:</action>
```
- **{{date}}**: Completed story-context for Story {{story_id}} ({{story_title}}). Context file: {{default_output_file}}. Next: DEV agent should run dev-story to implement.
```
<output>**✅ Story Context Generated Successfully**
**Story Details:**
- Story ID: {{story_id}}
- Title: {{story_title}}
- Context File: {{default_output_file}}
**Status file updated:**
- Current step: story-context (Story {{story_id}}) ✓
- Progress: {{new_progress_percentage}}%
**Next Steps:**
1. Load DEV agent (bmad/bmm/agents/dev.md)
2. Run `dev-story` workflow to implement the story
3. The context file will provide comprehensive implementation guidance
Check status anytime with: `workflow-status`
</output>
</check>
<check if="status file not found">
<output>**✅ Story Context Generated Successfully**
**Story Details:**
- Story ID: {{story_id}}
- Title: {{story_title}}
- Context File: {{default_output_file}}
Note: Running in standalone mode (no status file).
To track progress across workflows, run `workflow-status` first.
**Next Steps:**
1. Load DEV agent and run `dev-story` to implement
</output>
</check>
</step>
</workflow> </workflow>
``` ````

View File

@@ -92,7 +92,7 @@ If BACKLOG had 1 story and is now empty:
</step> </step>
<step n="4" goal="Update Decision Log and Next Action"> <step n="4" goal="Update Decision Log, Progress, and Next Action">
<action>Add to "## Decision Log" section:</action> <action>Add to "## Decision Log" section:</action>
@@ -100,6 +100,16 @@ If BACKLOG had 1 story and is now empty:
- **{{date}}**: Story {{todo_story_id}} ({{todo_story_title}}) marked ready for development by SM agent. Moved from TODO → IN PROGRESS. {{#if next_story}}Next story {{next_story_id}} moved from BACKLOG → TODO.{{/if}} - **{{date}}**: Story {{todo_story_id}} ({{todo_story_title}}) marked ready for development by SM agent. Moved from TODO → IN PROGRESS. {{#if next_story}}Next story {{next_story_id}} moved from BACKLOG → TODO.{{/if}}
``` ```
<template-output file="{{status_file_path}}">current_step</template-output>
<action>Set to: "story-ready (Story {{todo_story_id}})"</action>
<template-output file="{{status_file_path}}">current_workflow</template-output>
<action>Set to: "story-ready (Story {{todo_story_id}}) - Complete"</action>
<template-output file="{{status_file_path}}">progress_percentage</template-output>
<action>Calculate per-story weight: remaining_40_percent / total_stories / 5</action>
<action>Increment by: {{per_story_weight}} \* 1 (story-ready weight is ~1% per story)</action>
<action>Update "### Next Action Required" section:</action> <action>Update "### Next Action Required" section:</action>
``` ```