some output should be improved and not run together in chat windows
This commit is contained in:
parent
6d7f42dbec
commit
ec111972a0
|
|
@ -23,6 +23,14 @@ BMad-CORE (**C**ollaboration **O**ptimized **R**eflection **E**ngine) is a revol
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
## 🚀 New to v6? Start Here!
|
||||||
|
|
||||||
|
**[→ BMad Method V6 Quick Start Guide](./docs/BMad-Method-V6-Quick-Start.md)** - **NEW!** Get up and running with v6 in minutes
|
||||||
|
|
||||||
|
Learn how to build your first greenfield project with BMad Method v6 using our brand new quick start guide!
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
## 🔄 Upgrading from v4?
|
## 🔄 Upgrading from v4?
|
||||||
|
|
||||||
**[→ v4 to v6 Upgrade Guide](./docs/v4-to-v6-upgrade.md)** - Complete migration instructions for existing v4 users
|
**[→ v4 to v6 Upgrade Guide](./docs/v4-to-v6-upgrade.md)** - Complete migration instructions for existing v4 users
|
||||||
|
|
|
||||||
|
|
@ -20,8 +20,6 @@
|
||||||
<check if="user answered no">
|
<check if="user answered no">
|
||||||
<action>Proceed directly to Step 0</action>
|
<action>Proceed directly to Step 0</action>
|
||||||
</check>
|
</check>
|
||||||
|
|
||||||
<template-output>brainstorming_results</template-output>
|
|
||||||
</step>
|
</step>
|
||||||
|
|
||||||
<step n="0" goal="Load technical documentation">
|
<step n="0" goal="Load technical documentation">
|
||||||
|
|
@ -103,9 +101,24 @@
|
||||||
7. Wise Sage/Yoda - Cryptic wisdom, inverted syntax
|
7. Wise Sage/Yoda - Cryptic wisdom, inverted syntax
|
||||||
8. Game Show Host - Enthusiastic, game show tropes
|
8. Game Show Host - Enthusiastic, game show tropes
|
||||||
|
|
||||||
**Professional Presets:** 9. Analytical Expert - Systematic, data-driven, hierarchical 10. Supportive Mentor - Patient guidance, celebrates wins 11. Direct Consultant - Straight to the point, efficient 12. Collaborative Partner - Team-oriented, inclusive
|
**Professional Presets:**
|
||||||
|
|
||||||
**Quirky Presets:** 13. Cooking Show Chef - Recipe metaphors, culinary terms 14. Sports Commentator - Play-by-play, excitement 15. Nature Documentarian - Wildlife documentary style 16. Time Traveler - Temporal references, timeline talk 17. Conspiracy Theorist - Everything is connected 18. Zen Master - Philosophical, paradoxical 19. Star Trek Captain - Space exploration protocols 20. Soap Opera Drama - Dramatic reveals, gasps 21. Reality TV Contestant - Confessionals, drama
|
9. Analytical Expert - Systematic, data-driven, hierarchical
|
||||||
|
10. Supportive Mentor - Patient guidance, celebrates wins
|
||||||
|
11. Direct Consultant - Straight to the point, efficient
|
||||||
|
12. Collaborative Partner - Team-oriented, inclusive
|
||||||
|
|
||||||
|
**Quirky Presets:**
|
||||||
|
|
||||||
|
13. Cooking Show Chef - Recipe metaphors, culinary terms
|
||||||
|
14. Sports Commentator - Play-by-play, excitement
|
||||||
|
15. Nature Documentarian - Wildlife documentary style
|
||||||
|
16. Time Traveler - Temporal references, timeline talk
|
||||||
|
17. Conspiracy Theorist - Everything is connected
|
||||||
|
18. Zen Master - Philosophical, paradoxical
|
||||||
|
19. Star Trek Captain - Space exploration protocols
|
||||||
|
20. Soap Opera Drama - Dramatic reveals, gasps
|
||||||
|
21. Reality TV Contestant - Confessionals, drama
|
||||||
|
|
||||||
<action>If user wants to see more examples or create custom styles, show relevant sections from {communication_styles} guide and help them craft their unique style</action>
|
<action>If user wants to see more examples or create custom styles, show relevant sections from {communication_styles} guide and help them craft their unique style</action>
|
||||||
|
|
||||||
|
|
@ -352,16 +365,16 @@ Add domain-specific resources here.
|
||||||
<check if="external project without build tools">
|
<check if="external project without build tools">
|
||||||
<ask>Build tools not detected in this project. Would you like me to:
|
<ask>Build tools not detected in this project. Would you like me to:
|
||||||
|
|
||||||
1. Generate the compiled agent (.md with XML) ready to use
|
1. Generate the compiled agent (.md with XML) ready to use
|
||||||
2. Keep the YAML and build it elsewhere
|
2. Keep the YAML and build it elsewhere
|
||||||
3. Provide both formats
|
3. Provide both formats
|
||||||
</ask>
|
</ask>
|
||||||
|
|
||||||
<check if="option 1 or 3 selected">
|
<check if="option 1 or 3 selected">
|
||||||
<action>Generate compiled agent XML with proper structure including activation rules, persona sections, and menu items</action>
|
<action>Generate compiled agent XML with proper structure including activation rules, persona sections, and menu items</action>
|
||||||
<action>Save compiled version as {{agent_filename}}.md</action>
|
<action>Save compiled version as {{agent_filename}}.md</action>
|
||||||
<action>Provide path for .claude/commands/ or similar</action>
|
<action>Provide path for .claude/commands/ or similar</action>
|
||||||
</check>
|
</check>
|
||||||
|
|
||||||
</check>
|
</check>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -108,7 +108,8 @@ Most workflows should be `standalone: true` to give users direct access.
|
||||||
1. **Yes (Recommended)** - Users can run it directly (standalone: true)
|
1. **Yes (Recommended)** - Users can run it directly (standalone: true)
|
||||||
2. **No** - Only called by other workflows/agents (standalone: false)
|
2. **No** - Only called by other workflows/agents (standalone: false)
|
||||||
|
|
||||||
Most workflows choose option 1:</ask>
|
Most workflows choose option 1:
|
||||||
|
</ask>
|
||||||
|
|
||||||
<action>Store {{standalone_setting}} as true or false based on response</action>
|
<action>Store {{standalone_setting}} as true or false based on response</action>
|
||||||
|
|
||||||
|
|
@ -150,7 +151,8 @@ The architecture workflow is an excellent example of intent-based with prescript
|
||||||
2. **Prescriptive** - Structured, consistent, controlled interactions
|
2. **Prescriptive** - Structured, consistent, controlled interactions
|
||||||
3. **Mixed/Balanced** - I'll help you decide step-by-step
|
3. **Mixed/Balanced** - I'll help you decide step-by-step
|
||||||
|
|
||||||
What feels right for your workflow's purpose?</ask>
|
What feels right for your workflow's purpose?
|
||||||
|
</ask>
|
||||||
|
|
||||||
<action>Store {{instruction_style}} preference</action>
|
<action>Store {{instruction_style}} preference</action>
|
||||||
|
|
||||||
|
|
@ -185,11 +187,12 @@ Beyond style, consider **how interactive** this workflow should be:
|
||||||
|
|
||||||
<ask>What interactivity level suits this workflow?
|
<ask>What interactivity level suits this workflow?
|
||||||
|
|
||||||
1. **High** - Highly collaborative, user actively involved throughout
|
1. **High** - Highly collaborative, user actively involved throughout (Recommended)
|
||||||
2. **Medium** - Guided with key decision points (most common)
|
2. **Medium** - Guided with key decision points
|
||||||
3. **Low** - Autonomous with final review
|
3. **Low** - Mostly autonomous with final review
|
||||||
|
|
||||||
Select the level that matches your workflow's purpose:</ask>
|
Select the level that matches your workflow's purpose:
|
||||||
|
</ask>
|
||||||
|
|
||||||
<action>Store {{interactivity_level}} preference</action>
|
<action>Store {{interactivity_level}} preference</action>
|
||||||
|
|
||||||
|
|
@ -487,6 +490,7 @@ Generate the template.md file following guide conventions:
|
||||||
# Document Title
|
# Document Title
|
||||||
|
|
||||||
**Date:** {{date}}
|
**Date:** {{date}}
|
||||||
|
|
||||||
**Author:** {{user_name}}
|
**Author:** {{user_name}}
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
@ -575,7 +579,9 @@ Review the created workflow:
|
||||||
4. Validate YAML syntax
|
4. Validate YAML syntax
|
||||||
5. Confirm all placeholders are replaced
|
5. Confirm all placeholders are replaced
|
||||||
|
|
||||||
**Standard Config Validation:** 6. Verify workflow.yaml contains standard config block:
|
**Standard Config Validation:**
|
||||||
|
|
||||||
|
6. Verify workflow.yaml contains standard config block:
|
||||||
|
|
||||||
- config_source defined
|
- config_source defined
|
||||||
- output_folder, user_name, communication_language pulled from config
|
- output_folder, user_name, communication_language pulled from config
|
||||||
|
|
@ -584,7 +590,9 @@ Review the created workflow:
|
||||||
7. Check instructions use config variables where appropriate
|
7. Check instructions use config variables where appropriate
|
||||||
8. Verify template includes config variables in metadata (if document workflow)
|
8. Verify template includes config variables in metadata (if document workflow)
|
||||||
|
|
||||||
**YAML/Instruction/Template Alignment:** 9. Cross-check all workflow.yaml variables against instruction usage:
|
**YAML/Instruction/Template Alignment:**
|
||||||
|
|
||||||
|
9. Cross-check all workflow.yaml variables against instruction usage:
|
||||||
|
|
||||||
- Are all yaml variables referenced in instructions.md OR template.md?
|
- Are all yaml variables referenced in instructions.md OR template.md?
|
||||||
- Are there hardcoded values that should be variables?
|
- Are there hardcoded values that should be variables?
|
||||||
|
|
|
||||||
|
|
@ -5,20 +5,20 @@
|
||||||
|
|
||||||
<workflow>
|
<workflow>
|
||||||
|
|
||||||
<step n="1" goal="Validate workflow readiness">
|
<step n="1" goal="Validate workflow readiness" tag="workflow-status">
|
||||||
<invoke-workflow path="{project-root}/bmad/bmm/workflows/workflow-status">
|
<action>Check if {output_folder}/bmm-workflow-status.yaml exists</action>
|
||||||
<param>mode: validate</param>
|
|
||||||
<param>calling_workflow: brainstorm-game</param>
|
|
||||||
</invoke-workflow>
|
|
||||||
|
|
||||||
<check if="status_exists == false">
|
<check if="status file not found">
|
||||||
<output>{{suggestion}}</output>
|
<output>No workflow status file found. Game brainstorming is optional - you can continue without status tracking.</output>
|
||||||
<output>Note: Game brainstorming is optional. Continuing without progress tracking.</output>
|
|
||||||
<action>Set standalone_mode = true</action>
|
<action>Set standalone_mode = true</action>
|
||||||
</check>
|
</check>
|
||||||
|
|
||||||
<check if="status_exists == true">
|
<check if="status file found">
|
||||||
<action>Store {{status_file_path}} for later updates</action>
|
<action>Load the FULL file: {output_folder}/bmm-workflow-status.yaml</action>
|
||||||
|
<action>Parse workflow_status section</action>
|
||||||
|
<action>Check status of "brainstorm-game" workflow</action>
|
||||||
|
<action>Get project_level from YAML metadata</action>
|
||||||
|
<action>Find first non-completed workflow (next expected workflow)</action>
|
||||||
|
|
||||||
<check if="project_type != 'game'">
|
<check if="project_type != 'game'">
|
||||||
<output>Note: This is a {{project_type}} project. Game brainstorming is designed for game projects.</output>
|
<output>Note: This is a {{project_type}} project. Game brainstorming is designed for game projects.</output>
|
||||||
|
|
@ -28,10 +28,25 @@
|
||||||
</check>
|
</check>
|
||||||
</check>
|
</check>
|
||||||
|
|
||||||
<check if="warning != ''">
|
<check if="brainstorm-game status is file path (already completed)">
|
||||||
<output>{{warning}}</output>
|
<output>⚠️ Game brainstorming session already completed: {{brainstorm-game status}}</output>
|
||||||
<output>Note: Game brainstorming can be valuable at any project stage.</output>
|
<ask>Re-running will create a new session. Continue? (y/n)</ask>
|
||||||
|
<check if="n">
|
||||||
|
<output>Exiting. Use workflow-status to see your next step.</output>
|
||||||
|
<action>Exit workflow</action>
|
||||||
|
</check>
|
||||||
</check>
|
</check>
|
||||||
|
|
||||||
|
<check if="brainstorm-game is not the next expected workflow (latter items are completed already in the list)">
|
||||||
|
<output>⚠️ Next expected workflow: {{next_workflow}}. Game brainstorming is out of sequence.</output>
|
||||||
|
<ask>Continue with game brainstorming anyway? (y/n)</ask>
|
||||||
|
<check if="n">
|
||||||
|
<output>Exiting. Run {{next_workflow}} instead.</output>
|
||||||
|
<action>Exit workflow</action>
|
||||||
|
</check>
|
||||||
|
</check>
|
||||||
|
|
||||||
|
<action>Set standalone_mode = false</action>
|
||||||
</check>
|
</check>
|
||||||
|
|
||||||
</step>
|
</step>
|
||||||
|
|
@ -66,17 +81,16 @@
|
||||||
</invoke-workflow>
|
</invoke-workflow>
|
||||||
</step>
|
</step>
|
||||||
|
|
||||||
<step n="4" goal="Update status and complete">
|
<step n="4" goal="Update status and complete" tag="workflow-status">
|
||||||
<check if="standalone_mode != true">
|
<check if="standalone_mode != true">
|
||||||
<invoke-workflow path="{project-root}/bmad/bmm/workflows/workflow-status">
|
<action>Load the FULL file: {output_folder}/bmm-workflow-status.yaml</action>
|
||||||
<param>mode: update</param>
|
<action>Find workflow_status key "brainstorm-game"</action>
|
||||||
<param>action: complete_workflow</param>
|
<critical>ONLY write the file path as the status value - no other text, notes, or metadata</critical>
|
||||||
<param>workflow_name: brainstorm-game</param>
|
<action>Update workflow_status["brainstorm-game"] = "{output_folder}/bmm-brainstorming-session-{{date}}.md"</action>
|
||||||
</invoke-workflow>
|
<action>Save file, preserving ALL comments and structure including STATUS DEFINITIONS</action>
|
||||||
|
|
||||||
<check if="success == true">
|
<action>Find first non-completed workflow in workflow_status (next workflow to do)</action>
|
||||||
<output>Status updated! Next: {{next_workflow}}</output>
|
<action>Determine next agent from path file based on next workflow</action>
|
||||||
</check>
|
|
||||||
</check>
|
</check>
|
||||||
|
|
||||||
<output>**✅ Game Brainstorming Session Complete, {user_name}!**
|
<output>**✅ Game Brainstorming Session Complete, {user_name}!**
|
||||||
|
|
@ -88,16 +102,21 @@
|
||||||
{{#if standalone_mode != true}}
|
{{#if standalone_mode != true}}
|
||||||
**Status Updated:**
|
**Status Updated:**
|
||||||
|
|
||||||
- Progress tracking updated
|
- Progress tracking updated: brainstorm-game marked complete
|
||||||
|
- Next workflow: {{next_workflow}}
|
||||||
|
{{else}}
|
||||||
|
**Note:** Running in standalone mode (no progress tracking)
|
||||||
|
{{/if}}
|
||||||
|
|
||||||
**Next Steps:**
|
**Next Steps:**
|
||||||
|
|
||||||
- **Next required:** {{next_workflow}} ({{next_agent}} agent)
|
{{#if standalone_mode != true}}
|
||||||
|
|
||||||
|
- **Next workflow:** {{next_workflow}} ({{next_agent}} agent)
|
||||||
- **Optional:** You can run other analysis workflows (research, game-brief) before proceeding
|
- **Optional:** You can run other analysis workflows (research, game-brief) before proceeding
|
||||||
|
|
||||||
Check status anytime with: `workflow-status`
|
Check status anytime with: `workflow-status`
|
||||||
{{else}}
|
{{else}}
|
||||||
**Next Steps:**
|
|
||||||
Since no workflow is in progress:
|
Since no workflow is in progress:
|
||||||
|
|
||||||
- Refer to the BMM workflow guide if unsure what to do next
|
- Refer to the BMM workflow guide if unsure what to do next
|
||||||
|
|
|
||||||
|
|
@ -8,25 +8,40 @@
|
||||||
|
|
||||||
<workflow>
|
<workflow>
|
||||||
|
|
||||||
<step n="1" goal="Validate workflow readiness">
|
<step n="1" goal="Validate workflow readiness" tag="workflow-status">
|
||||||
<invoke-workflow path="{project-root}/bmad/bmm/workflows/workflow-status">
|
<action>Check if {output_folder}/bmm-workflow-status.yaml exists</action>
|
||||||
<param>mode: validate</param>
|
|
||||||
<param>calling_workflow: brainstorm-project</param>
|
|
||||||
</invoke-workflow>
|
|
||||||
|
|
||||||
<check if="status_exists == false">
|
<check if="status file not found">
|
||||||
<output>{{suggestion}}</output>
|
<output>No workflow status file found. Brainstorming is optional - you can continue without status tracking.</output>
|
||||||
<output>Note: Brainstorming is optional. Continuing without progress tracking.</output>
|
|
||||||
<action>Set standalone_mode = true</action>
|
<action>Set standalone_mode = true</action>
|
||||||
</check>
|
</check>
|
||||||
|
|
||||||
<check if="status_exists == true">
|
<check if="status file found">
|
||||||
<action>Store {{status_file_path}} for later updates</action>
|
<action>Load the FULL file: {output_folder}/bmm-workflow-status.yaml</action>
|
||||||
|
<action>Parse workflow_status section</action>
|
||||||
|
<action>Check status of "brainstorm-project" workflow</action>
|
||||||
|
<action>Get project_level from YAML metadata</action>
|
||||||
|
<action>Find first non-completed workflow (next expected workflow)</action>
|
||||||
|
|
||||||
<check if="warning != ''">
|
<check if="brainstorm-project status is file path (already completed)">
|
||||||
<output>{{warning}}</output>
|
<output>⚠️ Brainstorming session already completed: {{brainstorm-project status}}</output>
|
||||||
<output>Note: Brainstorming can be valuable at any project stage.</output>
|
<ask>Re-running will create a new session. Continue? (y/n)</ask>
|
||||||
|
<check if="n">
|
||||||
|
<output>Exiting. Use workflow-status to see your next step.</output>
|
||||||
|
<action>Exit workflow</action>
|
||||||
|
</check>
|
||||||
</check>
|
</check>
|
||||||
|
|
||||||
|
<check if="brainstorm-project is not the next expected workflow (anything after brainstorm-project is completed already)">
|
||||||
|
<output>⚠️ Next expected workflow: {{next_workflow}}. Brainstorming is out of sequence.</output>
|
||||||
|
<ask>Continue with brainstorming anyway? (y/n)</ask>
|
||||||
|
<check if="n">
|
||||||
|
<output>Exiting. Run {{next_workflow}} instead.</output>
|
||||||
|
<action>Exit workflow</action>
|
||||||
|
</check>
|
||||||
|
</check>
|
||||||
|
|
||||||
|
<action>Set standalone_mode = false</action>
|
||||||
</check>
|
</check>
|
||||||
</step>
|
</step>
|
||||||
|
|
||||||
|
|
@ -51,36 +66,40 @@
|
||||||
</invoke-workflow>
|
</invoke-workflow>
|
||||||
</step>
|
</step>
|
||||||
|
|
||||||
<step n="4" goal="Update status and complete">
|
<step n="4" goal="Update status and complete" tag="workflow-status">
|
||||||
<check if="standalone_mode != true">
|
<check if="standalone_mode != true">
|
||||||
<invoke-workflow path="{project-root}/bmad/bmm/workflows/workflow-status">
|
<action>Load the FULL file: {output_folder}/bmm-workflow-status.yaml</action>
|
||||||
<param>mode: update</param>
|
<action>Find workflow_status key "brainstorm-project"</action>
|
||||||
<param>action: complete_workflow</param>
|
<critical>ONLY write the file path as the status value - no other text, notes, or metadata</critical>
|
||||||
<param>workflow_name: brainstorm-project</param>
|
<action>Update workflow_status["brainstorm-project"] = "{output_folder}/bmm-brainstorming-session-{{date}}.md"</action>
|
||||||
</invoke-workflow>
|
<action>Save file, preserving ALL comments and structure including STATUS DEFINITIONS</action>
|
||||||
|
|
||||||
<check if="success == true">
|
<action>Find first non-completed workflow in workflow_status (next workflow to do)</action>
|
||||||
<output>Status updated! Next: {{next_workflow}}</output>
|
<action>Determine next agent from path file based on next workflow</action>
|
||||||
</check>
|
|
||||||
</check>
|
</check>
|
||||||
|
|
||||||
<output>**✅ Brainstorming Session Complete, {user_name}!**
|
<output>**✅ Brainstorming Session Complete, {user_name}!**
|
||||||
|
|
||||||
**Session Results:**
|
**Session Results:**
|
||||||
|
|
||||||
- Brainstorming results saved to: {output_folder}/bmm-brainstorming-session-{{date}}.md
|
- Brainstorming results saved to: {output_folder}/bmm-brainstorming-session-{{date}}.md
|
||||||
|
|
||||||
{{#if standalone_mode != true}}
|
{{#if standalone_mode != true}}
|
||||||
**Status Updated:**
|
**Status Updated:**
|
||||||
|
|
||||||
- Progress tracking updated
|
- Progress tracking updated
|
||||||
|
|
||||||
**Next Steps:**
|
**Next Steps:**
|
||||||
|
|
||||||
- **Next required:** {{next_workflow}} ({{next_agent}} agent)
|
- **Next required:** {{next_workflow}} ({{next_agent}} agent)
|
||||||
- **Optional:** You can run other analysis workflows (research, product-brief) before proceeding
|
- **Optional:** You can run other analysis workflows (research, product-brief) before proceeding
|
||||||
|
|
||||||
Check status anytime with: `workflow-status`
|
Check status anytime with: `workflow-status`
|
||||||
{{else}}
|
{{else}}
|
||||||
**Next Steps:**
|
**Next Steps:**
|
||||||
|
|
||||||
Since no workflow is in progress:
|
Since no workflow is in progress:
|
||||||
|
|
||||||
- Refer to the BMM workflow guide if unsure what to do next
|
- Refer to the BMM workflow guide if unsure what to do next
|
||||||
- Or run `workflow-init` to create a workflow path and get guided next steps
|
- Or run `workflow-init` to create a workflow path and get guided next steps
|
||||||
{{/if}}
|
{{/if}}
|
||||||
|
|
|
||||||
|
|
@ -9,20 +9,20 @@
|
||||||
|
|
||||||
<workflow>
|
<workflow>
|
||||||
|
|
||||||
<step n="0" goal="Validate workflow readiness">
|
<step n="0" goal="Validate workflow readiness" tag="workflow-status">
|
||||||
<invoke-workflow path="{project-root}/bmad/bmm/workflows/workflow-status">
|
<action>Check if {output_folder}/bmm-workflow-status.yaml exists</action>
|
||||||
<param>mode: validate</param>
|
|
||||||
<param>calling_workflow: game-brief</param>
|
|
||||||
</invoke-workflow>
|
|
||||||
|
|
||||||
<check if="status_exists == false">
|
<check if="status file not found">
|
||||||
<output>{{suggestion}}</output>
|
<output>No workflow status file found. Game brief is optional - you can continue without status tracking.</output>
|
||||||
<output>Note: Game brief is optional. Continuing without progress tracking.</output>
|
|
||||||
<action>Set standalone_mode = true</action>
|
<action>Set standalone_mode = true</action>
|
||||||
</check>
|
</check>
|
||||||
|
|
||||||
<check if="status_exists == true">
|
<check if="status file found">
|
||||||
<action>Store {{status_file_path}} for later updates</action>
|
<action>Load the FULL file: {output_folder}/bmm-workflow-status.yaml</action>
|
||||||
|
<action>Parse workflow_status section</action>
|
||||||
|
<action>Check status of "game-brief" workflow</action>
|
||||||
|
<action>Get project_level from YAML metadata</action>
|
||||||
|
<action>Find first non-completed workflow (next expected workflow)</action>
|
||||||
|
|
||||||
<check if="project_type != 'game'">
|
<check if="project_type != 'game'">
|
||||||
<output>Note: This is a {{project_type}} project. Game brief is designed for game projects.</output>
|
<output>Note: This is a {{project_type}} project. Game brief is designed for game projects.</output>
|
||||||
|
|
@ -32,10 +32,25 @@
|
||||||
</check>
|
</check>
|
||||||
</check>
|
</check>
|
||||||
|
|
||||||
<check if="warning != ''">
|
<check if="game-brief status is file path (already completed)">
|
||||||
<output>{{warning}}</output>
|
<output>⚠️ Game Brief already completed: {{game-brief status}}</output>
|
||||||
<output>Note: Game brief can provide valuable vision clarity at any stage.</output>
|
<ask>Re-running will overwrite the existing brief. Continue? (y/n)</ask>
|
||||||
|
<check if="n">
|
||||||
|
<output>Exiting. Use workflow-status to see your next step.</output>
|
||||||
|
<action>Exit workflow</action>
|
||||||
|
</check>
|
||||||
</check>
|
</check>
|
||||||
|
|
||||||
|
<check if="game-brief is not the next expected workflow (latter items are completed already in the list)">
|
||||||
|
<output>⚠️ Next expected workflow: {{next_workflow}}. Game Brief is out of sequence.</output>
|
||||||
|
<ask>Continue with Game Brief anyway? (y/n)</ask>
|
||||||
|
<check if="n">
|
||||||
|
<output>Exiting. Run {{next_workflow}} instead.</output>
|
||||||
|
<action>Exit workflow</action>
|
||||||
|
</check>
|
||||||
|
</check>
|
||||||
|
|
||||||
|
<action>Set standalone_mode = false</action>
|
||||||
</check>
|
</check>
|
||||||
</step>
|
</step>
|
||||||
|
|
||||||
|
|
@ -309,17 +324,16 @@ This brief will serve as the primary input for creating the Game Design Document
|
||||||
<template-output>executive_brief</template-output>
|
<template-output>executive_brief</template-output>
|
||||||
</step>
|
</step>
|
||||||
|
|
||||||
<step n="16" goal="Update status and complete">
|
<step n="16" goal="Update status and complete" tag="workflow-status">
|
||||||
<check if="standalone_mode != true">
|
<check if="standalone_mode != true">
|
||||||
<invoke-workflow path="{project-root}/bmad/bmm/workflows/workflow-status">
|
<action>Load the FULL file: {output_folder}/bmm-workflow-status.yaml</action>
|
||||||
<param>mode: update</param>
|
<action>Find workflow_status key "game-brief"</action>
|
||||||
<param>action: complete_workflow</param>
|
<critical>ONLY write the file path as the status value - no other text, notes, or metadata</critical>
|
||||||
<param>workflow_name: game-brief</param>
|
<action>Update workflow_status["game-brief"] = "{output_folder}/bmm-game-brief-{{game_name}}-{{date}}.md"</action>
|
||||||
</invoke-workflow>
|
<action>Save file, preserving ALL comments and structure including STATUS DEFINITIONS</action>
|
||||||
|
|
||||||
<check if="success == true">
|
<action>Find first non-completed workflow in workflow_status (next workflow to do)</action>
|
||||||
<output>Status updated! Next: {{next_workflow}}</output>
|
<action>Determine next agent from path file based on next workflow</action>
|
||||||
</check>
|
|
||||||
</check>
|
</check>
|
||||||
|
|
||||||
<output>**✅ Game Brief Complete, {user_name}!**
|
<output>**✅ Game Brief Complete, {user_name}!**
|
||||||
|
|
@ -331,17 +345,17 @@ This brief will serve as the primary input for creating the Game Design Document
|
||||||
{{#if standalone_mode != true}}
|
{{#if standalone_mode != true}}
|
||||||
**Status Updated:**
|
**Status Updated:**
|
||||||
|
|
||||||
- Progress tracking updated
|
- Progress tracking updated: game-brief marked complete
|
||||||
|
- Next workflow: {{next_workflow}}
|
||||||
{{else}}
|
{{else}}
|
||||||
Note: Running in standalone mode (no status file).
|
**Note:** Running in standalone mode (no progress tracking)
|
||||||
To track progress across workflows, run `workflow-init` first.
|
|
||||||
{{/if}}
|
{{/if}}
|
||||||
|
|
||||||
**Next Steps:**
|
**Next Steps:**
|
||||||
|
|
||||||
{{#if standalone_mode != true}}
|
{{#if standalone_mode != true}}
|
||||||
|
|
||||||
- **Next required:** {{next_workflow}} ({{next_agent}} agent)
|
- **Next workflow:** {{next_workflow}} ({{next_agent}} agent)
|
||||||
- **Optional:** Consider creating a prototype of core mechanic or validating assumptions with target players before proceeding
|
- **Optional:** Consider creating a prototype of core mechanic or validating assumptions with target players before proceeding
|
||||||
|
|
||||||
Check status anytime with: `workflow-status`
|
Check status anytime with: `workflow-status`
|
||||||
|
|
|
||||||
|
|
@ -9,34 +9,45 @@
|
||||||
|
|
||||||
<workflow>
|
<workflow>
|
||||||
|
|
||||||
<step n="0" goal="Validate workflow readiness">
|
<step n="0" goal="Validate workflow readiness" tag="workflow-status">
|
||||||
<invoke-workflow path="{project-root}/bmad/bmm/workflows/workflow-status">
|
<action>Check if {output_folder}/bmm-workflow-status.yaml exists</action>
|
||||||
<param>mode: validate</param>
|
|
||||||
<param>calling_workflow: product-brief</param>
|
|
||||||
</invoke-workflow>
|
|
||||||
|
|
||||||
<check if="status_exists == false">
|
<check if="status file not found">
|
||||||
<output>{{suggestion}}</output>
|
<output>No workflow status file found. Product Brief is optional - you can continue without status tracking.</output>
|
||||||
<output>Note: Product Brief is optional. You can continue without status tracking.</output>
|
|
||||||
<action>Set standalone_mode = true</action>
|
<action>Set standalone_mode = true</action>
|
||||||
</check>
|
</check>
|
||||||
|
|
||||||
<check if="status_exists == true">
|
<check if="status file found">
|
||||||
<action>Store {{status_file_path}} for later updates</action>
|
<action>Load the FULL file: {output_folder}/bmm-workflow-status.yaml</action>
|
||||||
|
<action>Parse workflow_status section</action>
|
||||||
|
<action>Check status of "product-brief" workflow</action>
|
||||||
|
<action>Get project_level from YAML metadata</action>
|
||||||
|
<action>Find first non-completed workflow (next expected workflow)</action>
|
||||||
|
|
||||||
<check if="project_level < 2">
|
<check if="project_level < 2">
|
||||||
<output>Note: Product Brief is most valuable for Level 2+ projects. Your project is Level {{project_level}}.</output>
|
<output>Note: Product Brief is most valuable for Level 2+ projects. Your project is Level {{project_level}}.</output>
|
||||||
<output>You may want to skip directly to technical planning instead.</output>
|
<output>You may want to skip directly to technical planning instead.</output>
|
||||||
</check>
|
</check>
|
||||||
|
|
||||||
<check if="warning != ''">
|
<check if="product-brief status is file path (already completed)">
|
||||||
<output>{{warning}}</output>
|
<output>⚠️ Product Brief already completed: {{product-brief status}}</output>
|
||||||
<ask>Continue with Product Brief anyway? (y/n)</ask>
|
<ask>Re-running will overwrite the existing brief. Continue? (y/n)</ask>
|
||||||
<check if="n">
|
<check if="n">
|
||||||
<output>Exiting. {{suggestion}}</output>
|
<output>Exiting. Use workflow-status to see your next step.</output>
|
||||||
<action>Exit workflow</action>
|
<action>Exit workflow</action>
|
||||||
</check>
|
</check>
|
||||||
</check>
|
</check>
|
||||||
|
|
||||||
|
<check if="product-brief is not the next expected workflow (latter items are completed already in the list)">
|
||||||
|
<output>⚠️ Next expected workflow: {{next_workflow}}. Product Brief is out of sequence.</output>
|
||||||
|
<ask>Continue with Product Brief anyway? (y/n)</ask>
|
||||||
|
<check if="n">
|
||||||
|
<output>Exiting. Run {{next_workflow}} instead.</output>
|
||||||
|
<action>Exit workflow</action>
|
||||||
|
</check>
|
||||||
|
</check>
|
||||||
|
|
||||||
|
<action>Set standalone_mode = false</action>
|
||||||
</check>
|
</check>
|
||||||
</step>
|
</step>
|
||||||
|
|
||||||
|
|
@ -61,6 +72,7 @@
|
||||||
<ask>How would you like to work through the brief?
|
<ask>How would you like to work through the brief?
|
||||||
|
|
||||||
**1. Interactive Mode** - We'll work through each section together, discussing and refining as we go
|
**1. Interactive Mode** - We'll work through each section together, discussing and refining as we go
|
||||||
|
|
||||||
**2. YOLO Mode** - I'll generate a complete draft based on our conversation so far, then we'll refine it together
|
**2. YOLO Mode** - I'll generate a complete draft based on our conversation so far, then we'll refine it together
|
||||||
|
|
||||||
Which approach works best for you?</ask>
|
Which approach works best for you?</ask>
|
||||||
|
|
@ -273,17 +285,16 @@ This brief will serve as the primary input for creating the Product Requirements
|
||||||
<template-output>executive_brief</template-output>
|
<template-output>executive_brief</template-output>
|
||||||
</step>
|
</step>
|
||||||
|
|
||||||
<step n="16" goal="Update status file on completion">
|
<step n="16" goal="Update status file on completion" tag="workflow-status">
|
||||||
<check if="standalone_mode != true">
|
<check if="standalone_mode != true">
|
||||||
<invoke-workflow path="{project-root}/bmad/bmm/workflows/workflow-status">
|
<action>Load the FULL file: {output_folder}/bmm-workflow-status.yaml</action>
|
||||||
<param>mode: update</param>
|
<action>Find workflow_status key "product-brief"</action>
|
||||||
<param>action: complete_workflow</param>
|
<critical>ONLY write the file path as the status value - no other text, notes, or metadata</critical>
|
||||||
<param>workflow_name: product-brief</param>
|
<action>Update workflow_status["product-brief"] = "{output_folder}/bmm-product-brief-{{project_name}}-{{date}}.md"</action>
|
||||||
</invoke-workflow>
|
<action>Save file, preserving ALL comments and structure including STATUS DEFINITIONS</action>
|
||||||
|
|
||||||
<check if="success == true">
|
<action>Find first non-completed workflow in workflow_status (next workflow to do)</action>
|
||||||
<output>Status updated! Next: {{next_workflow}}</output>
|
<action>Determine next agent from path file based on next workflow</action>
|
||||||
</check>
|
|
||||||
</check>
|
</check>
|
||||||
|
|
||||||
<output>**✅ Product Brief Complete, {user_name}!**
|
<output>**✅ Product Brief Complete, {user_name}!**
|
||||||
|
|
@ -295,8 +306,8 @@ This brief will serve as the primary input for creating the Product Requirements
|
||||||
{{#if standalone_mode != true}}
|
{{#if standalone_mode != true}}
|
||||||
**Status Updated:**
|
**Status Updated:**
|
||||||
|
|
||||||
- Progress tracking updated
|
- Progress tracking updated: product-brief marked complete
|
||||||
- Current workflow marked complete
|
- Next workflow: {{next_workflow}}
|
||||||
{{else}}
|
{{else}}
|
||||||
**Note:** Running in standalone mode (no progress tracking)
|
**Note:** Running in standalone mode (no progress tracking)
|
||||||
{{/if}}
|
{{/if}}
|
||||||
|
|
@ -305,7 +316,7 @@ This brief will serve as the primary input for creating the Product Requirements
|
||||||
|
|
||||||
{{#if standalone_mode != true}}
|
{{#if standalone_mode != true}}
|
||||||
|
|
||||||
- **Next required:** {{next_workflow}} ({{next_agent}} agent)
|
- **Next workflow:** {{next_workflow}} ({{next_agent}} agent)
|
||||||
- **Optional:** Gather additional stakeholder input or run research workflows before proceeding
|
- **Optional:** Gather additional stakeholder input or run research workflows before proceeding
|
||||||
|
|
||||||
Check status anytime with: `workflow-status`
|
Check status anytime with: `workflow-status`
|
||||||
|
|
|
||||||
|
|
@ -374,60 +374,50 @@ Select option (1-4):</ask>
|
||||||
|
|
||||||
</step>
|
</step>
|
||||||
|
|
||||||
<step n="FINAL" goal="Update status file on completion">
|
<step n="FINAL" goal="Update status file on completion" tag="workflow-status">
|
||||||
<action>Search {output_folder}/ for files matching pattern: bmm-workflow-status.md</action>
|
<check if="standalone_mode != true">
|
||||||
<action>Find the most recent file (by date in filename)</action>
|
<action>Load the FULL file: {output_folder}/bmm-workflow-status.yaml</action>
|
||||||
|
<action>Find workflow_status key "research"</action>
|
||||||
|
<critical>ONLY write the file path as the status value - no other text, notes, or metadata</critical>
|
||||||
|
<action>Update workflow_status["research"] = "{output_folder}/bmm-research-deep-prompt-{{date}}.md"</action>
|
||||||
|
<action>Save file, preserving ALL comments and structure including STATUS DEFINITIONS</action>
|
||||||
|
|
||||||
<check if="status file exists">
|
<action>Find first non-completed workflow in workflow_status (next workflow to do)</action>
|
||||||
<invoke-workflow path="{project-root}/bmad/bmm/workflows/workflow-status">
|
<action>Determine next agent from path file based on next workflow</action>
|
||||||
<param>mode: update</param>
|
</check>
|
||||||
<param>action: complete_workflow</param>
|
|
||||||
<param>workflow_name: research</param>
|
|
||||||
</invoke-workflow>
|
|
||||||
|
|
||||||
<check if="success == true">
|
|
||||||
<output>Status updated! Next: {{next_workflow}}</output>
|
|
||||||
</check>
|
|
||||||
|
|
||||||
<output>**✅ Deep Research Prompt Generated**
|
<output>**✅ Deep Research Prompt Generated**
|
||||||
|
|
||||||
**Research Prompt:**
|
**Research Prompt:**
|
||||||
|
|
||||||
- Structured research prompt generated and saved
|
- Structured research prompt generated and saved to {output_folder}/bmm-research-deep-prompt-{{date}}.md
|
||||||
- Ready to execute with ChatGPT, Claude, Gemini, or Grok
|
- Ready to execute with ChatGPT, Claude, Gemini, or Grok
|
||||||
|
|
||||||
**Status file updated:**
|
{{#if standalone_mode != true}}
|
||||||
|
**Status Updated:**
|
||||||
|
|
||||||
- Current step: research (deep-prompt) ✓
|
- Progress tracking updated: research marked complete
|
||||||
- Progress: {{new_progress_percentage}}%
|
- Next workflow: {{next_workflow}}
|
||||||
|
{{else}}
|
||||||
|
**Note:** Running in standalone mode (no progress tracking)
|
||||||
|
{{/if}}
|
||||||
|
|
||||||
**Next Steps:**
|
**Next Steps:**
|
||||||
|
|
||||||
- **Next required:** {{next_workflow}} ({{next_agent}} agent)
|
{{#if standalone_mode != true}}
|
||||||
|
|
||||||
|
- **Next workflow:** {{next_workflow}} ({{next_agent}} agent)
|
||||||
- **Optional:** Execute the research prompt with AI platform, gather findings, or run additional research workflows
|
- **Optional:** Execute the research prompt with AI platform, gather findings, or run additional research workflows
|
||||||
|
|
||||||
Check status anytime with: `workflow-status`
|
Check status anytime with: `workflow-status`
|
||||||
</output>
|
{{else}}
|
||||||
</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:**
|
|
||||||
|
|
||||||
Since no workflow is in progress:
|
Since no workflow is in progress:
|
||||||
|
|
||||||
- Execute the research prompt with AI platform and gather findings
|
- Execute the research prompt with AI platform and gather findings
|
||||||
- Refer to the BMM workflow guide if unsure what to do next
|
- Refer to the BMM workflow guide if unsure what to do next
|
||||||
- Or run `workflow-init` to create a workflow path and get guided next steps
|
- Or run `workflow-init` to create a workflow path and get guided next steps
|
||||||
|
{{/if}}
|
||||||
</output>
|
</output>
|
||||||
</check>
|
|
||||||
</step>
|
</step>
|
||||||
|
|
||||||
</workflow>
|
</workflow>
|
||||||
|
|
|
||||||
|
|
@ -554,60 +554,49 @@ Create compelling executive summary with:
|
||||||
|
|
||||||
</step>
|
</step>
|
||||||
|
|
||||||
<step n="14" goal="Update status file on completion">
|
<step n="14" goal="Update status file on completion" tag="workflow-status">
|
||||||
<action>Search {output_folder}/ for files matching pattern: bmm-workflow-status.md</action>
|
<check if="standalone_mode != true">
|
||||||
<action>Find the most recent file (by date in filename)</action>
|
<action>Load the FULL file: {output_folder}/bmm-workflow-status.yaml</action>
|
||||||
|
<action>Find workflow_status key "research"</action>
|
||||||
|
<critical>ONLY write the file path as the status value - no other text, notes, or metadata</critical>
|
||||||
|
<action>Update workflow_status["research"] = "{output_folder}/bmm-research-{{research_mode}}-{{date}}.md"</action>
|
||||||
|
<action>Save file, preserving ALL comments and structure including STATUS DEFINITIONS</action>
|
||||||
|
|
||||||
<check if="status file exists">
|
<action>Find first non-completed workflow in workflow_status (next workflow to do)</action>
|
||||||
<invoke-workflow path="{project-root}/bmad/bmm/workflows/workflow-status">
|
<action>Determine next agent from path file based on next workflow</action>
|
||||||
<param>mode: update</param>
|
|
||||||
<param>action: complete_workflow</param>
|
|
||||||
<param>workflow_name: research</param>
|
|
||||||
</invoke-workflow>
|
|
||||||
|
|
||||||
<check if="success == true">
|
|
||||||
<output>Status updated! Next: {{next_workflow}}</output>
|
|
||||||
</check>
|
|
||||||
</check>
|
</check>
|
||||||
|
|
||||||
<output>**✅ Research Complete ({{research_mode}} mode)**
|
<output>**✅ Research Complete ({{research_mode}} mode)**
|
||||||
|
|
||||||
**Research Report:**
|
**Research Report:**
|
||||||
|
|
||||||
- Research report generated and saved
|
- Research report generated and saved to {output_folder}/bmm-research-{{research_mode}}-{{date}}.md
|
||||||
|
|
||||||
**Status file updated:**
|
{{#if standalone_mode != true}}
|
||||||
|
**Status Updated:**
|
||||||
|
|
||||||
- Current step: research ({{research_mode}}) ✓
|
- Progress tracking updated: research marked complete
|
||||||
- Progress: {{new_progress_percentage}}%
|
- Next workflow: {{next_workflow}}
|
||||||
|
{{else}}
|
||||||
|
**Note:** Running in standalone mode (no progress tracking)
|
||||||
|
{{/if}}
|
||||||
|
|
||||||
**Next Steps:**
|
**Next Steps:**
|
||||||
|
|
||||||
- **Next required:** {{next_workflow}} ({{next_agent}} agent)
|
{{#if standalone_mode != true}}
|
||||||
|
|
||||||
|
- **Next workflow:** {{next_workflow}} ({{next_agent}} agent)
|
||||||
- **Optional:** Review findings with stakeholders, or run additional analysis workflows (product-brief, game-brief, etc.)
|
- **Optional:** Review findings with stakeholders, or run additional analysis workflows (product-brief, game-brief, etc.)
|
||||||
|
|
||||||
Check status anytime with: `workflow-status`
|
Check status anytime with: `workflow-status`
|
||||||
</output>
|
{{else}}
|
||||||
</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).
|
|
||||||
|
|
||||||
**Next Steps:**
|
|
||||||
|
|
||||||
Since no workflow is in progress:
|
Since no workflow is in progress:
|
||||||
|
|
||||||
- Review research findings
|
- Review research findings
|
||||||
- Refer to the BMM workflow guide if unsure what to do next
|
- Refer to the BMM workflow guide if unsure what to do next
|
||||||
- Or run `workflow-init` to create a workflow path and get guided next steps
|
- Or run `workflow-init` to create a workflow path and get guided next steps
|
||||||
|
{{/if}}
|
||||||
</output>
|
</output>
|
||||||
</check>
|
|
||||||
</step>
|
</step>
|
||||||
|
|
||||||
</workflow>
|
</workflow>
|
||||||
|
|
|
||||||
|
|
@ -10,26 +10,42 @@
|
||||||
|
|
||||||
<critical>This is a ROUTER that directs to specialized research instruction sets</critical>
|
<critical>This is a ROUTER that directs to specialized research instruction sets</critical>
|
||||||
|
|
||||||
<step n="1" goal="Validate workflow readiness">
|
<step n="1" goal="Validate workflow readiness" tag="workflow-status">
|
||||||
<invoke-workflow path="{project-root}/bmad/bmm/workflows/workflow-status">
|
<action>Check if {output_folder}/bmm-workflow-status.yaml exists</action>
|
||||||
<param>mode: validate</param>
|
|
||||||
<param>calling_workflow: research</param>
|
|
||||||
</invoke-workflow>
|
|
||||||
|
|
||||||
<check if="status_exists == false">
|
<check if="status file not found">
|
||||||
<output>{{suggestion}}</output>
|
<output>No workflow status file found. Research is optional - you can continue without status tracking.</output>
|
||||||
<output>Note: Research is optional. Continuing without progress tracking.</output>
|
|
||||||
<action>Set standalone_mode = true</action>
|
<action>Set standalone_mode = true</action>
|
||||||
</check>
|
</check>
|
||||||
|
|
||||||
<check if="status_exists == true">
|
<check if="status file found">
|
||||||
<action>Store {{status_file_path}} for status updates in sub-workflows</action>
|
<action>Load the FULL file: {output_folder}/bmm-workflow-status.yaml</action>
|
||||||
<action>Pass status_file_path to loaded instruction set</action>
|
<action>Parse workflow_status section</action>
|
||||||
|
<action>Check status of "research" workflow</action>
|
||||||
|
<action>Get project_level from YAML metadata</action>
|
||||||
|
<action>Find first non-completed workflow (next expected workflow)</action>
|
||||||
|
<action>Pass status context to loaded instruction set for final update</action>
|
||||||
|
|
||||||
<check if="warning != ''">
|
<check if="research status is file path (already completed)">
|
||||||
<output>{{warning}}</output>
|
<output>⚠️ Research already completed: {{research status}}</output>
|
||||||
<output>Note: Research can provide valuable insights at any project stage.</output>
|
<ask>Re-running will create a new research report. Continue? (y/n)</ask>
|
||||||
|
<check if="n">
|
||||||
|
<output>Exiting. Use workflow-status to see your next step.</output>
|
||||||
|
<action>Exit workflow</action>
|
||||||
|
</check>
|
||||||
</check>
|
</check>
|
||||||
|
|
||||||
|
<check if="research is not the next expected workflow (latter items are completed already in the list)">
|
||||||
|
<output>⚠️ Next expected workflow: {{next_workflow}}. Research is out of sequence.</output>
|
||||||
|
<output>Note: Research can provide valuable insights at any project stage.</output>
|
||||||
|
<ask>Continue with Research anyway? (y/n)</ask>
|
||||||
|
<check if="n">
|
||||||
|
<output>Exiting. Run {{next_workflow}} instead.</output>
|
||||||
|
<action>Exit workflow</action>
|
||||||
|
</check>
|
||||||
|
</check>
|
||||||
|
|
||||||
|
<action>Set standalone_mode = false</action>
|
||||||
</check>
|
</check>
|
||||||
</step>
|
</step>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -442,60 +442,49 @@ Select option (1-5):</ask>
|
||||||
|
|
||||||
</step>
|
</step>
|
||||||
|
|
||||||
<step n="FINAL" goal="Update status file on completion">
|
<step n="FINAL" goal="Update status file on completion" tag="workflow-status">
|
||||||
<action>Search {output_folder}/ for files matching pattern: bmm-workflow-status.md</action>
|
<check if="standalone_mode != true">
|
||||||
<action>Find the most recent file (by date in filename)</action>
|
<action>Load the FULL file: {output_folder}/bmm-workflow-status.yaml</action>
|
||||||
|
<action>Find workflow_status key "research"</action>
|
||||||
|
<critical>ONLY write the file path as the status value - no other text, notes, or metadata</critical>
|
||||||
|
<action>Update workflow_status["research"] = "{output_folder}/bmm-research-technical-{{date}}.md"</action>
|
||||||
|
<action>Save file, preserving ALL comments and structure including STATUS DEFINITIONS</action>
|
||||||
|
|
||||||
<check if="status file exists">
|
<action>Find first non-completed workflow in workflow_status (next workflow to do)</action>
|
||||||
<invoke-workflow path="{project-root}/bmad/bmm/workflows/workflow-status">
|
<action>Determine next agent from path file based on next workflow</action>
|
||||||
<param>mode: update</param>
|
|
||||||
<param>action: complete_workflow</param>
|
|
||||||
<param>workflow_name: research</param>
|
|
||||||
</invoke-workflow>
|
|
||||||
|
|
||||||
<check if="success == true">
|
|
||||||
<output>Status updated! Next: {{next_workflow}}</output>
|
|
||||||
</check>
|
|
||||||
</check>
|
</check>
|
||||||
|
|
||||||
<output>**✅ Technical Research Complete**
|
<output>**✅ Technical Research Complete**
|
||||||
|
|
||||||
**Research Report:**
|
**Research Report:**
|
||||||
|
|
||||||
- Technical research report generated and saved
|
- Technical research report generated and saved to {output_folder}/bmm-research-technical-{{date}}.md
|
||||||
|
|
||||||
**Status file updated:**
|
{{#if standalone_mode != true}}
|
||||||
|
**Status Updated:**
|
||||||
|
|
||||||
- Current step: research (technical) ✓
|
- Progress tracking updated: research marked complete
|
||||||
- Progress: {{new_progress_percentage}}%
|
- Next workflow: {{next_workflow}}
|
||||||
|
{{else}}
|
||||||
|
**Note:** Running in standalone mode (no progress tracking)
|
||||||
|
{{/if}}
|
||||||
|
|
||||||
**Next Steps:**
|
**Next Steps:**
|
||||||
|
|
||||||
- **Next required:** {{next_workflow}} ({{next_agent}} agent)
|
{{#if standalone_mode != true}}
|
||||||
|
|
||||||
|
- **Next workflow:** {{next_workflow}} ({{next_agent}} agent)
|
||||||
- **Optional:** Review findings with architecture team, or run additional analysis workflows
|
- **Optional:** Review findings with architecture team, or run additional analysis workflows
|
||||||
|
|
||||||
Check status anytime with: `workflow-status`
|
Check status anytime with: `workflow-status`
|
||||||
</output>
|
{{else}}
|
||||||
</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:**
|
|
||||||
|
|
||||||
Since no workflow is in progress:
|
Since no workflow is in progress:
|
||||||
|
|
||||||
- Review technical research findings
|
- Review technical research findings
|
||||||
- Refer to the BMM workflow guide if unsure what to do next
|
- Refer to the BMM workflow guide if unsure what to do next
|
||||||
- Or run `workflow-init` to create a workflow path and get guided next steps
|
- Or run `workflow-init` to create a workflow path and get guided next steps
|
||||||
|
{{/if}}
|
||||||
</output>
|
</output>
|
||||||
</check>
|
|
||||||
</step>
|
</step>
|
||||||
|
|
||||||
</workflow>
|
</workflow>
|
||||||
|
|
|
||||||
|
|
@ -12,28 +12,42 @@
|
||||||
|
|
||||||
<critical>DOCUMENT OUTPUT: Professional, specific, actionable UX design decisions WITH RATIONALE. User skill level ({user_skill_level}) affects conversation style ONLY, not document content.</critical>
|
<critical>DOCUMENT OUTPUT: Professional, specific, actionable UX design decisions WITH RATIONALE. User skill level ({user_skill_level}) affects conversation style ONLY, not document content.</critical>
|
||||||
|
|
||||||
<step n="0" goal="Validate workflow and extract project configuration">
|
<step n="0" goal="Validate workflow readiness" tag="workflow-status">
|
||||||
|
<action>Check if {output_folder}/bmm-workflow-status.yaml exists</action>
|
||||||
|
|
||||||
<invoke-workflow path="{project-root}/bmad/bmm/workflows/workflow-status">
|
<check if="status file not found">
|
||||||
<param>mode: data</param>
|
<output>No workflow status file found. Create UX Design can run standalone or as part of BMM planning workflow.</output>
|
||||||
<param>data_request: project_config</param>
|
<output>For standalone use, we'll gather requirements as we go. For integrated use, run `workflow-init` first for better context.</output>
|
||||||
</invoke-workflow>
|
<action>Set standalone_mode = true</action>
|
||||||
|
|
||||||
<check if="status_exists == false">
|
|
||||||
<output>**Note: No Workflow Status File Found**
|
|
||||||
|
|
||||||
Create UX Design can run standalone or as part of the BMM planning workflow.
|
|
||||||
|
|
||||||
For standalone use, we'll gather requirements as we go.
|
|
||||||
For integrated use, run `workflow-init` first for better context.
|
|
||||||
</output>
|
|
||||||
<action>Set mode: standalone</action>
|
|
||||||
</check>
|
</check>
|
||||||
|
|
||||||
<check if="status_exists == true">
|
<check if="status file found">
|
||||||
<action>Store {{status_file_path}} for later updates</action>
|
<action>Load the FULL file: {output_folder}/bmm-workflow-status.yaml</action>
|
||||||
<action>Store {{project_level}} for scoping decisions</action>
|
<action>Parse workflow_status section</action>
|
||||||
<action>Set mode: integrated</action>
|
<action>Check status of "create-design" workflow</action>
|
||||||
|
<action>Get project_level from YAML metadata</action>
|
||||||
|
<action>Find first non-completed workflow (next expected workflow)</action>
|
||||||
|
|
||||||
|
<check if="create-design status is file path (already completed)">
|
||||||
|
<output>⚠️ UX Design already completed: {{create-design status}}</output>
|
||||||
|
<ask>Re-running will overwrite the existing UX design. Continue? (y/n)</ask>
|
||||||
|
<check if="n">
|
||||||
|
<output>Exiting. Use workflow-status to see your next step.</output>
|
||||||
|
<action>Exit workflow</action>
|
||||||
|
</check>
|
||||||
|
</check>
|
||||||
|
|
||||||
|
<check if="create-design is not the next expected workflow">
|
||||||
|
<output>⚠️ Next expected workflow: {{next_workflow}}. UX Design is out of sequence.</output>
|
||||||
|
<ask>Continue with UX Design anyway? (y/n)</ask>
|
||||||
|
<check if="n">
|
||||||
|
<output>Exiting. Run {{next_workflow}} instead.</output>
|
||||||
|
<action>Exit workflow</action>
|
||||||
|
</check>
|
||||||
|
</check>
|
||||||
|
|
||||||
|
<action>Set standalone_mode = false</action>
|
||||||
|
<action>Store {{project_level}} for scoping decisions</action>
|
||||||
</check>
|
</check>
|
||||||
</step>
|
</step>
|
||||||
|
|
||||||
|
|
@ -1116,12 +1130,16 @@ Based on your deployment intent: {{recommendation}}
|
||||||
|
|
||||||
<action>Save final document to {default_output_file}</action>
|
<action>Save final document to {default_output_file}</action>
|
||||||
|
|
||||||
<check if="tracking_mode == true">
|
<check if="standalone_mode != true">
|
||||||
<invoke-workflow path="{project-root}/bmad/bmm/workflows/workflow-status">
|
<action>Load the FULL file: {output_folder}/bmm-workflow-status.yaml</action>
|
||||||
<param>mode: update</param>
|
<action>Find workflow_status key "create-design"</action>
|
||||||
<param>action: complete_workflow</param>
|
<critical>ONLY write the file path as the status value - no other text, notes, or metadata</critical>
|
||||||
<param>workflow_name: create-ux-design</param>
|
<action>Update workflow_status["create-design"] = "{default_output_file}"</action>
|
||||||
</invoke-workflow>
|
<action>Save file, preserving ALL comments and structure including STATUS DEFINITIONS</action>
|
||||||
|
|
||||||
|
<action>Find first non-completed workflow in workflow_status (next workflow to do)</action>
|
||||||
|
<action>Determine next agent from path file based on next workflow</action>
|
||||||
|
|
||||||
</check>
|
</check>
|
||||||
|
|
||||||
<ask>🎨 **One more thing!** Want to see your design come to life?
|
<ask>🎨 **One more thing!** Want to see your design come to life?
|
||||||
|
|
|
||||||
|
|
@ -67,19 +67,27 @@ Use: `prd`
|
||||||
</check>
|
</check>
|
||||||
</step>
|
</step>
|
||||||
|
|
||||||
<step n="0.5" goal="Validate workflow sequencing">
|
<step n="0.5" goal="Validate workflow sequencing" tag="workflow-status">
|
||||||
|
|
||||||
<invoke-workflow path="{project-root}/bmad/bmm/workflows/workflow-status">
|
<check if="standalone_mode != true">
|
||||||
<param>mode: validate</param>
|
<action>Check status of "gdd" workflow in loaded status file</action>
|
||||||
<param>calling_workflow: gdd</param>
|
|
||||||
</invoke-workflow>
|
|
||||||
|
|
||||||
<check if="warning != ''">
|
<check if="gdd status is file path (already completed)">
|
||||||
<output>{{warning}}</output>
|
<output>⚠️ GDD already completed: {{gdd status}}</output>
|
||||||
<ask>Continue with GDD anyway? (y/n)</ask>
|
<ask>Re-running will overwrite the existing GDD. Continue? (y/n)</ask>
|
||||||
<check if="n">
|
<check if="n">
|
||||||
<output>{{suggestion}}</output>
|
<output>Exiting. Use workflow-status to see your next step.</output>
|
||||||
<action>Exit workflow</action>
|
<action>Exit workflow</action>
|
||||||
|
</check>
|
||||||
|
</check>
|
||||||
|
|
||||||
|
<check if="gdd is not the next expected workflow (latter items are completed already in the list)">
|
||||||
|
<output>⚠️ Next expected workflow: {{next_workflow}}. GDD is out of sequence.</output>
|
||||||
|
<ask>Continue with GDD anyway? (y/n)</ask>
|
||||||
|
<check if="n">
|
||||||
|
<output>Exiting. Run {{next_workflow}} instead.</output>
|
||||||
|
<action>Exit workflow</action>
|
||||||
|
</check>
|
||||||
</check>
|
</check>
|
||||||
</check>
|
</check>
|
||||||
</step>
|
</step>
|
||||||
|
|
@ -328,18 +336,23 @@ For each {{placeholder}} in the fragment, elicit and capture that information.
|
||||||
|
|
||||||
</step>
|
</step>
|
||||||
|
|
||||||
<step n="15" goal="Update status and populate story sequence">
|
<step n="15" goal="Update status and populate story sequence" tag="workflow-status">
|
||||||
|
|
||||||
<invoke-workflow path="{project-root}/bmad/bmm/workflows/workflow-status">
|
<check if="standalone_mode != true">
|
||||||
<param>mode: update</param>
|
<action>Load the FULL file: {output_folder}/bmm-workflow-status.yaml</action>
|
||||||
<param>action: complete_workflow</param>
|
<action>Find workflow_status key "gdd"</action>
|
||||||
<param>workflow_name: gdd</param>
|
<critical>ONLY write the file path as the status value - no other text, notes, or metadata</critical>
|
||||||
<param>populate_stories_from: {epics_output_file}</param>
|
<action>Update workflow_status["gdd"] = "{output_folder}/bmm-gdd-{{game_name}}-{{date}}.md"</action>
|
||||||
</invoke-workflow>
|
<action>Save file, preserving ALL comments and structure including STATUS DEFINITIONS</action>
|
||||||
|
|
||||||
<check if="success == true">
|
<action>Parse {epics_output_file} to extract all stories</action>
|
||||||
<output>Status updated! Next: {{next_workflow}} ({{next_agent}} agent)</output>
|
<action>Populate story_sequence section in status file with story IDs</action>
|
||||||
<output>Loaded {{total_stories}} stories from epics.</output>
|
<action>Set each story status to "not-started"</action>
|
||||||
|
<output>Loaded {{total_stories}} stories from epics into story sequence.</output>
|
||||||
|
|
||||||
|
<action>Find first non-completed workflow in workflow_status (next workflow to do)</action>
|
||||||
|
<action>Determine next agent from path file based on next workflow</action>
|
||||||
|
<output>Next workflow: {{next_workflow}} ({{next_agent}} agent)</output>
|
||||||
</check>
|
</check>
|
||||||
|
|
||||||
</step>
|
</step>
|
||||||
|
|
|
||||||
|
|
@ -10,20 +10,40 @@
|
||||||
<critical>If users mention gameplay mechanics, note them but keep focus on narrative</critical>
|
<critical>If users mention gameplay mechanics, note them but keep focus on narrative</critical>
|
||||||
<critical>Facilitate good brainstorming techniques throughout with the user, pushing them to come up with much of the narrative you will help weave together. The goal is for the user to feel that they crafted the narrative and story arc unless they push you to do it all or indicate YOLO</critical>
|
<critical>Facilitate good brainstorming techniques throughout with the user, pushing them to come up with much of the narrative you will help weave together. The goal is for the user to feel that they crafted the narrative and story arc unless they push you to do it all or indicate YOLO</critical>
|
||||||
|
|
||||||
<step n="0" goal="Check for workflow status">
|
<step n="0" goal="Check for workflow status" tag="workflow-status">
|
||||||
|
<action>Check if {output_folder}/bmm-workflow-status.yaml exists</action>
|
||||||
|
|
||||||
<invoke-workflow path="{project-root}/bmad/bmm/workflows/workflow-status">
|
<check if="status file not found">
|
||||||
<param>mode: init-check</param>
|
<output>No workflow status file found. Narrative workflow is optional - you can continue without status tracking.</output>
|
||||||
</invoke-workflow>
|
<action>Set standalone_mode = true</action>
|
||||||
|
|
||||||
<check if="status_exists == true">
|
|
||||||
<action>Store {{status_file_path}} for later updates</action>
|
|
||||||
<action>Set tracking_mode = true</action>
|
|
||||||
</check>
|
</check>
|
||||||
|
|
||||||
<check if="status_exists == false">
|
<check if="status file found">
|
||||||
<action>Set tracking_mode = false</action>
|
<action>Load the FULL file: {output_folder}/bmm-workflow-status.yaml</action>
|
||||||
<output>Note: Running without workflow tracking. Run `workflow-init` to enable progress tracking.</output>
|
<action>Parse workflow_status section</action>
|
||||||
|
<action>Check status of "narrative" workflow</action>
|
||||||
|
<action>Get project_level from YAML metadata</action>
|
||||||
|
<action>Find first non-completed workflow (next expected workflow)</action>
|
||||||
|
|
||||||
|
<check if="narrative status is file path (already completed)">
|
||||||
|
<output>⚠️ Narrative Design Document already completed: {{narrative status}}</output>
|
||||||
|
<ask>Re-running will overwrite the existing narrative document. Continue? (y/n)</ask>
|
||||||
|
<check if="n">
|
||||||
|
<output>Exiting. Use workflow-status to see your next step.</output>
|
||||||
|
<action>Exit workflow</action>
|
||||||
|
</check>
|
||||||
|
</check>
|
||||||
|
|
||||||
|
<check if="narrative is not the next expected workflow (latter items are completed already in the list)">
|
||||||
|
<output>⚠️ Next expected workflow: {{next_workflow}}. Narrative is out of sequence.</output>
|
||||||
|
<ask>Continue with Narrative Design anyway? (y/n)</ask>
|
||||||
|
<check if="n">
|
||||||
|
<output>Exiting. Run {{next_workflow}} instead.</output>
|
||||||
|
<action>Exit workflow</action>
|
||||||
|
</check>
|
||||||
|
</check>
|
||||||
|
|
||||||
|
<action>Set standalone_mode = false</action>
|
||||||
</check>
|
</check>
|
||||||
</step>
|
</step>
|
||||||
|
|
||||||
|
|
@ -539,19 +559,50 @@ Which would you like?</ask>
|
||||||
|
|
||||||
</step>
|
</step>
|
||||||
|
|
||||||
<step n="17" goal="Update status if tracking enabled">
|
<step n="17" goal="Update status if tracking enabled" tag="workflow-status">
|
||||||
|
|
||||||
<check if="tracking_mode == true">
|
<check if="standalone_mode != true">
|
||||||
<invoke-workflow path="{project-root}/bmad/bmm/workflows/workflow-status">
|
<action>Load the FULL file: {output_folder}/bmm-workflow-status.yaml</action>
|
||||||
<param>mode: update</param>
|
<action>Find workflow_status key "narrative"</action>
|
||||||
<param>action: complete_workflow</param>
|
<critical>ONLY write the file path as the status value - no other text, notes, or metadata</critical>
|
||||||
<param>workflow_name: narrative</param>
|
<action>Update workflow_status["narrative"] = "{output_folder}/bmm-narrative-{{game_name}}-{{date}}.md"</action>
|
||||||
</invoke-workflow>
|
<action>Save file, preserving ALL comments and structure including STATUS DEFINITIONS</action>
|
||||||
|
|
||||||
<check if="success == true">
|
<action>Find first non-completed workflow in workflow_status (next workflow to do)</action>
|
||||||
<output>✅ Status updated! Next: {{next_workflow}}</output>
|
<action>Determine next agent from path file based on next workflow</action>
|
||||||
</check>
|
|
||||||
</check>
|
</check>
|
||||||
</step>
|
|
||||||
|
<output>**✅ Narrative Design Complete, {user_name}!**
|
||||||
|
|
||||||
|
**Narrative Document:**
|
||||||
|
|
||||||
|
- Narrative design saved to {output_folder}/bmm-narrative-{{game_name}}-{{date}}.md
|
||||||
|
|
||||||
|
{{#if standalone_mode != true}}
|
||||||
|
**Status Updated:**
|
||||||
|
|
||||||
|
- Progress tracking updated: narrative marked complete
|
||||||
|
- Next workflow: {{next_workflow}}
|
||||||
|
{{else}}
|
||||||
|
**Note:** Running in standalone mode (no progress tracking)
|
||||||
|
{{/if}}
|
||||||
|
|
||||||
|
**Next Steps:**
|
||||||
|
|
||||||
|
{{#if standalone_mode != true}}
|
||||||
|
|
||||||
|
- **Next workflow:** {{next_workflow}} ({{next_agent}} agent)
|
||||||
|
- **Optional:** Review narrative with writing team or stakeholders
|
||||||
|
|
||||||
|
Check status anytime with: `workflow-status`
|
||||||
|
{{else}}
|
||||||
|
Since no workflow is in progress:
|
||||||
|
|
||||||
|
- Review narrative design with team
|
||||||
|
- Refer to the BMM workflow guide if unsure what to do next
|
||||||
|
- Or run `workflow-init` to create a workflow path and get guided next steps
|
||||||
|
{{/if}}
|
||||||
|
</output>
|
||||||
|
</step>
|
||||||
|
|
||||||
</workflow>
|
</workflow>
|
||||||
|
|
|
||||||
|
|
@ -12,37 +12,27 @@
|
||||||
|
|
||||||
<workflow>
|
<workflow>
|
||||||
|
|
||||||
<step n="0" goal="Validate workflow and extract project configuration">
|
<step n="0" goal="Validate workflow readiness" tag="workflow-status">
|
||||||
|
<action>Check if {output_folder}/bmm-workflow-status.yaml exists</action>
|
||||||
|
|
||||||
<invoke-workflow path="{project-root}/bmad/bmm/workflows/workflow-status">
|
<check if="status file not found">
|
||||||
<param>mode: data</param>
|
<output>No workflow status file found. PRD workflow can run standalone or as part of BMM workflow path.</output>
|
||||||
<param>data_request: project_config</param>
|
<output>**Recommended:** Run `workflow-init` first for project context tracking and workflow sequencing.</output>
|
||||||
</invoke-workflow>
|
<ask>Continue in standalone mode or exit to run workflow-init? (continue/exit)</ask>
|
||||||
|
<check if="continue">
|
||||||
<check if="status_exists == false">
|
<action>Set standalone_mode = true</action>
|
||||||
<output>**Note: No Workflow Status File Found**
|
</check>
|
||||||
|
<check if="exit">
|
||||||
The PRD workflow can run standalone or as part of the BMM workflow path.
|
<action>Exit workflow</action>
|
||||||
|
</check>
|
||||||
**Recommended:** Run `workflow-init` first for:
|
|
||||||
|
|
||||||
- Project context tracking
|
|
||||||
- Workflow sequencing guidance
|
|
||||||
- Progress monitoring across workflows
|
|
||||||
|
|
||||||
**Or continue standalone** without progress tracking.
|
|
||||||
</output>
|
|
||||||
<ask>Continue in standalone mode or exit to run workflow-init? (continue/exit)</ask>
|
|
||||||
<check if="continue">
|
|
||||||
<action>Set standalone_mode = true</action>
|
|
||||||
</check>
|
|
||||||
<check if="exit">
|
|
||||||
<action>Exit workflow</action>
|
|
||||||
</check>
|
|
||||||
</check>
|
</check>
|
||||||
|
|
||||||
<check if="status_exists == true">
|
<check if="status file found">
|
||||||
<action>Store {{status_file_path}} for later updates</action>
|
<action>Load the FULL file: {output_folder}/bmm-workflow-status.yaml</action>
|
||||||
|
<action>Parse workflow_status section</action>
|
||||||
|
<action>Check status of "prd" workflow</action>
|
||||||
|
<action>Get project_level from YAML metadata</action>
|
||||||
|
<action>Find first non-completed workflow (next expected workflow)</action>
|
||||||
|
|
||||||
<check if="project_level < 2">
|
<check if="project_level < 2">
|
||||||
<output>**Incorrect Workflow for Level {{project_level}}**
|
<output>**Incorrect Workflow for Level {{project_level}}**
|
||||||
|
|
@ -54,32 +44,25 @@ PRD is for Level 2-4 projects. Level 0-1 should use tech-spec directly.
|
||||||
<action>Exit and redirect to tech-spec</action>
|
<action>Exit and redirect to tech-spec</action>
|
||||||
</check>
|
</check>
|
||||||
|
|
||||||
<check if="project_type == game">
|
<check if="prd status is file path (already completed)">
|
||||||
<output>**Incorrect Workflow for Game Projects**
|
<output>⚠️ PRD already completed: {{prd status}}</output>
|
||||||
|
<ask>Re-running will overwrite the existing PRD. Continue? (y/n)</ask>
|
||||||
Game projects should use GDD workflow instead of PRD.
|
<check if="n">
|
||||||
|
<output>Exiting. Use workflow-status to see your next step.</output>
|
||||||
**Correct workflow:** `gdd` (PM agent)
|
<action>Exit workflow</action>
|
||||||
</output>
|
</check>
|
||||||
<action>Exit and redirect to gdd</action>
|
|
||||||
</check>
|
|
||||||
</check>
|
|
||||||
</step>
|
|
||||||
|
|
||||||
<step n="0.5" goal="Validate workflow sequencing">
|
|
||||||
|
|
||||||
<invoke-workflow path="{project-root}/bmad/bmm/workflows/workflow-status">
|
|
||||||
<param>mode: validate</param>
|
|
||||||
<param>calling_workflow: prd</param>
|
|
||||||
</invoke-workflow>
|
|
||||||
|
|
||||||
<check if="warning != ''">
|
|
||||||
<output>{{warning}}</output>
|
|
||||||
<ask>Continue with PRD anyway? (y/n)</ask>
|
|
||||||
<check if="n">
|
|
||||||
<output>{{suggestion}}</output>
|
|
||||||
<action>Exit workflow</action>
|
|
||||||
</check>
|
</check>
|
||||||
|
|
||||||
|
<check if="prd is not the next expected workflow">
|
||||||
|
<output>⚠️ Next expected workflow: {{next_workflow}}. PRD is out of sequence.</output>
|
||||||
|
<ask>Continue with PRD anyway? (y/n)</ask>
|
||||||
|
<check if="n">
|
||||||
|
<output>Exiting. Run {{next_workflow}} instead.</output>
|
||||||
|
<action>Exit workflow</action>
|
||||||
|
</check>
|
||||||
|
</check>
|
||||||
|
|
||||||
|
<action>Set standalone_mode = false</action>
|
||||||
</check>
|
</check>
|
||||||
</step>
|
</step>
|
||||||
|
|
||||||
|
|
@ -409,18 +392,17 @@ For each epic from the epic list, expand with full story details:
|
||||||
|
|
||||||
</step>
|
</step>
|
||||||
|
|
||||||
<step n="10" goal="Update status and complete">
|
<step n="10" goal="Update status and complete" tag="workflow-status">
|
||||||
|
|
||||||
<invoke-workflow path="{project-root}/bmad/bmm/workflows/workflow-status">
|
<check if="standalone_mode != true">
|
||||||
<param>mode: update</param>
|
<action>Load the FULL file: {output_folder}/bmm-workflow-status.yaml</action>
|
||||||
<param>action: complete_workflow</param>
|
<action>Find workflow_status key "prd"</action>
|
||||||
<param>workflow_name: prd</param>
|
<critical>ONLY write the file path as the status value - no other text, notes, or metadata</critical>
|
||||||
<param>populate_stories_from: {epics_output_file}</param>
|
<action>Update workflow_status["prd"] = "{default_output_file}"</action>
|
||||||
</invoke-workflow>
|
<action>Save file, preserving ALL comments and structure including STATUS DEFINITIONS</action>
|
||||||
|
|
||||||
<check if="success == true">
|
<action>Find first non-completed workflow in workflow_status (next workflow to do)</action>
|
||||||
<output>Status updated! Next: {{next_workflow}} ({{next_agent}} agent)</output>
|
<action>Determine next agent from path file based on next workflow</action>
|
||||||
<output>Loaded {{total_stories}} stories from epics.</output>
|
|
||||||
</check>
|
</check>
|
||||||
|
|
||||||
<output>**✅ PRD Workflow Complete, {user_name}!**
|
<output>**✅ PRD Workflow Complete, {user_name}!**
|
||||||
|
|
|
||||||
|
|
@ -13,37 +13,27 @@
|
||||||
|
|
||||||
<critical>DOCUMENT OUTPUT: Technical, precise, definitive. Specific versions only. User skill level ({user_skill_level}) affects conversation style ONLY, not document content.</critical>
|
<critical>DOCUMENT OUTPUT: Technical, precise, definitive. Specific versions only. User skill level ({user_skill_level}) affects conversation style ONLY, not document content.</critical>
|
||||||
|
|
||||||
<step n="0" goal="Validate workflow and extract project configuration">
|
<step n="0" goal="Validate workflow readiness" tag="workflow-status">
|
||||||
|
<action>Check if {output_folder}/bmm-workflow-status.yaml exists</action>
|
||||||
|
|
||||||
<invoke-workflow path="{project-root}/bmad/bmm/workflows/workflow-status">
|
<check if="status file not found">
|
||||||
<param>mode: data</param>
|
<output>No workflow status file found. Tech-spec workflow can run standalone or as part of BMM workflow path.</output>
|
||||||
<param>data_request: project_config</param>
|
<output>**Recommended:** Run `workflow-init` first for project context tracking and workflow sequencing.</output>
|
||||||
</invoke-workflow>
|
<ask>Continue in standalone mode or exit to run workflow-init? (continue/exit)</ask>
|
||||||
|
<check if="continue">
|
||||||
<check if="status_exists == false">
|
<action>Set standalone_mode = true</action>
|
||||||
<output>**Note: No Workflow Status File Found**
|
</check>
|
||||||
|
<check if="exit">
|
||||||
The tech-spec workflow can run standalone or as part of the BMM workflow path.
|
<action>Exit workflow</action>
|
||||||
|
</check>
|
||||||
**Recommended:** Run `workflow-init` first for:
|
|
||||||
|
|
||||||
- Project context tracking
|
|
||||||
- Workflow sequencing guidance
|
|
||||||
- Progress monitoring across workflows
|
|
||||||
|
|
||||||
**Or continue standalone** without progress tracking.
|
|
||||||
</output>
|
|
||||||
<ask>Continue in standalone mode or exit to run workflow-init? (continue/exit)</ask>
|
|
||||||
<check if="continue">
|
|
||||||
<action>Set standalone_mode = true</action>
|
|
||||||
</check>
|
|
||||||
<check if="exit">
|
|
||||||
<action>Exit workflow</action>
|
|
||||||
</check>
|
|
||||||
</check>
|
</check>
|
||||||
|
|
||||||
<check if="status_exists == true">
|
<check if="status file found">
|
||||||
<action>Store {{status_file_path}} for later updates</action>
|
<action>Load the FULL file: {output_folder}/bmm-workflow-status.yaml</action>
|
||||||
|
<action>Parse workflow_status section</action>
|
||||||
|
<action>Check status of "tech-spec" workflow</action>
|
||||||
|
<action>Get project_level from YAML metadata</action>
|
||||||
|
<action>Find first non-completed workflow (next expected workflow)</action>
|
||||||
|
|
||||||
<check if="project_level >= 2">
|
<check if="project_level >= 2">
|
||||||
<output>**Incorrect Workflow for Level {{project_level}}**
|
<output>**Incorrect Workflow for Level {{project_level}}**
|
||||||
|
|
@ -55,32 +45,25 @@ Tech-spec is for Level 0-1 projects. Level 2-4 should use PRD workflow.
|
||||||
<action>Exit and redirect to prd</action>
|
<action>Exit and redirect to prd</action>
|
||||||
</check>
|
</check>
|
||||||
|
|
||||||
<check if="project_type == game">
|
<check if="tech-spec status is file path (already completed)">
|
||||||
<output>**Incorrect Workflow for Game Projects**
|
<output>⚠️ Tech-spec already completed: {{tech-spec status}}</output>
|
||||||
|
<ask>Re-running will overwrite the existing tech-spec. Continue? (y/n)</ask>
|
||||||
Game projects should use GDD workflow instead of tech-spec.
|
<check if="n">
|
||||||
|
<output>Exiting. Use workflow-status to see your next step.</output>
|
||||||
**Correct workflow:** `gdd` (PM agent)
|
<action>Exit workflow</action>
|
||||||
</output>
|
</check>
|
||||||
<action>Exit and redirect to gdd</action>
|
|
||||||
</check>
|
|
||||||
</check>
|
|
||||||
</step>
|
|
||||||
|
|
||||||
<step n="0.5" goal="Validate workflow sequencing">
|
|
||||||
|
|
||||||
<invoke-workflow path="{project-root}/bmad/bmm/workflows/workflow-status">
|
|
||||||
<param>mode: validate</param>
|
|
||||||
<param>calling_workflow: tech-spec</param>
|
|
||||||
</invoke-workflow>
|
|
||||||
|
|
||||||
<check if="warning != ''">
|
|
||||||
<output>{{warning}}</output>
|
|
||||||
<ask>Continue with tech-spec anyway? (y/n)</ask>
|
|
||||||
<check if="n">
|
|
||||||
<output>{{suggestion}}</output>
|
|
||||||
<action>Exit workflow</action>
|
|
||||||
</check>
|
</check>
|
||||||
|
|
||||||
|
<check if="tech-spec is not the next expected workflow">
|
||||||
|
<output>⚠️ Next expected workflow: {{next_workflow}}. Tech-spec is out of sequence.</output>
|
||||||
|
<ask>Continue with tech-spec anyway? (y/n)</ask>
|
||||||
|
<check if="n">
|
||||||
|
<output>Exiting. Run {{next_workflow}} instead.</output>
|
||||||
|
<action>Exit workflow</action>
|
||||||
|
</check>
|
||||||
|
</check>
|
||||||
|
|
||||||
|
<action>Set standalone_mode = false</action>
|
||||||
</check>
|
</check>
|
||||||
</step>
|
</step>
|
||||||
|
|
||||||
|
|
@ -232,24 +215,25 @@ Run cohesion validation? (y/n)</ask>
|
||||||
|
|
||||||
## Next Steps
|
## Next Steps
|
||||||
|
|
||||||
<invoke-workflow path="{project-root}/bmad/bmm/workflows/workflow-status">
|
<check if="standalone_mode != true">
|
||||||
<param>mode: update</param>
|
<action>Load the FULL file: {output_folder}/bmm-workflow-status.yaml</action>
|
||||||
<param>action: complete_workflow</param>
|
<action>Find workflow_status key "tech-spec"</action>
|
||||||
<param>workflow_name: tech-spec</param>
|
<critical>ONLY write the file path as the status value - no other text, notes, or metadata</critical>
|
||||||
</invoke-workflow>
|
<action>Update workflow_status["tech-spec"] = "{output_folder}/bmm-tech-spec-{{date}}.md"</action>
|
||||||
|
<action>Save file, preserving ALL comments and structure including STATUS DEFINITIONS</action>
|
||||||
|
|
||||||
<check if="success == true">
|
<action>Find first non-completed workflow in workflow_status (next workflow to do)</action>
|
||||||
<output>Status updated!</output>
|
<action>Determine next agent from path file based on next workflow</action>
|
||||||
</check>
|
</check>
|
||||||
|
|
||||||
<output>**✅ Tech-Spec Complete, {user_name}!**
|
<output>**✅ Tech-Spec Complete, {user_name}!**
|
||||||
|
|
||||||
**Deliverables Created:**
|
**Deliverables Created:**
|
||||||
<check if="project_level == 0">
|
|
||||||
|
|
||||||
|
<check if="project_level == 0">
|
||||||
- ✅ tech-spec.md - Technical specification
|
- ✅ tech-spec.md - Technical specification
|
||||||
- ✅ user-story.md - Single user story
|
- ✅ user-story.md - Single user story
|
||||||
</check>
|
</check>
|
||||||
|
|
||||||
<check if="project_level == 1">
|
<check if="project_level == 1">
|
||||||
- ✅ tech-spec.md - Technical specification
|
- ✅ tech-spec.md - Technical specification
|
||||||
|
|
|
||||||
|
|
@ -10,37 +10,27 @@
|
||||||
<critical>Generate all documents in {document_output_language}</critical>
|
<critical>Generate all documents in {document_output_language}</critical>
|
||||||
<critical>This workflow replaces architecture with a conversation-driven approach</critical>
|
<critical>This workflow replaces architecture with a conversation-driven approach</critical>
|
||||||
|
|
||||||
<step n="0" goal="Validate workflow and extract project configuration">
|
<step n="0" goal="Validate workflow readiness" tag="workflow-status">
|
||||||
|
<action>Check if {output_folder}/bmm-workflow-status.yaml exists</action>
|
||||||
|
|
||||||
<invoke-workflow path="{project-root}/bmad/bmm/workflows/workflow-status">
|
<check if="status file not found">
|
||||||
<param>mode: data</param>
|
<output>No workflow status file found. Decision Architecture can run standalone or as part of BMM workflow path.</output>
|
||||||
<param>data_request: project_config</param>
|
<output>**Recommended:** Run `workflow-init` first for project context tracking and workflow sequencing.</output>
|
||||||
</invoke-workflow>
|
<ask>Continue in standalone mode or exit to run workflow-init? (continue/exit)</ask>
|
||||||
|
<check if="continue">
|
||||||
<check if="status_exists == false">
|
<action>Set standalone_mode = true</action>
|
||||||
<output>**Note: No Workflow Status File Found**
|
</check>
|
||||||
|
<check if="exit">
|
||||||
The Decision Architecture workflow can run standalone or as part of the BMM workflow path.
|
<action>Exit workflow</action>
|
||||||
|
</check>
|
||||||
**Recommended:** Run `workflow-init` first for:
|
|
||||||
|
|
||||||
- Project context tracking
|
|
||||||
- Workflow sequencing guidance
|
|
||||||
- Progress monitoring across workflows
|
|
||||||
|
|
||||||
**Or continue standalone** without progress tracking.
|
|
||||||
</output>
|
|
||||||
<ask>Continue in standalone mode or exit to run workflow-init? (continue/exit)</ask>
|
|
||||||
<check if="continue">
|
|
||||||
<action>Set standalone_mode = true</action>
|
|
||||||
</check>
|
|
||||||
<check if="exit">
|
|
||||||
<action>Exit workflow</action>
|
|
||||||
</check>
|
|
||||||
</check>
|
</check>
|
||||||
|
|
||||||
<check if="status_exists == true">
|
<check if="status file found">
|
||||||
<action>Store {{status_file_path}} for later updates</action>
|
<action>Load the FULL file: {output_folder}/bmm-workflow-status.yaml</action>
|
||||||
|
<action>Parse workflow_status section</action>
|
||||||
|
<action>Check status of "create-architecture" workflow</action>
|
||||||
|
<action>Get project_level from YAML metadata</action>
|
||||||
|
<action>Find first non-completed workflow (next expected workflow)</action>
|
||||||
|
|
||||||
<check if="project_level < 3">
|
<check if="project_level < 3">
|
||||||
<output>**Note: Level {{project_level}} Project**
|
<output>**Note: Level {{project_level}} Project**
|
||||||
|
|
@ -50,23 +40,26 @@ Decision Architecture is typically for Level 3-4 projects, but can be used for a
|
||||||
For Level {{project_level}}, we'll keep the architecture appropriately scoped.
|
For Level {{project_level}}, we'll keep the architecture appropriately scoped.
|
||||||
</output>
|
</output>
|
||||||
</check>
|
</check>
|
||||||
</check>
|
|
||||||
</step>
|
|
||||||
|
|
||||||
<step n="0.5" goal="Validate workflow sequencing">
|
<check if="create-architecture status is file path (already completed)">
|
||||||
|
<output>⚠️ Architecture already completed: {{create-architecture status}}</output>
|
||||||
<invoke-workflow path="{project-root}/bmad/bmm/workflows/workflow-status">
|
<ask>Re-running will overwrite the existing architecture. Continue? (y/n)</ask>
|
||||||
<param>mode: validate</param>
|
<check if="n">
|
||||||
<param>calling_workflow: architecture</param>
|
<output>Exiting. Use workflow-status to see your next step.</output>
|
||||||
</invoke-workflow>
|
<action>Exit workflow</action>
|
||||||
|
</check>
|
||||||
<check if="warning != ''">
|
|
||||||
<output>{{warning}}</output>
|
|
||||||
<ask>Continue with Decision Architecture anyway? (y/n)</ask>
|
|
||||||
<check if="n">
|
|
||||||
<output>{{suggestion}}</output>
|
|
||||||
<action>Exit workflow</action>
|
|
||||||
</check>
|
</check>
|
||||||
|
|
||||||
|
<check if="create-architecture is not the next expected workflow">
|
||||||
|
<output>⚠️ Next expected workflow: {{next_workflow}}. Architecture is out of sequence.</output>
|
||||||
|
<ask>Continue with Architecture anyway? (y/n)</ask>
|
||||||
|
<check if="n">
|
||||||
|
<output>Exiting. Run {{next_workflow}} instead.</output>
|
||||||
|
<action>Exit workflow</action>
|
||||||
|
</check>
|
||||||
|
</check>
|
||||||
|
|
||||||
|
<action>Set standalone_mode = false</action>
|
||||||
</check>
|
</check>
|
||||||
|
|
||||||
<action>Check for existing PRD and epics files using fuzzy matching</action>
|
<action>Check for existing PRD and epics files using fuzzy matching</action>
|
||||||
|
|
@ -663,20 +656,20 @@ Enforcement: "All agents MUST follow this pattern"
|
||||||
|
|
||||||
<action>Save document to {output_folder}/architecture.md</action>
|
<action>Save document to {output_folder}/architecture.md</action>
|
||||||
|
|
||||||
<invoke-workflow path="{project-root}/bmad/bmm/workflows/workflow-status">
|
<check if="standalone_mode != true">
|
||||||
<param>mode: update</param>
|
<action>Load the FULL file: {output_folder}/bmm-workflow-status.yaml</action>
|
||||||
<param>action: complete_workflow</param>
|
<action>Find workflow_status key "create-architecture"</action>
|
||||||
<param>workflow_name: architecture</param>
|
<critical>ONLY write the file path as the status value - no other text, notes, or metadata</critical>
|
||||||
</invoke-workflow>
|
<action>Update workflow_status["create-architecture"] = "{output_folder}/bmm-architecture-{{date}}.md"</action>
|
||||||
|
<action>Save file, preserving ALL comments and structure including STATUS DEFINITIONS</action>
|
||||||
|
|
||||||
<check if="success == true">
|
<action>Find first non-completed workflow in workflow_status (next workflow to do)</action>
|
||||||
<output>✅ Decision Architecture workflow complete!
|
<action>Determine next agent from path file based on next workflow</action>
|
||||||
|
|
||||||
Status updated.
|
|
||||||
</output>
|
|
||||||
|
|
||||||
</check>
|
</check>
|
||||||
|
|
||||||
|
<output>✅ Decision Architecture workflow complete!</output>
|
||||||
|
|
||||||
<output>**Deliverables Created:**
|
<output>**Deliverables Created:**
|
||||||
|
|
||||||
- ✅ architecture.md - Complete architectural decisions document
|
- ✅ architecture.md - Complete architectural decisions document
|
||||||
|
|
|
||||||
|
|
@ -6,47 +6,53 @@
|
||||||
|
|
||||||
<workflow>
|
<workflow>
|
||||||
|
|
||||||
<step n="0" goal="Initialize and understand project context">
|
<step n="0" goal="Validate workflow readiness" tag="workflow-status">
|
||||||
<invoke-workflow path="{workflow_status_workflow}">
|
<action>Check if {output_folder}/bmm-workflow-status.yaml exists</action>
|
||||||
<param>mode: data</param>
|
|
||||||
<param>data_request: project_config</param>
|
|
||||||
</invoke-workflow>
|
|
||||||
|
|
||||||
<check if="status_exists == false">
|
<check if="status file not found">
|
||||||
<output>**Note: No Workflow Status File Found**
|
<output>No workflow status file found. Implementation Ready Check can run standalone or as part of BMM workflow path.</output>
|
||||||
|
<output>**Recommended:** Run `workflow-init` first for project context tracking and workflow sequencing.</output>
|
||||||
The Implementation Ready Check can run standalone or as part of the BMM workflow path.
|
<ask>Continue in standalone mode or exit to run workflow-init? (continue/exit)</ask>
|
||||||
|
<check if="continue">
|
||||||
**Recommended:** Run `workflow-init` first for:
|
<action>Set standalone_mode = true</action>
|
||||||
|
</check>
|
||||||
- Project context tracking
|
<check if="exit">
|
||||||
- Workflow sequencing guidance
|
<action>Exit workflow</action>
|
||||||
- Progress monitoring across workflows
|
</check>
|
||||||
|
|
||||||
**Or continue standalone** without progress tracking.
|
|
||||||
</output>
|
|
||||||
<ask>Continue in standalone mode or exit to run workflow-init? (continue/exit)</ask>
|
|
||||||
<check if="continue">
|
|
||||||
<action>Set standalone_mode = true</action>
|
|
||||||
</check>
|
|
||||||
<check if="exit">
|
|
||||||
<action>Exit workflow</action>
|
|
||||||
</check>
|
|
||||||
</check>
|
</check>
|
||||||
|
|
||||||
<check if="status_exists == true">
|
<check if="status file found">
|
||||||
<action>Store {{status_file_path}} for later updates</action>
|
<action>Load the FULL file: {output_folder}/bmm-workflow-status.yaml</action>
|
||||||
<action>Store {{project_level}}, {{active_path}}, and {{workflow_phase}} for validation context</action>
|
<action>Parse workflow_status section</action>
|
||||||
|
<action>Check status of "solutioning-gate-check" workflow</action>
|
||||||
|
<action>Get project_level from YAML metadata</action>
|
||||||
|
<action>Find first non-completed workflow (next expected workflow)</action>
|
||||||
|
|
||||||
<action>Based on the project_level, understand what artifacts should exist:
|
<action>Based on the project_level, understand what artifacts should exist: - Level 0-1: Tech spec and simple stories only (no PRD, minimal solutioning) - Level 2: PRD, tech spec, epics/stories (no separate architecture doc) - Level 3-4: Full suite - PRD, architecture document, epics/stories, possible UX artifacts
|
||||||
|
</action>
|
||||||
|
|
||||||
- Level 0-1: Tech spec and simple stories only (no PRD, minimal solutioning)
|
<check if="solutioning-gate-check status is file path (already completed)">
|
||||||
- Level 2: PRD, tech spec, epics/stories (no separate architecture doc)
|
<output>⚠️ Gate check already completed: {{solutioning-gate-check status}}</output>
|
||||||
- Level 3-4: Full suite - PRD, architecture document, epics/stories, possible UX artifacts
|
<ask>Re-running will create a new validation report. Continue? (y/n)</ask>
|
||||||
</action>
|
<check if="n">
|
||||||
|
<output>Exiting. Use workflow-status to see your next step.</output>
|
||||||
|
<action>Exit workflow</action>
|
||||||
|
</check>
|
||||||
|
</check>
|
||||||
|
|
||||||
|
<check if="solutioning-gate-check is not the next expected workflow">
|
||||||
|
<output>⚠️ Next expected workflow: {{next_workflow}}. Gate check is out of sequence.</output>
|
||||||
|
<ask>Continue with gate check anyway? (y/n)</ask>
|
||||||
|
<check if="n">
|
||||||
|
<output>Exiting. Run {{next_workflow}} instead.</output>
|
||||||
|
<action>Exit workflow</action>
|
||||||
|
</check>
|
||||||
|
</check>
|
||||||
|
|
||||||
|
<action>Set standalone_mode = false</action>
|
||||||
|
</check>
|
||||||
|
|
||||||
<critical>The validation approach must adapt to the project level - don't look for documents that shouldn't exist at lower levels</critical>
|
<critical>The validation approach must adapt to the project level - don't look for documents that shouldn't exist at lower levels</critical>
|
||||||
</check>
|
|
||||||
|
|
||||||
<template-output>project_context</template-output>
|
<template-output>project_context</template-output>
|
||||||
</step>
|
</step>
|
||||||
|
|
@ -249,23 +255,48 @@ The Implementation Ready Check can run standalone or as part of the BMM workflow
|
||||||
<template-output>readiness_assessment</template-output>
|
<template-output>readiness_assessment</template-output>
|
||||||
</step>
|
</step>
|
||||||
|
|
||||||
<step n="7" goal="Workflow status update offer" optional="true">
|
<step n="7" goal="Update status and complete" tag="workflow-status">
|
||||||
<ask>The readiness assessment is complete. Would you like to update the workflow status to proceed to the next phase? [yes/no]
|
<check if="standalone_mode != true">
|
||||||
|
<action>Load the FULL file: {output_folder}/bmm-workflow-status.yaml</action>
|
||||||
|
<action>Find workflow_status key "solutioning-gate-check"</action>
|
||||||
|
<critical>ONLY write the file path as the status value - no other text, notes, or metadata</critical>
|
||||||
|
<action>Update workflow_status["solutioning-gate-check"] = "{output_folder}/bmm-readiness-assessment-{{date}}.md"</action>
|
||||||
|
<action>Save file, preserving ALL comments and structure including STATUS DEFINITIONS</action>
|
||||||
|
|
||||||
Note: This will advance the project workflow to the next phase in your current path.</ask>
|
<action>Find first non-completed workflow in workflow_status (next workflow to do)</action>
|
||||||
|
<action>Determine next agent from path file based on next workflow</action>
|
||||||
|
</check>
|
||||||
|
|
||||||
<action if="user_response == 'yes'">
|
<output>**✅ Implementation Ready Check Complete!**
|
||||||
Determine the next workflow phase based on current status:
|
|
||||||
- If Level 0-1: Advance to implementation phase
|
|
||||||
- If Level 2-4 in solutioning: Advance to Phase 4 (Implementation)
|
|
||||||
- Update the workflow status configuration accordingly
|
|
||||||
- Confirm the update with the user
|
|
||||||
</action>
|
|
||||||
|
|
||||||
<action if="user_response == 'no'">
|
**Assessment Report:**
|
||||||
Acknowledge that the workflow status remains unchanged.
|
|
||||||
Remind user they can manually update when ready.
|
- Readiness assessment saved to: {output_folder}/bmm-readiness-assessment-{{date}}.md
|
||||||
</action>
|
|
||||||
|
{{#if standalone_mode != true}}
|
||||||
|
**Status Updated:**
|
||||||
|
|
||||||
|
- Progress tracking updated: solutioning-gate-check marked complete
|
||||||
|
- Next workflow: {{next_workflow}}
|
||||||
|
{{else}}
|
||||||
|
**Note:** Running in standalone mode (no progress tracking)
|
||||||
|
{{/if}}
|
||||||
|
|
||||||
|
**Next Steps:**
|
||||||
|
|
||||||
|
{{#if standalone_mode != true}}
|
||||||
|
|
||||||
|
- **Next workflow:** {{next_workflow}} ({{next_agent}} agent)
|
||||||
|
- Review the assessment report and address any critical issues before proceeding
|
||||||
|
|
||||||
|
Check status anytime with: `workflow-status`
|
||||||
|
{{else}}
|
||||||
|
Since no workflow is in progress:
|
||||||
|
|
||||||
|
- Refer to the BMM workflow guide if unsure what to do next
|
||||||
|
- Or run `workflow-init` to create a workflow path and get guided next steps
|
||||||
|
{{/if}}
|
||||||
|
</output>
|
||||||
|
|
||||||
<template-output>status_update_result</template-output>
|
<template-output>status_update_result</template-output>
|
||||||
</step>
|
</step>
|
||||||
|
|
|
||||||
|
|
@ -234,6 +234,7 @@ You may need to run sprint-planning to refresh tracking, or manually set the sto
|
||||||
<output>**✅ Story Created Successfully, {user_name}!**
|
<output>**✅ Story Created Successfully, {user_name}!**
|
||||||
|
|
||||||
**Story Details:**
|
**Story Details:**
|
||||||
|
|
||||||
- Story ID: {{story_id}}
|
- Story ID: {{story_id}}
|
||||||
- Story Key: {{story_key}}
|
- Story Key: {{story_key}}
|
||||||
- File: {{story_file}}
|
- File: {{story_file}}
|
||||||
|
|
@ -242,6 +243,7 @@ You may need to run sprint-planning to refresh tracking, or manually set the sto
|
||||||
**⚠️ Important:** The following workflows are context-intensive. It's recommended to clear context and restart the SM agent before running the next command.
|
**⚠️ Important:** The following workflows are context-intensive. It's recommended to clear context and restart the SM agent before running the next command.
|
||||||
|
|
||||||
**Next Steps:**
|
**Next Steps:**
|
||||||
|
|
||||||
1. Review the drafted story in {{story_file}}
|
1. Review the drafted story in {{story_file}}
|
||||||
2. **[RECOMMENDED]** Run `story-context` to generate technical context XML and mark story ready for development (combines context + ready in one step)
|
2. **[RECOMMENDED]** Run `story-context` to generate technical context XML and mark story ready for development (combines context + ready in one step)
|
||||||
3. Or run `story-ready` to manually mark the story ready without generating technical context
|
3. Or run `story-ready` to manually mark the story ready without generating technical context
|
||||||
|
|
|
||||||
|
|
@ -178,12 +178,14 @@ You may need to run sprint-planning to refresh tracking.
|
||||||
<output>✅ Story context generated successfully, {user_name}!
|
<output>✅ Story context generated successfully, {user_name}!
|
||||||
|
|
||||||
**Story Details:**
|
**Story Details:**
|
||||||
|
|
||||||
- Story: {{epic_id}}.{{story_id}} - {{story_title}}
|
- Story: {{epic_id}}.{{story_id}} - {{story_title}}
|
||||||
- Story Key: {{story_key}}
|
- Story Key: {{story_key}}
|
||||||
- Context File: {default_output_file}
|
- Context File: {default_output_file}
|
||||||
- Status: drafted → ready-for-dev
|
- Status: drafted → ready-for-dev
|
||||||
|
|
||||||
**Context Includes:**
|
**Context Includes:**
|
||||||
|
|
||||||
- Documentation artifacts and references
|
- Documentation artifacts and references
|
||||||
- Existing code and interfaces
|
- Existing code and interfaces
|
||||||
- Dependencies and frameworks
|
- Dependencies and frameworks
|
||||||
|
|
@ -191,6 +193,7 @@ You may need to run sprint-planning to refresh tracking.
|
||||||
- Development constraints
|
- Development constraints
|
||||||
|
|
||||||
**Next Steps:**
|
**Next Steps:**
|
||||||
|
|
||||||
1. Review the context file: {default_output_file}
|
1. Review the context file: {default_output_file}
|
||||||
2. Run `dev-story` to implement the story
|
2. Run `dev-story` to implement the story
|
||||||
3. Generate context for more drafted stories if needed
|
3. Generate context for more drafted stories if needed
|
||||||
|
|
|
||||||
|
|
@ -19,7 +19,7 @@ The workflow status system provides:
|
||||||
workflow-status/
|
workflow-status/
|
||||||
├── workflow.yaml # Main configuration
|
├── workflow.yaml # Main configuration
|
||||||
├── instructions.md # Status checker (99 lines)
|
├── instructions.md # Status checker (99 lines)
|
||||||
├── workflow-status-template.md # Clean key-value template
|
├── workflow-status-template.yaml # Clean YAML status template
|
||||||
├── project-levels.yaml # Source of truth for scale definitions
|
├── project-levels.yaml # Source of truth for scale definitions
|
||||||
└── paths/ # Modular workflow definitions
|
└── paths/ # Modular workflow definitions
|
||||||
├── greenfield-level-0.yaml through level-4.yaml
|
├── greenfield-level-0.yaml through level-4.yaml
|
||||||
|
|
@ -61,25 +61,44 @@ workflow-init/
|
||||||
|
|
||||||
## Status File Format
|
## Status File Format
|
||||||
|
|
||||||
Simple key-value pairs for instant parsing:
|
Clean YAML format with all workflows listed up front:
|
||||||
|
|
||||||
```markdown
|
```yaml
|
||||||
PROJECT_NAME: MyProject
|
# generated: 2025-10-29
|
||||||
PROJECT_TYPE: software
|
# project: MyProject
|
||||||
PROJECT_LEVEL: 2
|
# project_type: software
|
||||||
FIELD_TYPE: greenfield
|
# project_level: 2
|
||||||
CURRENT_PHASE: 2-Planning
|
# field_type: greenfield
|
||||||
CURRENT_WORKFLOW: prd
|
# workflow_path: greenfield-level-2.yaml
|
||||||
NEXT_ACTION: Continue PRD
|
|
||||||
NEXT_COMMAND: prd
|
workflow_status:
|
||||||
NEXT_AGENT: pm
|
# Phase 1: Analysis
|
||||||
|
brainstorm-project: optional
|
||||||
|
research: optional
|
||||||
|
product-brief: recommended
|
||||||
|
|
||||||
|
# Phase 2: Planning
|
||||||
|
prd: docs/prd.md
|
||||||
|
validate-prd: optional
|
||||||
|
create-design: conditional
|
||||||
|
|
||||||
|
# Phase 3: Solutioning
|
||||||
|
create-architecture: required
|
||||||
|
validate-architecture: optional
|
||||||
|
solutioning-gate-check: required
|
||||||
```
|
```
|
||||||
|
|
||||||
Any agent can instantly grep what they need:
|
**Status Values:**
|
||||||
|
|
||||||
- Any: `grep 'NEXT_ACTION:' status.md`
|
- `required` / `optional` / `recommended` / `conditional` - Not yet started
|
||||||
- Any: `grep 'CURRENT_PHASE:' status.md`
|
- `{file-path}` - Completed (e.g., `docs/prd.md`)
|
||||||
- Any: `grep 'NEXT_COMMAND:' status.md`
|
- `skipped` - Optional workflow that was skipped
|
||||||
|
|
||||||
|
Any agent can instantly parse what they need:
|
||||||
|
|
||||||
|
- Read YAML to see all workflows and their status
|
||||||
|
- Check which workflows are completed vs pending
|
||||||
|
- Auto-detect existing work by scanning for output files
|
||||||
|
|
||||||
## Project Levels
|
## Project Levels
|
||||||
|
|
||||||
|
|
@ -213,10 +232,10 @@ Other workflows read the status to coordinate:
|
||||||
**Phase 4 (Implementation):**
|
**Phase 4 (Implementation):**
|
||||||
|
|
||||||
- workflow-status only tracks sprint-planning completion
|
- workflow-status only tracks sprint-planning completion
|
||||||
- After sprint-planning, all story/epic tracking happens in the sprint plan output file
|
- After sprint-planning, all story/epic tracking happens in sprint-status.yaml
|
||||||
- Phase 4 workflows do NOT read/write workflow-status (except sprint-planning for prerequisite verification)
|
- Phase 4 workflows do NOT read/write workflow-status (except sprint-planning for prerequisite verification)
|
||||||
|
|
||||||
The status file is the single source of truth for Phases 1-3 and the hub that keeps all agents synchronized.
|
The workflow-status.yaml file is the single source of truth for Phases 1-3, and sprint-status.yaml takes over for Phase 4 implementation tracking.
|
||||||
|
|
||||||
## Benefits
|
## Benefits
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -261,36 +261,129 @@ Here's the complexity scale for reference:
|
||||||
<template-output>workflow_path_file</template-output>
|
<template-output>workflow_path_file</template-output>
|
||||||
</step>
|
</step>
|
||||||
|
|
||||||
<step n="5" goal="Generate workflow summary">
|
<step n="5" goal="Build workflow status YAML structure">
|
||||||
<action>Build workflow from loaded path file</action>
|
<action>Parse the loaded workflow path file and extract all workflows</action>
|
||||||
<action>Display phases and workflows</action>
|
|
||||||
<action>Set initial values for status file</action>
|
|
||||||
|
|
||||||
<template-output>current_phase</template-output>
|
<action>For each phase in the path file:
|
||||||
<template-output>current_workflow</template-output>
|
|
||||||
<template-output>current_agent</template-output>
|
- Extract phase number and name
|
||||||
<template-output>next_action</template-output>
|
- Extract all workflows in that phase
|
||||||
<template-output>next_command</template-output>
|
- For each workflow, determine its status type:
|
||||||
<template-output>next_agent</template-output>
|
- required: true → status = "required"
|
||||||
|
- recommended: true → status = "recommended"
|
||||||
|
- conditional: "if_has_ui" → status = "conditional"
|
||||||
|
- optional: true → status = "optional"
|
||||||
|
- Default if not specified → status = "required"
|
||||||
|
</action>
|
||||||
|
|
||||||
|
<action>Build the workflow_items list in this format:
|
||||||
|
|
||||||
|
For each phase:
|
||||||
|
|
||||||
|
1. Add comment header: ` # Phase {n}: {Phase Name}`
|
||||||
|
2. For each workflow in phase:
|
||||||
|
- Add entry: ` {workflow-id}: {status}`
|
||||||
|
3. Add blank line between phases
|
||||||
|
|
||||||
|
Example structure:
|
||||||
|
|
||||||
|
```
|
||||||
|
# Phase 1: Analysis
|
||||||
|
brainstorm-project: optional
|
||||||
|
research: optional
|
||||||
|
product-brief: recommended
|
||||||
|
|
||||||
|
# Phase 2: Planning
|
||||||
|
prd: required
|
||||||
|
validate-prd: optional
|
||||||
|
create-design: conditional
|
||||||
|
```
|
||||||
|
|
||||||
|
</action>
|
||||||
|
|
||||||
|
<action>Scan for existing workflow output files to auto-detect completion:
|
||||||
|
|
||||||
|
For each workflow in the list, check common output locations:
|
||||||
|
|
||||||
|
- {output_folder}/brainstorm-\*.md for brainstorm-project
|
||||||
|
- {output_folder}/research-\*.md for research
|
||||||
|
- {output_folder}/product-brief.md for product-brief
|
||||||
|
- {output_folder}/prd.md for prd
|
||||||
|
- {output_folder}/ux-design.md for create-design
|
||||||
|
- {output_folder}/architecture.md for create-architecture
|
||||||
|
- {output_folder}/tech-spec.md for tech-spec
|
||||||
|
- {output_folder}/sprint-status.yaml for sprint-planning
|
||||||
|
|
||||||
|
CRITICAL: If file exists, replace status with ONLY the file path - nothing else.
|
||||||
|
Example: product-brief: docs/product-brief.md
|
||||||
|
NOT: product-brief: "completed - docs/product-brief.md" or any other text.
|
||||||
|
</action>
|
||||||
|
|
||||||
|
<template-output>workflow_items</template-output>
|
||||||
</step>
|
</step>
|
||||||
|
|
||||||
<step n="6" goal="Create status file">
|
<step n="6" goal="Create workflow status file">
|
||||||
<action>Initialize all status values</action>
|
<action>Set generated date to current date</action>
|
||||||
<template-output>start_date</template-output>
|
<template-output>generated</template-output>
|
||||||
<template-output>last_updated</template-output>
|
|
||||||
<template-output>phase_1_complete</template-output>
|
<action>Prepare all template variables for workflow-status-template.yaml:
|
||||||
<template-output>phase_2_complete</template-output>
|
|
||||||
<template-output>phase_3_complete</template-output>
|
- generated: {current_date}
|
||||||
<template-output>phase_4_complete</template-output>
|
- project_name: {project_name}
|
||||||
|
- project_type: {project_type}
|
||||||
|
- project_level: {project_level}
|
||||||
|
- field_type: {field_type}
|
||||||
|
- workflow_path_file: {workflow_path_file}
|
||||||
|
- workflow_items: {workflow_items from step 5}
|
||||||
|
</action>
|
||||||
|
|
||||||
|
<action>Display a preview of what will be created:
|
||||||
|
|
||||||
|
Show the first workflow in each phase and total count:
|
||||||
|
|
||||||
|
"Ready to create workflow status tracking:
|
||||||
|
|
||||||
|
- Phase 1 ({phase_1_workflow_count} workflows): Starting with {first_workflow_phase_1}
|
||||||
|
- Phase 2 ({phase_2_workflow_count} workflows): Starting with {first_workflow_phase_2}
|
||||||
|
- Phase 3 ({phase_3_workflow_count} workflows): Starting with {first_workflow_phase_3}
|
||||||
|
- Phase 4 (Implementation tracked separately in sprint-status.yaml)
|
||||||
|
|
||||||
|
{{#if detected_completed_workflows}}
|
||||||
|
Found existing work:
|
||||||
|
{{#each detected_files}}
|
||||||
|
|
||||||
|
- {{workflow_name}}: {{file_path}}
|
||||||
|
{{/each}}
|
||||||
|
{{/if}}"
|
||||||
|
</action>
|
||||||
|
|
||||||
<ask>Ready to create your workflow status file? (y/n)</ask>
|
<ask>Ready to create your workflow status file? (y/n)</ask>
|
||||||
|
|
||||||
<check if="answer == y">
|
<check if="answer == y">
|
||||||
<action>Save status file to {output_folder}/bmm-workflow-status.md</action>
|
<action>Generate YAML from workflow-status-template.yaml with all variables</action>
|
||||||
<output>✅ Status file created! Next up: {{next_agent}} agent, run `{{next_command}}`</output>
|
<action>Save status file to {output_folder}/bmm-workflow-status.yaml</action>
|
||||||
<check if="next_agent !== current_agent">
|
|
||||||
<output>It is strongly recommended to clear the context or start a new chat and load the next agent to execute the next command from that agents help menu, unless there is something else I can do for you first.</output>
|
<action>Identify the first non-completed workflow in the list</action>
|
||||||
</check>
|
<action>Look up that workflow's agent and command from the path file</action>
|
||||||
|
|
||||||
|
<output>✅ Workflow status file created at {output_folder}/bmm-workflow-status.yaml
|
||||||
|
|
||||||
|
**Next Steps:**
|
||||||
|
|
||||||
|
{{#if detected_completed_workflows}}
|
||||||
|
You have {{detected_count}} workflow(s) already completed. Great progress!
|
||||||
|
{{/if}}
|
||||||
|
|
||||||
|
**Next Workflow:** {{next_workflow_name}}
|
||||||
|
|
||||||
|
**Agent:** {{next_agent}}
|
||||||
|
|
||||||
|
**Command:** /bmad:bmm:workflows:{{next_workflow_id}}
|
||||||
|
|
||||||
|
{{#if next_agent !== 'pm'}}
|
||||||
|
It is recommended to start a new chat and load the {{next_agent}} agent before running the next workflow.
|
||||||
|
{{/if}}
|
||||||
|
</output>
|
||||||
</check>
|
</check>
|
||||||
</step>
|
</step>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -16,13 +16,13 @@ date: system-generated
|
||||||
# Workflow components
|
# Workflow components
|
||||||
installed_path: "{project-root}/bmad/bmm/workflows/workflow-status/init"
|
installed_path: "{project-root}/bmad/bmm/workflows/workflow-status/init"
|
||||||
instructions: "{installed_path}/instructions.md"
|
instructions: "{installed_path}/instructions.md"
|
||||||
template: "{project-root}/bmad/bmm/workflows/workflow-status/workflow-status-template.md"
|
template: "{project-root}/bmad/bmm/workflows/workflow-status/workflow-status-template.yaml"
|
||||||
|
|
||||||
# Path data files
|
# Path data files
|
||||||
path_files: "{project-root}/bmad/bmm/workflows/workflow-status/paths/"
|
path_files: "{project-root}/bmad/bmm/workflows/workflow-status/paths/"
|
||||||
|
|
||||||
# Output configuration
|
# Output configuration
|
||||||
default_output_file: "{output_folder}/bmm-workflow-status.md"
|
default_output_file: "{output_folder}/bmm-workflow-status.yaml"
|
||||||
|
|
||||||
standalone: true
|
standalone: true
|
||||||
web_bundle: false
|
web_bundle: false
|
||||||
|
|
|
||||||
|
|
@ -33,7 +33,7 @@
|
||||||
</step>
|
</step>
|
||||||
|
|
||||||
<step n="1" goal="Check for status file">
|
<step n="1" goal="Check for status file">
|
||||||
<action>Search {output_folder}/ for file: bmm-workflow-status.md</action>
|
<action>Search {output_folder}/ for file: bmm-workflow-status.yaml</action>
|
||||||
|
|
||||||
<check if="no status file found">
|
<check if="no status file found">
|
||||||
<output>No workflow status found. To get started:
|
<output>No workflow status found. To get started:
|
||||||
|
|
@ -50,51 +50,66 @@ This will guide you through project setup and create your workflow path.</output
|
||||||
</step>
|
</step>
|
||||||
|
|
||||||
<step n="2" goal="Read and parse status">
|
<step n="2" goal="Read and parse status">
|
||||||
<action>Read bmm-workflow-status.md</action>
|
<action>Read bmm-workflow-status.yaml</action>
|
||||||
<action>Extract key-value pairs from status file:</action>
|
<action>Parse YAML file and extract metadata from comments and fields:</action>
|
||||||
|
|
||||||
Parse these fields:
|
Parse these fields from YAML comments and metadata:
|
||||||
|
|
||||||
- PROJECT_NAME
|
- project (from YAML field)
|
||||||
- PROJECT_TYPE
|
- project_type (from YAML field)
|
||||||
- PROJECT_LEVEL
|
- project_level (from YAML field)
|
||||||
- FIELD_TYPE
|
- field_type (from YAML field)
|
||||||
- CURRENT_PHASE
|
- workflow_path (from YAML field)
|
||||||
- CURRENT_WORKFLOW
|
|
||||||
- NEXT_ACTION
|
<action>Parse workflow_status section:</action>
|
||||||
- NEXT_COMMAND
|
|
||||||
- NEXT_AGENT
|
- Extract all workflow entries with their statuses
|
||||||
|
- Identify completed workflows (status = file path)
|
||||||
|
- Identify pending workflows (status = required/optional/recommended/conditional)
|
||||||
|
- Identify skipped workflows (status = skipped)
|
||||||
|
|
||||||
|
<action>Determine current state:</action>
|
||||||
|
|
||||||
|
- Find first workflow with status != file path and != skipped
|
||||||
|
- This is the NEXT workflow to work on
|
||||||
|
- Look up agent and command from workflow path file
|
||||||
</step>
|
</step>
|
||||||
|
|
||||||
<step n="3" goal="Display current status and options">
|
<step n="3" goal="Display current status and options">
|
||||||
<action>Load workflow path file to check for optional steps</action>
|
<action>Load workflow path file based on workflow_path field</action>
|
||||||
<action>Check if current workflow is in progress or complete</action>
|
<action>Identify current phase from next workflow to be done</action>
|
||||||
|
<action>Build list of completed, pending, and optional workflows</action>
|
||||||
|
|
||||||
<output>
|
<output>
|
||||||
## 📊 Current Status
|
## 📊 Current Status
|
||||||
|
|
||||||
**Project:** {{PROJECT_NAME}} (Level {{PROJECT_LEVEL}} {{PROJECT_TYPE}})
|
**Project:** {{project}} (Level {{project_level}} {{project_type}})
|
||||||
**Phase:** {{CURRENT_PHASE}}
|
|
||||||
**Current Workflow:** {{CURRENT_WORKFLOW}}
|
|
||||||
|
|
||||||
## 🎯 Your Options
|
**Path:** {{workflow_path}}
|
||||||
|
|
||||||
{{#if CURRENT_WORKFLOW != "complete"}}
|
**Progress:**
|
||||||
**Continue in progress:**
|
|
||||||
|
|
||||||
- {{CURRENT_WORKFLOW}} ({{CURRENT_AGENT}} agent)
|
{{#each phases}}
|
||||||
{{/if}}
|
{{phase_name}}:
|
||||||
|
{{#each workflows_in_phase}}
|
||||||
|
|
||||||
**Next required step:**
|
- {{workflow_name}}: {{status_display}}
|
||||||
|
{{/each}}
|
||||||
|
{{/each}}
|
||||||
|
|
||||||
- Command: `{{NEXT_COMMAND}}`
|
## 🎯 Next Steps
|
||||||
- Agent: {{NEXT_AGENT}}
|
|
||||||
|
**Next Workflow:** {{next_workflow_name}}
|
||||||
|
|
||||||
|
**Agent:** {{next_agent}}
|
||||||
|
|
||||||
|
**Command:** /bmad:bmm:workflows:{{next_workflow_id}}
|
||||||
|
|
||||||
{{#if optional_workflows_available}}
|
{{#if optional_workflows_available}}
|
||||||
**Optional workflows available:**
|
**Optional Workflows Available:**
|
||||||
{{#each optional_workflows}}
|
{{#each optional_workflows}}
|
||||||
|
|
||||||
- {{workflow_name}} ({{agent}})
|
- {{workflow_name}} ({{agent}}) - {{status}}
|
||||||
{{/each}}
|
{{/each}}
|
||||||
{{/if}}
|
{{/if}}
|
||||||
</output>
|
</output>
|
||||||
|
|
@ -103,20 +118,69 @@ Parse these fields:
|
||||||
<step n="4" goal="Offer actions">
|
<step n="4" goal="Offer actions">
|
||||||
<ask>What would you like to do?
|
<ask>What would you like to do?
|
||||||
|
|
||||||
{{#if CURRENT_WORKFLOW != "complete"}}
|
1. **Start next workflow** - {{next_workflow_name}} ({{next_agent}} agent)
|
||||||
|
|
||||||
1. **Continue current** - Resume {{CURRENT_WORKFLOW}}
|
|
||||||
{{/if}}
|
|
||||||
2. **Next required** - {{NEXT_COMMAND}}
|
|
||||||
{{#if optional_workflows_available}}
|
{{#if optional_workflows_available}}
|
||||||
3. **Optional workflow** - Choose from available options
|
2. **Run optional workflow** - Choose from available options
|
||||||
{{/if}}
|
{{/if}}
|
||||||
4. **View full status** - See complete status file
|
3. **View full status YAML** - See complete status file
|
||||||
|
4. **Update workflow status** - Mark a workflow as completed or skipped
|
||||||
5. **Exit** - Return to agent
|
5. **Exit** - Return to agent
|
||||||
|
|
||||||
Your choice:</ask>
|
Your choice:</ask>
|
||||||
|
|
||||||
<action>Handle user selection based on available options</action>
|
<action>Handle user selection based on available options</action>
|
||||||
|
|
||||||
|
<check if="choice == 1">
|
||||||
|
<output>Ready to run {{next_workflow_name}}!
|
||||||
|
|
||||||
|
**Command:** /bmad:bmm:workflows:{{next_workflow_id}}
|
||||||
|
|
||||||
|
**Agent:** Load {{next_agent}} agent first
|
||||||
|
|
||||||
|
{{#if next_agent !== current_agent}}
|
||||||
|
Tip: Start a new chat and load the {{next_agent}} agent before running this workflow.
|
||||||
|
{{/if}}
|
||||||
|
</output>
|
||||||
|
</check>
|
||||||
|
|
||||||
|
<check if="choice == 2 AND optional_workflows_available">
|
||||||
|
<ask>Which optional workflow?
|
||||||
|
{{#each optional_workflows numbered}}
|
||||||
|
{{number}}. {{workflow_name}} ({{agent}})
|
||||||
|
{{/each}}
|
||||||
|
|
||||||
|
Your choice:</ask>
|
||||||
|
<action>Display selected workflow command and agent</action>
|
||||||
|
</check>
|
||||||
|
|
||||||
|
<check if="choice == 3">
|
||||||
|
<action>Display complete bmm-workflow-status.yaml file contents</action>
|
||||||
|
</check>
|
||||||
|
|
||||||
|
<check if="choice == 4">
|
||||||
|
<ask>What would you like to update?
|
||||||
|
|
||||||
|
1. Mark a workflow as **completed** (provide file path)
|
||||||
|
2. Mark a workflow as **skipped**
|
||||||
|
|
||||||
|
Your choice:</ask>
|
||||||
|
|
||||||
|
<check if="update_choice == 1">
|
||||||
|
<ask>Which workflow? (Enter workflow ID like 'prd' or 'create-architecture')</ask>
|
||||||
|
<ask>File path created? (e.g., docs/prd.md)</ask>
|
||||||
|
<critical>ONLY write the file path as the status value - no other text, notes, or metadata</critical>
|
||||||
|
<action>Update workflow_status in YAML file: {{workflow_id}}: {{file_path}}</action>
|
||||||
|
<action>Save updated YAML file preserving ALL structure and comments</action>
|
||||||
|
<output>✅ Updated {{workflow_id}} to completed: {{file_path}}</output>
|
||||||
|
</check>
|
||||||
|
|
||||||
|
<check if="update_choice == 2">
|
||||||
|
<ask>Which workflow to skip? (Enter workflow ID)</ask>
|
||||||
|
<action>Update workflow_status in YAML file: {{workflow_id}}: skipped</action>
|
||||||
|
<action>Save updated YAML file</action>
|
||||||
|
<output>✅ Marked {{workflow_id}} as skipped</output>
|
||||||
|
</check>
|
||||||
|
</check>
|
||||||
</step>
|
</step>
|
||||||
|
|
||||||
<!-- ============================================= -->
|
<!-- ============================================= -->
|
||||||
|
|
@ -124,7 +188,7 @@ Your choice:</ask>
|
||||||
<!-- ============================================= -->
|
<!-- ============================================= -->
|
||||||
|
|
||||||
<step n="10" goal="Validate mode - Check if calling workflow should proceed">
|
<step n="10" goal="Validate mode - Check if calling workflow should proceed">
|
||||||
<action>Read {output_folder}/bmm-workflow-status.md if exists</action>
|
<action>Read {output_folder}/bmm-workflow-status.yaml if exists</action>
|
||||||
|
|
||||||
<check if="status file not found">
|
<check if="status file not found">
|
||||||
<template-output>status_exists = false</template-output>
|
<template-output>status_exists = false</template-output>
|
||||||
|
|
@ -135,23 +199,16 @@ Your choice:</ask>
|
||||||
</check>
|
</check>
|
||||||
|
|
||||||
<check if="status file found">
|
<check if="status file found">
|
||||||
<action>Parse status file fields</action>
|
<action>Parse YAML file to extract project metadata and workflow_status</action>
|
||||||
<action>Load workflow path file from WORKFLOW_PATH field</action>
|
<action>Load workflow path file from workflow_path field</action>
|
||||||
<action>Check if {{calling_workflow}} matches CURRENT_WORKFLOW or NEXT_COMMAND</action>
|
<action>Find first non-completed workflow in workflow_status (next workflow)</action>
|
||||||
|
<action>Check if {{calling_workflow}} matches next workflow or is in the workflow list</action>
|
||||||
|
|
||||||
<template-output>status_exists = true</template-output>
|
<template-output>status_exists = true</template-output>
|
||||||
<template-output>current_phase = {{CURRENT_PHASE}}</template-output>
|
<template-output>project_level = {{project_level}}</template-output>
|
||||||
<template-output>current_workflow = {{CURRENT_WORKFLOW}}</template-output>
|
<template-output>project_type = {{project_type}}</template-output>
|
||||||
<template-output>next_workflow = {{NEXT_COMMAND}}</template-output>
|
<template-output>field_type = {{field_type}}</template-output>
|
||||||
<template-output>project_level = {{PROJECT_LEVEL}}</template-output>
|
<template-output>next_workflow = {{next_workflow_id}}</template-output>
|
||||||
<template-output>project_type = {{PROJECT_TYPE}}</template-output>
|
|
||||||
<template-output>field_type = {{FIELD_TYPE}}</template-output>
|
|
||||||
|
|
||||||
<check if="calling_workflow == current_workflow">
|
|
||||||
<template-output>should_proceed = true</template-output>
|
|
||||||
<template-output>warning = ""</template-output>
|
|
||||||
<template-output>suggestion = "Resuming {{current_workflow}}"</template-output>
|
|
||||||
</check>
|
|
||||||
|
|
||||||
<check if="calling_workflow == next_workflow">
|
<check if="calling_workflow == next_workflow">
|
||||||
<template-output>should_proceed = true</template-output>
|
<template-output>should_proceed = true</template-output>
|
||||||
|
|
@ -159,16 +216,22 @@ Your choice:</ask>
|
||||||
<template-output>suggestion = "Proceeding with planned next step"</template-output>
|
<template-output>suggestion = "Proceeding with planned next step"</template-output>
|
||||||
</check>
|
</check>
|
||||||
|
|
||||||
<check if="calling_workflow != current_workflow AND calling_workflow != next_workflow">
|
<check if="calling_workflow in workflow_status list">
|
||||||
<action>Check if calling_workflow is in optional workflows list</action>
|
<action>Check the status of calling_workflow in YAML</action>
|
||||||
|
|
||||||
<check if="is optional">
|
<check if="status is file path">
|
||||||
|
<template-output>should_proceed = true</template-output>
|
||||||
|
<template-output>warning = "⚠️ Workflow already completed: {{calling_workflow}}"</template-output>
|
||||||
|
<template-output>suggestion = "This workflow was already completed. Re-running will overwrite: {{status}}"</template-output>
|
||||||
|
</check>
|
||||||
|
|
||||||
|
<check if="status is optional/recommended">
|
||||||
<template-output>should_proceed = true</template-output>
|
<template-output>should_proceed = true</template-output>
|
||||||
<template-output>warning = "Running optional workflow {{calling_workflow}}"</template-output>
|
<template-output>warning = "Running optional workflow {{calling_workflow}}"</template-output>
|
||||||
<template-output>suggestion = "This is optional. Expected next: {{next_workflow}}"</template-output>
|
<template-output>suggestion = "This is optional. Expected next: {{next_workflow}}"</template-output>
|
||||||
</check>
|
</check>
|
||||||
|
|
||||||
<check if="not optional">
|
<check if="status is required but not next">
|
||||||
<template-output>should_proceed = true</template-output>
|
<template-output>should_proceed = true</template-output>
|
||||||
<template-output>warning = "⚠️ Out of sequence: Expected {{next_workflow}}, running {{calling_workflow}}"</template-output>
|
<template-output>warning = "⚠️ Out of sequence: Expected {{next_workflow}}, running {{calling_workflow}}"</template-output>
|
||||||
<template-output>suggestion = "Consider running {{next_workflow}} instead, or continue if intentional"</template-output>
|
<template-output>suggestion = "Consider running {{next_workflow}} instead, or continue if intentional"</template-output>
|
||||||
|
|
@ -176,14 +239,20 @@ Your choice:</ask>
|
||||||
|
|
||||||
</check>
|
</check>
|
||||||
|
|
||||||
<template-output>status_file_path = {{path to bmm-workflow-status.md}}</template-output>
|
<check if="calling_workflow NOT in workflow_status list">
|
||||||
|
<template-output>should_proceed = true</template-output>
|
||||||
|
<template-output>warning = "⚠️ Unknown workflow: {{calling_workflow}} not in workflow path"</template-output>
|
||||||
|
<template-output>suggestion = "This workflow is not part of the defined path for this project"</template-output>
|
||||||
|
</check>
|
||||||
|
|
||||||
|
<template-output>status_file_path = {{path to bmm-workflow-status.yaml}}</template-output>
|
||||||
</check>
|
</check>
|
||||||
|
|
||||||
<action>Return control to calling workflow with all template outputs</action>
|
<action>Return control to calling workflow with all template outputs</action>
|
||||||
</step>
|
</step>
|
||||||
|
|
||||||
<step n="20" goal="Data mode - Extract specific information">
|
<step n="20" goal="Data mode - Extract specific information">
|
||||||
<action>Read {output_folder}/bmm-workflow-status.md if exists</action>
|
<action>Read {output_folder}/bmm-workflow-status.yaml if exists</action>
|
||||||
|
|
||||||
<check if="status file not found">
|
<check if="status file not found">
|
||||||
<template-output>status_exists = false</template-output>
|
<template-output>status_exists = false</template-output>
|
||||||
|
|
@ -192,37 +261,46 @@ Your choice:</ask>
|
||||||
</check>
|
</check>
|
||||||
|
|
||||||
<check if="status file found">
|
<check if="status file found">
|
||||||
<action>Parse status file completely</action>
|
<action>Parse YAML file completely</action>
|
||||||
<template-output>status_exists = true</template-output>
|
<template-output>status_exists = true</template-output>
|
||||||
|
|
||||||
<check if="data_request == project_config">
|
<check if="data_request == project_config">
|
||||||
<template-output>project_name = {{PROJECT_NAME}}</template-output>
|
<template-output>project_name = {{project}}</template-output>
|
||||||
<template-output>project_type = {{PROJECT_TYPE}}</template-output>
|
<template-output>project_type = {{project_type}}</template-output>
|
||||||
<template-output>project_level = {{PROJECT_LEVEL}}</template-output>
|
<template-output>project_level = {{project_level}}</template-output>
|
||||||
<template-output>field_type = {{FIELD_TYPE}}</template-output>
|
<template-output>field_type = {{field_type}}</template-output>
|
||||||
<template-output>workflow_path = {{WORKFLOW_PATH}}</template-output>
|
<template-output>workflow_path = {{workflow_path}}</template-output>
|
||||||
</check>
|
</check>
|
||||||
|
|
||||||
<check if="data_request == phase_status">
|
<check if="data_request == workflow_status">
|
||||||
<template-output>current_phase = {{CURRENT_PHASE}}</template-output>
|
<action>Parse workflow_status section and return all workflow: status pairs</action>
|
||||||
<template-output>phase_1_complete = {{PHASE_1_COMPLETE}}</template-output>
|
<template-output>workflow_status = {{workflow_status_object}}</template-output>
|
||||||
<template-output>phase_2_complete = {{PHASE_2_COMPLETE}}</template-output>
|
<action>Calculate completion stats:</action>
|
||||||
<template-output>phase_3_complete = {{PHASE_3_COMPLETE}}</template-output>
|
<template-output>total_workflows = {{count all workflows}}</template-output>
|
||||||
<template-output>phase_4_complete = {{PHASE_4_COMPLETE}}</template-output>
|
<template-output>completed_workflows = {{count file path statuses}}</template-output>
|
||||||
|
<template-output>pending_workflows = {{count required/optional/etc}}</template-output>
|
||||||
|
<template-output>skipped_workflows = {{count skipped}}</template-output>
|
||||||
</check>
|
</check>
|
||||||
|
|
||||||
<check if="data_request == all">
|
<check if="data_request == all">
|
||||||
<action>Return all parsed fields as template outputs</action>
|
<action>Return all parsed fields as template outputs</action>
|
||||||
|
<template-output>project = {{project}}</template-output>
|
||||||
|
<template-output>project_type = {{project_type}}</template-output>
|
||||||
|
<template-output>project_level = {{project_level}}</template-output>
|
||||||
|
<template-output>field_type = {{field_type}}</template-output>
|
||||||
|
<template-output>workflow_path = {{workflow_path}}</template-output>
|
||||||
|
<template-output>workflow_status = {{workflow_status_object}}</template-output>
|
||||||
|
<template-output>generated = {{generated}}</template-output>
|
||||||
</check>
|
</check>
|
||||||
|
|
||||||
<template-output>status_file_path = {{path to bmm-workflow-status.md}}</template-output>
|
<template-output>status_file_path = {{path to bmm-workflow-status.yaml}}</template-output>
|
||||||
</check>
|
</check>
|
||||||
|
|
||||||
<action>Return control to calling workflow with requested data</action>
|
<action>Return control to calling workflow with requested data</action>
|
||||||
</step>
|
</step>
|
||||||
|
|
||||||
<step n="30" goal="Init-check mode - Simple existence check">
|
<step n="30" goal="Init-check mode - Simple existence check">
|
||||||
<action>Check if {output_folder}/bmm-workflow-status.md exists</action>
|
<action>Check if {output_folder}/bmm-workflow-status.yaml exists</action>
|
||||||
|
|
||||||
<check if="exists">
|
<check if="exists">
|
||||||
<template-output>status_exists = true</template-output>
|
<template-output>status_exists = true</template-output>
|
||||||
|
|
@ -238,7 +316,7 @@ Your choice:</ask>
|
||||||
</step>
|
</step>
|
||||||
|
|
||||||
<step n="40" goal="Update mode - Centralized status file updates">
|
<step n="40" goal="Update mode - Centralized status file updates">
|
||||||
<action>Read {output_folder}/bmm-workflow-status.md</action>
|
<action>Read {output_folder}/bmm-workflow-status.yaml</action>
|
||||||
|
|
||||||
<check if="status file not found">
|
<check if="status file not found">
|
||||||
<template-output>success = false</template-output>
|
<template-output>success = false</template-output>
|
||||||
|
|
@ -247,64 +325,48 @@ Your choice:</ask>
|
||||||
</check>
|
</check>
|
||||||
|
|
||||||
<check if="status file found">
|
<check if="status file found">
|
||||||
<action>Parse all current values from status file</action>
|
<action>Parse YAML file completely</action>
|
||||||
<action>Load workflow path file from WORKFLOW_PATH field</action>
|
<action>Load workflow path file from workflow_path field</action>
|
||||||
<action>Check {{action}} parameter to determine update type</action>
|
<action>Check {{action}} parameter to determine update type</action>
|
||||||
|
|
||||||
<!-- ============================================= -->
|
<!-- ============================================= -->
|
||||||
<!-- ACTION: complete_workflow -->
|
<!-- ACTION: complete_workflow -->
|
||||||
<!-- ============================================= -->
|
<!-- ============================================= -->
|
||||||
<check if="action == complete_workflow">
|
<check if="action == complete_workflow">
|
||||||
<action>Get {{workflow_name}} parameter (required)</action>
|
<action>Get {{workflow_id}} parameter (required)</action>
|
||||||
|
<action>Get {{output_file}} parameter (required - path to created file)</action>
|
||||||
|
|
||||||
<action>Mark workflow complete:</action>
|
<critical>ONLY write the file path as the status value - no other text, notes, or metadata</critical>
|
||||||
- Update CURRENT_WORKFLOW to "{{workflow_name}} - Complete"
|
<action>Update workflow status in YAML:</action>
|
||||||
|
- In workflow_status section, update: {{workflow_id}}: {{output_file}}
|
||||||
|
|
||||||
<action>Find {{workflow_name}} in loaded path YAML</action>
|
<action>Find {{workflow_id}} in loaded path YAML</action>
|
||||||
<action>Determine next workflow from path sequence</action>
|
<action>Determine next workflow from path sequence</action>
|
||||||
|
<action>Find first workflow in workflow_status with status != file path and != skipped</action>
|
||||||
|
|
||||||
<action>Update Next Action fields:</action>
|
<action>Save updated YAML file preserving ALL structure and comments</action>
|
||||||
- NEXT_ACTION: Description from next workflow in path
|
|
||||||
- NEXT_COMMAND: Command for next workflow
|
|
||||||
- NEXT_AGENT: Agent for next workflow
|
|
||||||
- CURRENT_WORKFLOW: Set to next workflow name (or "Complete" if no more)
|
|
||||||
- CURRENT_AGENT: Set to next agent
|
|
||||||
|
|
||||||
<action>Check if phase complete:</action>
|
|
||||||
- If {{workflow_name}} is last required workflow in current phase
|
|
||||||
- Update PHASE_X_COMPLETE to true
|
|
||||||
- Update CURRENT_PHASE to next phase (if applicable)
|
|
||||||
|
|
||||||
<action>Update LAST_UPDATED to {{date}}</action>
|
|
||||||
<action>Save status file</action>
|
|
||||||
|
|
||||||
<template-output>success = true</template-output>
|
<template-output>success = true</template-output>
|
||||||
<template-output>next_workflow = {{determined next workflow}}</template-output>
|
<template-output>next_workflow = {{determined next workflow}}</template-output>
|
||||||
<template-output>next_agent = {{determined next agent}}</template-output>
|
<template-output>next_agent = {{determined next agent from path file}}</template-output>
|
||||||
<template-output>phase_complete = {{true/false}}</template-output>
|
<template-output>completed_workflow = {{workflow_id}}</template-output>
|
||||||
|
<template-output>output_file = {{output_file}}</template-output>
|
||||||
|
|
||||||
</check>
|
</check>
|
||||||
|
|
||||||
<!-- ============================================= -->
|
<!-- ============================================= -->
|
||||||
<!-- ACTION: set_current_workflow (manual override) -->
|
<!-- ACTION: skip_workflow -->
|
||||||
<!-- ============================================= -->
|
<!-- ============================================= -->
|
||||||
<check if="action == set_current_workflow">
|
<check if="action == skip_workflow">
|
||||||
<action>Get {{workflow_name}} parameter (required)</action>
|
<action>Get {{workflow_id}} parameter (required)</action>
|
||||||
<action>Get {{agent_name}} parameter (optional)</action>
|
|
||||||
|
|
||||||
<action>Update current workflow:</action>
|
<action>Update workflow status in YAML:</action>
|
||||||
- CURRENT_WORKFLOW: {{workflow_name}}
|
- In workflow_status section, update: {{workflow_id}}: skipped
|
||||||
- CURRENT_AGENT: {{agent_name or infer from path}}
|
|
||||||
|
|
||||||
<action>Find {{workflow_name}} in path to determine next:</action>
|
<action>Save updated YAML file</action>
|
||||||
- NEXT_ACTION: Next workflow description
|
|
||||||
- NEXT_COMMAND: Next workflow command
|
|
||||||
- NEXT_AGENT: Next workflow agent
|
|
||||||
|
|
||||||
<action>Update LAST_UPDATED to {{date}}</action>
|
|
||||||
<action>Save status file</action>
|
|
||||||
|
|
||||||
<template-output>success = true</template-output>
|
<template-output>success = true</template-output>
|
||||||
|
<template-output>skipped_workflow = {{workflow_id}}</template-output>
|
||||||
|
|
||||||
</check>
|
</check>
|
||||||
|
|
||||||
|
|
@ -313,7 +375,7 @@ Your choice:</ask>
|
||||||
<!-- ============================================= -->
|
<!-- ============================================= -->
|
||||||
<check if="action not recognized">
|
<check if="action not recognized">
|
||||||
<template-output>success = false</template-output>
|
<template-output>success = false</template-output>
|
||||||
<template-output>error = "Unknown action: {{action}}. Valid actions: complete_workflow, set_current_workflow"</template-output>
|
<template-output>error = "Unknown action: {{action}}. Valid actions: complete_workflow, skip_workflow"</template-output>
|
||||||
</check>
|
</check>
|
||||||
|
|
||||||
</check>
|
</check>
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,49 @@
|
||||||
|
# Workflow Status Template
|
||||||
|
# This tracks progress through phases 1-3 of the BMM methodology
|
||||||
|
# Phase 4 (Implementation) is tracked separately in sprint-status.yaml
|
||||||
|
|
||||||
|
# generated: 2025-10-29
|
||||||
|
# project: Enterprise Customer Portal
|
||||||
|
# project_type: software
|
||||||
|
# project_level: 3
|
||||||
|
# field_type: greenfield
|
||||||
|
# workflow_path: greenfield-level-3.yaml
|
||||||
|
|
||||||
|
# STATUS DEFINITIONS:
|
||||||
|
# ==================
|
||||||
|
# Initial Status (before completion):
|
||||||
|
# - required: Must be completed to progress
|
||||||
|
# - optional: Can be completed but not required
|
||||||
|
# - recommended: Strongly suggested but not required
|
||||||
|
# - conditional: Required only if certain conditions met (e.g., if_has_ui)
|
||||||
|
#
|
||||||
|
# Completion Status:
|
||||||
|
# - {file-path}: File created/found (e.g., "docs/product-brief.md")
|
||||||
|
# - skipped: Optional/conditional workflow that was skipped
|
||||||
|
|
||||||
|
generated: 2025-10-29
|
||||||
|
project: Enterprise Customer Portal
|
||||||
|
project_type: software
|
||||||
|
project_level: 3
|
||||||
|
field_type: greenfield
|
||||||
|
workflow_path: greenfield-level-3.yaml
|
||||||
|
|
||||||
|
workflow_status:
|
||||||
|
# Phase 1: Analysis
|
||||||
|
brainstorm-project: docs/brainstorm-session-2025-10-15.md
|
||||||
|
research: docs/research-api-patterns.md
|
||||||
|
product-brief: docs/product-brief.md
|
||||||
|
|
||||||
|
# Phase 2: Planning
|
||||||
|
prd: docs/prd.md
|
||||||
|
validate-prd: skipped
|
||||||
|
create-design: docs/ux-design.md
|
||||||
|
|
||||||
|
# Phase 3: Solutioning
|
||||||
|
create-architecture: required
|
||||||
|
validate-architecture: optional
|
||||||
|
solutioning-gate-check: recommended
|
||||||
|
|
||||||
|
# Phase 4: Implementation
|
||||||
|
sprint-planning: required
|
||||||
|
# Note: Subsequent implementation workflows tracked in sprint-status.yaml
|
||||||
|
|
@ -1,30 +0,0 @@
|
||||||
# BMM Workflow Status
|
|
||||||
|
|
||||||
## Project Configuration
|
|
||||||
|
|
||||||
PROJECT_NAME: {{project_name}}
|
|
||||||
PROJECT_TYPE: {{project_type}}
|
|
||||||
PROJECT_LEVEL: {{project_level}}
|
|
||||||
FIELD_TYPE: {{field_type}}
|
|
||||||
START_DATE: {{start_date}}
|
|
||||||
WORKFLOW_PATH: {{workflow_path_file}}
|
|
||||||
|
|
||||||
## Current State
|
|
||||||
|
|
||||||
CURRENT_PHASE: {{current_phase}}
|
|
||||||
CURRENT_WORKFLOW: {{current_workflow}}
|
|
||||||
CURRENT_AGENT: {{current_agent}}
|
|
||||||
PHASE_1_COMPLETE: {{phase_1_complete}}
|
|
||||||
PHASE_2_COMPLETE: {{phase_2_complete}}
|
|
||||||
PHASE_3_COMPLETE: {{phase_3_complete}}
|
|
||||||
PHASE_4_COMPLETE: {{phase_4_complete}}
|
|
||||||
|
|
||||||
## Next Action
|
|
||||||
|
|
||||||
NEXT_ACTION: {{next_action}}
|
|
||||||
NEXT_COMMAND: {{next_command}}
|
|
||||||
NEXT_AGENT: {{next_agent}}
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
_Last Updated: {{last_updated}}_
|
|
||||||
|
|
@ -0,0 +1,31 @@
|
||||||
|
# Workflow Status Template
|
||||||
|
# This tracks progress through phases 1-3 of the BMM methodology
|
||||||
|
# Phase 4 (Implementation) is tracked separately in sprint-status.yaml
|
||||||
|
|
||||||
|
# generated: {{generated}}
|
||||||
|
# project: {{project_name}}
|
||||||
|
# project_type: {{project_type}}
|
||||||
|
# project_level: {{project_level}}
|
||||||
|
# field_type: {{field_type}}
|
||||||
|
# workflow_path: {{workflow_path_file}}
|
||||||
|
|
||||||
|
# STATUS DEFINITIONS:
|
||||||
|
# ==================
|
||||||
|
# Initial Status (before completion):
|
||||||
|
# - required: Must be completed to progress
|
||||||
|
# - optional: Can be completed but not required
|
||||||
|
# - recommended: Strongly suggested but not required
|
||||||
|
# - conditional: Required only if certain conditions met (e.g., if_has_ui)
|
||||||
|
#
|
||||||
|
# Completion Status:
|
||||||
|
# - {file-path}: File created/found (e.g., "docs/product-brief.md")
|
||||||
|
# - skipped: Optional/conditional workflow that was skipped
|
||||||
|
|
||||||
|
generated: "{{generated}}"
|
||||||
|
project: "{{project_name}}"
|
||||||
|
project_type: "{{project_type}}"
|
||||||
|
project_level: "{{project_level}}"
|
||||||
|
field_type: "{{field_type}}"
|
||||||
|
workflow_path: "{{workflow_path_file}}"
|
||||||
|
|
||||||
|
workflow_status: "{{workflow_items}}"
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
# Workflow Status - Master Router and Status Tracker
|
# Workflow Status - Master Router and Status Tracker
|
||||||
name: workflow-status
|
name: workflow-status
|
||||||
description: 'Lightweight status checker - answers "what should I do now?" for any agent. Reads simple key-value status file for instant parsing. Use workflow-init for new projects.'
|
description: 'Lightweight status checker - answers "what should I do now?" for any agent. Reads YAML status file for workflow tracking. Use workflow-init for new projects.'
|
||||||
author: "BMad"
|
author: "BMad"
|
||||||
|
|
||||||
# Critical variables from config
|
# Critical variables from config
|
||||||
|
|
@ -17,13 +17,13 @@ installed_path: "{project-root}/bmad/bmm/workflows/workflow-status"
|
||||||
instructions: "{installed_path}/instructions.md"
|
instructions: "{installed_path}/instructions.md"
|
||||||
|
|
||||||
# Template for status file creation (used by workflow-init)
|
# Template for status file creation (used by workflow-init)
|
||||||
template: "{installed_path}/workflow-status-template.md"
|
template: "{installed_path}/workflow-status-template.yaml"
|
||||||
|
|
||||||
# Path definitions for project types
|
# Path definitions for project types
|
||||||
path_files: "{installed_path}/paths/"
|
path_files: "{installed_path}/paths/"
|
||||||
|
|
||||||
# Output configuration - reads existing status
|
# Output configuration - reads existing status
|
||||||
default_output_file: "{output_folder}/bmm-workflow-status.md"
|
default_output_file: "{output_folder}/bmm-workflow-status.yaml"
|
||||||
|
|
||||||
standalone: true
|
standalone: true
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -50,9 +50,17 @@ I can help craft your story using these proven narrative frameworks:
|
||||||
3. **Customer Journey Story** - Before/after transformation narrative
|
3. **Customer Journey Story** - Before/after transformation narrative
|
||||||
4. **Challenge-Overcome Arc** - Dramatic obstacle-to-victory structure
|
4. **Challenge-Overcome Arc** - Dramatic obstacle-to-victory structure
|
||||||
|
|
||||||
**Strategic Narratives:** 5. **Brand Story** - Values, mission, and unique positioning 6. **Pitch Narrative** - Persuasive problem-to-solution structure 7. **Vision Narrative** - Future-focused aspirational story 8. **Origin Story** - Foundational narrative of how it began
|
**Strategic Narratives:**
|
||||||
|
|
||||||
**Specialized Narratives:** 9. **Data Storytelling** - Transform insights into compelling narrative 10. **Emotional Hooks** - Craft powerful opening and touchpoints
|
5. **Brand Story** - Values, mission, and unique positioning
|
||||||
|
6. **Pitch Narrative** - Persuasive problem-to-solution structure
|
||||||
|
7. **Vision Narrative** - Future-focused aspirational story
|
||||||
|
8. **Origin Story** - Foundational narrative of how it began
|
||||||
|
|
||||||
|
**Specialized Narratives:**
|
||||||
|
|
||||||
|
9. **Data Storytelling** - Transform insights into compelling narrative
|
||||||
|
10. **Emotional Hooks** - Craft powerful opening and touchpoints
|
||||||
|
|
||||||
Which framework best fits your purpose? (Enter 1-10, or ask for my recommendation)
|
Which framework best fits your purpose? (Enter 1-10, or ask for my recommendation)
|
||||||
</ask>
|
</ask>
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue