some output should be improved and not run together in chat windows

This commit is contained in:
Brian Madison
2025-10-30 08:13:18 -05:00
parent 6d7f42dbec
commit ec111972a0
29 changed files with 1098 additions and 713 deletions

View File

@@ -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>
<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">
<param>mode: data</param>
<param>data_request: project_config</param>
</invoke-workflow>
<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 if="status file not found">
<output>No workflow status file found. Create UX Design can run standalone or as part of BMM planning workflow.</output>
<output>For standalone use, we'll gather requirements as we go. For integrated use, run `workflow-init` first for better context.</output>
<action>Set standalone_mode = true</action>
</check>
<check if="status_exists == true">
<action>Store {{status_file_path}} for later updates</action>
<action>Store {{project_level}} for scoping decisions</action>
<action>Set mode: integrated</action>
<check if="status file found">
<action>Load the FULL file: {output_folder}/bmm-workflow-status.yaml</action>
<action>Parse workflow_status section</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>
</step>
@@ -1116,12 +1130,16 @@ Based on your deployment intent: {{recommendation}}
<action>Save final document to {default_output_file}</action>
<check if="tracking_mode == true">
<invoke-workflow path="{project-root}/bmad/bmm/workflows/workflow-status">
<param>mode: update</param>
<param>action: complete_workflow</param>
<param>workflow_name: create-ux-design</param>
</invoke-workflow>
<check if="standalone_mode != true">
<action>Load the FULL file: {output_folder}/bmm-workflow-status.yaml</action>
<action>Find workflow_status key "create-design"</action>
<critical>ONLY write the file path as the status value - no other text, notes, or metadata</critical>
<action>Update workflow_status["create-design"] = "{default_output_file}"</action>
<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>
<ask>🎨 **One more thing!** Want to see your design come to life?

View File

@@ -67,19 +67,27 @@ Use: `prd`
</check>
</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">
<param>mode: validate</param>
<param>calling_workflow: gdd</param>
</invoke-workflow>
<check if="standalone_mode != true">
<action>Check status of "gdd" workflow in loaded status file</action>
<check if="warning != ''">
<output>{{warning}}</output>
<ask>Continue with GDD anyway? (y/n)</ask>
<check if="n">
<output>{{suggestion}}</output>
<action>Exit workflow</action>
<check if="gdd status is file path (already completed)">
<output>⚠️ GDD already completed: {{gdd status}}</output>
<ask>Re-running will overwrite the existing GDD. 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="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>
</step>
@@ -328,18 +336,23 @@ For each {{placeholder}} in the fragment, elicit and capture that information.
</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">
<param>mode: update</param>
<param>action: complete_workflow</param>
<param>workflow_name: gdd</param>
<param>populate_stories_from: {epics_output_file}</param>
</invoke-workflow>
<check if="standalone_mode != true">
<action>Load the FULL file: {output_folder}/bmm-workflow-status.yaml</action>
<action>Find workflow_status key "gdd"</action>
<critical>ONLY write the file path as the status value - no other text, notes, or metadata</critical>
<action>Update workflow_status["gdd"] = "{output_folder}/bmm-gdd-{{game_name}}-{{date}}.md"</action>
<action>Save file, preserving ALL comments and structure including STATUS DEFINITIONS</action>
<check if="success == true">
<output>Status updated! Next: {{next_workflow}} ({{next_agent}} agent)</output>
<output>Loaded {{total_stories}} stories from epics.</output>
<action>Parse {epics_output_file} to extract all stories</action>
<action>Populate story_sequence section in status file with story IDs</action>
<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>
</step>

View File

@@ -10,20 +10,40 @@
<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>
<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">
<param>mode: init-check</param>
</invoke-workflow>
<check if="status_exists == true">
<action>Store {{status_file_path}} for later updates</action>
<action>Set tracking_mode = true</action>
<check if="status file not found">
<output>No workflow status file found. Narrative workflow is optional - you can continue without status tracking.</output>
<action>Set standalone_mode = true</action>
</check>
<check if="status_exists == false">
<action>Set tracking_mode = false</action>
<output>Note: Running without workflow tracking. Run `workflow-init` to enable progress tracking.</output>
<check if="status file found">
<action>Load the FULL file: {output_folder}/bmm-workflow-status.yaml</action>
<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>
</step>
@@ -539,19 +559,50 @@ Which would you like?</ask>
</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">
<invoke-workflow path="{project-root}/bmad/bmm/workflows/workflow-status">
<param>mode: update</param>
<param>action: complete_workflow</param>
<param>workflow_name: narrative</param>
</invoke-workflow>
<check if="standalone_mode != true">
<action>Load the FULL file: {output_folder}/bmm-workflow-status.yaml</action>
<action>Find workflow_status key "narrative"</action>
<critical>ONLY write the file path as the status value - no other text, notes, or metadata</critical>
<action>Update workflow_status["narrative"] = "{output_folder}/bmm-narrative-{{game_name}}-{{date}}.md"</action>
<action>Save file, preserving ALL comments and structure including STATUS DEFINITIONS</action>
<check if="success == true">
<output>✅ Status updated! Next: {{next_workflow}}</output>
</check>
<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>
</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>

View File

@@ -12,37 +12,27 @@
<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">
<param>mode: data</param>
<param>data_request: project_config</param>
</invoke-workflow>
<check if="status_exists == false">
<output>**Note: No Workflow Status File Found**
The PRD workflow can run standalone or as part of the BMM workflow path.
**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 if="status file not found">
<output>No workflow status file found. PRD workflow 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>
<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 if="status_exists == true">
<action>Store {{status_file_path}} for later updates</action>
<check if="status file found">
<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">
<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>
</check>
<check if="project_type == game">
<output>**Incorrect Workflow for Game Projects**
Game projects should use GDD workflow instead of PRD.
**Correct workflow:** `gdd` (PM agent)
</output>
<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 if="prd status is file path (already completed)">
<output>⚠️ PRD already completed: {{prd status}}</output>
<ask>Re-running will overwrite the existing PRD. 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="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>
</step>
@@ -409,18 +392,17 @@ For each epic from the epic list, expand with full story details:
</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">
<param>mode: update</param>
<param>action: complete_workflow</param>
<param>workflow_name: prd</param>
<param>populate_stories_from: {epics_output_file}</param>
</invoke-workflow>
<check if="standalone_mode != true">
<action>Load the FULL file: {output_folder}/bmm-workflow-status.yaml</action>
<action>Find workflow_status key "prd"</action>
<critical>ONLY write the file path as the status value - no other text, notes, or metadata</critical>
<action>Update workflow_status["prd"] = "{default_output_file}"</action>
<action>Save file, preserving ALL comments and structure including STATUS DEFINITIONS</action>
<check if="success == true">
<output>Status updated! Next: {{next_workflow}} ({{next_agent}} agent)</output>
<output>Loaded {{total_stories}} stories from epics.</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>
</check>
<output>**✅ PRD Workflow Complete, {user_name}!**

View File

@@ -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>
<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">
<param>mode: data</param>
<param>data_request: project_config</param>
</invoke-workflow>
<check if="status_exists == false">
<output>**Note: No Workflow Status File Found**
The tech-spec workflow can run standalone or as part of the BMM workflow path.
**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 if="status file not found">
<output>No workflow status file found. Tech-spec workflow 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>
<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 if="status_exists == true">
<action>Store {{status_file_path}} for later updates</action>
<check if="status file found">
<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">
<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>
</check>
<check if="project_type == game">
<output>**Incorrect Workflow for Game Projects**
Game projects should use GDD workflow instead of tech-spec.
**Correct workflow:** `gdd` (PM agent)
</output>
<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 if="tech-spec status is file path (already completed)">
<output>⚠️ Tech-spec already completed: {{tech-spec status}}</output>
<ask>Re-running will overwrite the existing tech-spec. 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="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>
</step>
@@ -232,24 +215,25 @@ Run cohesion validation? (y/n)</ask>
## Next Steps
<invoke-workflow path="{project-root}/bmad/bmm/workflows/workflow-status">
<param>mode: update</param>
<param>action: complete_workflow</param>
<param>workflow_name: tech-spec</param>
</invoke-workflow>
<check if="standalone_mode != true">
<action>Load the FULL file: {output_folder}/bmm-workflow-status.yaml</action>
<action>Find workflow_status key "tech-spec"</action>
<critical>ONLY write the file path as the status value - no other text, notes, or metadata</critical>
<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">
<output>Status updated!</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>
</check>
<output>**✅ Tech-Spec Complete, {user_name}!**
**Deliverables Created:**
<check if="project_level == 0">
<check if="project_level == 0">
- ✅ tech-spec.md - Technical specification
- ✅ user-story.md - Single user story
</check>
</check>
<check if="project_level == 1">
- ✅ tech-spec.md - Technical specification