master workflow integration

This commit is contained in:
Brian Madison
2025-10-12 18:10:23 -05:00
parent c3c51945bb
commit 88989d5403
17 changed files with 1455 additions and 278 deletions

View File

@@ -0,0 +1,383 @@
# Workflow Status - Universal Entry Point
## Overview
The `workflow-status` workflow is the **universal entry point** for all BMad Method (BMM) workflows. It serves as both a status tracker and master router, helping users understand where they are in their project journey and what to do next.
## Purpose
**Primary Functions:**
1. **Status Checking**: Read existing workflow status and display current state
2. **Next Action Recommendation**: Suggest what the user should do next
3. **Comprehensive Workflow Planning**: Map out ENTIRE workflow journey before executing anything
4. **Planned Workflow Documentation**: Create status file with complete phase/step roadmap
5. **Phase Navigation**: Guide users through the 4-phase methodology
6. **Agent Coordination**: Can be invoked by any agent (bmad-master, analyst, pm)
## When to Use
### Automatic Invocation
Agents should automatically check workflow status when loaded:
- **bmad-master**: Checks status before displaying main menu
- **analyst**: Checks status before displaying analysis options
- **pm**: Checks status before displaying planning options
### Manual Invocation
Users can manually run this workflow anytime:
```bash
bmad analyst workflow-status
# or
bmad pm workflow-status
# or just tell any agent: "check workflow status"
```
## Workflow Behavior
### Scenario 1: No Status File Exists (New Project)
**The workflow will map out your ENTIRE workflow journey:**
**Step 1: Project Context**
- Determine greenfield vs brownfield
- Check if brownfield needs documentation
- Note if `document-project` should be added to plan
**Step 2: Scope Understanding**
- Ask if user knows project level/scope
- Options:
- **Yes**: Capture estimated level (0-4)
- **No**: Defer level determination to Phase 2 (plan-project)
- **Want analysis first**: Include Phase 1 in plan
**Step 3: Choose Starting Point**
- **Option A**: Full Analysis Phase (brainstorm → research → brief)
- **Option B**: Skip to Planning (direct to PRD/GDD)
- **Option C**: Just Show Menu (I'll decide manually)
**Step 4: Build Complete Planned Workflow**
The workflow builds a comprehensive plan including:
- Phase 1 (if needed): document-project, brainstorm, research, brief
- Phase 2 (always required): plan-project
- Phase 3 (if Level 3-4): solution-architecture, tech-specs
- Phase 4 (always): Full implementation workflow (create-story → story-ready → dev-story → story-approved)
**Step 5: Create Status File**
- Create `project-workflow-status-YYYY-MM-DD.md`
- Document complete planned workflow in "Planned Workflow Journey" table
- Set current step: "Workflow Definition Phase"
- Set next step: First item from planned workflow
- Provide command to run next step
**Brownfield Special Handling:**
- Checks if codebase is documented
- Adds `document-project` to planned workflow if needed
- Does NOT immediately execute it - documents it in the plan first
**Output:**
- Complete workflow roadmap with phases, steps, agents, and descriptions
- Status file with planned journey documented
- Clear command to run first step
- User can reference plan anytime via workflow-status
### Scenario 2: Status File Exists (Project In Progress)
**The workflow will:**
1. Find most recent `project-workflow-status-YYYY-MM-DD.md` file
2. Read and parse current state:
- Current phase and progress %
- Project level and type
- Phase completion status
- Implementation progress (if Phase 4)
- Next recommended action
3. Display comprehensive status summary
4. Offer options:
- **Option 1**: Proceed with recommended action
- **Option 2**: View detailed status
- **Option 3**: Change workflow
- **Option 4**: Display agent menu
- **Option 5**: Exit
**Phase 4 Special Display:**
If in Implementation phase, shows:
- BACKLOG story count
- TODO story (ready for drafting)
- IN PROGRESS story (being implemented)
- DONE story count and points
## Status File Detection
**Search Pattern:**
```
{output_folder}/project-workflow-status*.md
```
**Versioning:**
- Files are named: `project-workflow-status-YYYY-MM-DD.md`
- Workflow finds most recent by date
- Old files can be archived
## Recommended Next Actions
The workflow intelligently suggests next steps based on current state:
**Phase 1 (Analysis):**
- Continue with analysis workflows
- Or move to `plan-project`
**Phase 2 (Planning):**
- If Level 0-1: Move to Phase 4 (`create-story`)
- If Level 3-4: Move to Phase 3 (`solution-architecture`)
**Phase 3 (Solutioning):**
- Continue with tech-specs (JIT per epic)
- Or move to Phase 4 (`create-story`)
**Phase 4 (Implementation):**
- Shows current TODO/IN PROGRESS story
- Suggests exact next workflow (`story-ready`, `dev-story`, `story-approved`)
## Integration with Agents
### bmad-master
```
On load:
1. Run workflow-status check
2. If status found: Display summary + menu
3. If no status: Offer to plan workflow
4. Display master menu with context
```
### analyst
```
On load:
1. Run workflow-status check
2. If in Phase 1: Show analysis workflows
3. If no status: Offer analysis planning
4. Display analyst menu
```
### pm
```
On load:
1. Run workflow-status check
2. If no status: Offer to run plan-project
3. If status found: Show current phase progress
4. Display PM menu
```
## Example Outputs
### No Status File (New User) - Planning Flow
```
🚀 Welcome to BMad Method Workflows!
No workflow status file found. Let's plan your complete workflow journey.
Step 1: Project Context
Is this a new or existing codebase?
a. Greenfield - Starting from scratch
b. Brownfield - Adding to existing codebase
Your choice (a/b): a
Step 3: Understanding Your Workflow
Before we plan your workflow, let's determine the scope and complexity of your project.
The BMad Method uses 5 project levels (0-4) that determine which phases you'll need:
- Level 0: Single atomic change (1 story) - Phases 2 → 4
- Level 1: Small feature (2-3 stories, 1 epic) - Phases 2 → 4
- Level 2: Medium project (multiple epics) - Phases 2 → 4
- Level 3: Complex system (subsystems, integrations) - Phases 2 → 3 → 4
- Level 4: Enterprise scale (multiple products) - Phases 2 → 3 → 4
Do you already know your project's approximate size/scope?
a. Yes - I can describe the general scope
b. No - Not sure yet, need help determining it
c. Want analysis first - Do brainstorming/research before deciding
Your choice (a/b/c): a
Based on the descriptions above, what level best describes your project?
0. Single atomic change
1. Small coherent feature
2. Medium project
3. Complex system
4. Enterprise scale
Your estimated level (0-4): 1
Step 4: Choose Your Starting Point
Option A: Full Analysis Phase First
Option B: Skip to Planning
Option C: Just Show Menu
Your choice (A/B/C): B
🗺️ Your Planned Workflow
Based on your responses, here's your complete workflow journey:
**2-Plan** - plan-project
- Agent: PM
- Description: Create PRD/GDD/Tech-Spec (determines final level)
- Status: Planned
**3-Solutioning** - TBD - depends on level from Phase 2
- Agent: Architect
- Description: Required if Level 3-4, skipped if Level 0-2
- Status: Conditional
**4-Implementation** - create-story (iterative)
- Agent: SM
- Description: Draft stories from backlog
- Status: Planned
**4-Implementation** - story-ready
- Agent: SM
- Description: Approve story for dev
- Status: Planned
**4-Implementation** - story-context
- Agent: SM
- Description: Generate context XML
- Status: Planned
**4-Implementation** - dev-story (iterative)
- Agent: DEV
- Description: Implement stories
- Status: Planned
**4-Implementation** - story-approved
- Agent: DEV
- Description: Mark complete, advance queue
- Status: Planned
---
Current Step: Workflow Definition Phase (this workflow)
Next Step: plan-project (PM agent)
Ready to create your workflow status file?
This will create: project-workflow-status-2025-10-12.md
The status file will document:
- Your complete planned workflow (phases and steps)
- Current phase: "Workflow Definition"
- Next action: plan-project
Create status file? (y/n): y
✅ Status file created!
File: project-workflow-status-2025-10-12.md
To proceed with your first step:
Load PM: bmad pm plan-project
You can always check your status with: workflow-status
```
### Status File Found (In Progress)
```
📊 Current Workflow Status
Project: My Web App
Started: 2025-10-10
Last Updated: 2025-10-12
Current Phase: 4-Implementation (65% complete)
Current Workflow: Story implementation in progress
Phase Completion:
- [x] Phase 1: Analysis
- [x] Phase 2: Planning
- [ ] Phase 3: Solutioning (skipped for Level 1)
- [ ] Phase 4: Implementation
Planned Workflow Journey:
Current Step: dev-story (DEV agent)
Next Step: story-approved (DEV agent)
Full planned workflow documented in status file - reference anytime!
Project Details:
- Level: 1 (Coherent feature, 1-10 stories)
- Type: web
- Context: greenfield
Implementation Progress:
- BACKLOG: 1 stories
- TODO: (empty)
- IN PROGRESS: auth-feature-2 (Ready)
- DONE: 1 stories (5 points)
---
🎯 Recommended Next Action:
Implement story auth-feature-2
Command: Run 'dev-story' workflow
Agent: DEV
Would you like to:
1. Proceed with recommended action
2. View detailed status (includes full planned workflow table)
3. Change workflow
4. Display agent menu
5. Exit
```
## Benefits
**Complete Workflow Planning**: Maps out ENTIRE journey before executing anything
**No More Guessing**: Users always know current step AND what comes next
**Documented Roadmap**: Status file contains complete planned workflow table
**Context-Aware**: Recommendations adapt to project state and level
**Universal Entry Point**: Works with any agent
**New User Friendly**: Guides comprehensive workflow planning
**Status Visibility**: Clear progress tracking with current/next step indicators
**Phase Navigation**: Easy to jump between phases with planned path reference
**Level-Adaptive**: Plans adjust based on estimated project level (0-4)
**Brownfield Support**: Includes documentation needs in workflow plan
## Future Enhancements
- **Progress Dashboards**: Visual progress indicators
- **Time Tracking**: Estimate time remaining
- **Multi-Project**: Handle multiple projects
- **Team Sync**: Show what teammates are working on
---
**This workflow is the front door to BMad Method. Every user should start here or have it checked automatically by their agent.**

View File

@@ -0,0 +1,670 @@
# Workflow Status - Master Router and Status Tracker
<workflow>
<critical>This is the UNIVERSAL ENTRY POINT for all BMM workflows</critical>
<critical>Can be invoked by bmad-master, analyst, or pm agents</critical>
<critical>Checks for existing workflow status and suggests next actions</critical>
<critical>If no status exists, helps user plan their workflow approach</critical>
<step n="1" goal="Check for existing workflow status file">
<action>Search {output_folder}/ for files matching pattern: project-workflow-status\*.md</action>
<action>Use glob or list_files to find all matching files</action>
<check if="files found">
<action>Find the most recent file (by date in filename: project-workflow-status-YYYY-MM-DD.md)</action>
<action>Set status_file_found = true</action>
<action>Set status_file_path = most recent file path</action>
<action>Go to Step 2 (Read existing status)</action>
</check>
<check if="no files found">
<action>Set status_file_found = false</action>
<action>Go to Step 3 (Initial workflow planning)</action>
</check>
</step>
<step n="2" goal="Read and analyze existing workflow status" if="status_file_found == true">
<action>Read {status_file_path}</action>
<action>Extract key information:</action>
**Project Context:**
- project_name: From "Project:" field
- start_date: From "Created:" field
- last_updated: From "Last Updated:" field
**Current State:**
- current_phase: From "Current Phase:" field (1-Analysis, 2-Plan, 3-Solutioning, 4-Implementation)
- current_workflow: From "Current Workflow:" field
- progress_percentage: From "Overall Progress:" field
- project_level: From "Project Level:" field (0, 1, 2, 3, or 4)
- project_type: From "Project Type:" field
- field_type: From "Greenfield/Brownfield:" field
**Phase Completion:**
- phase_1_complete: Check if "1-Analysis" checkbox is checked
- phase_2_complete: Check if "2-Plan" checkbox is checked
- phase_3_complete: Check if "3-Solutioning" checkbox is checked
- phase_4_complete: Check if "4-Implementation" checkbox is checked
**Implementation Progress (if Phase 4):**
- Read "### Implementation Progress (Phase 4 Only)" section
- Extract TODO story (if exists)
- Extract IN PROGRESS story (if exists)
- Extract BACKLOG count
- Extract DONE count
**Next Action:**
- next_action: From "What to do next:" field
- next_command: From "Command to run:" field
- next_agent: From "Agent to load:" field
<action>Analyze the current state to determine recommendation</action>
</step>
<step n="2.5" goal="Display current workflow status and suggest next action" if="status_file_found == true">
<action>Display comprehensive status summary</action>
**📊 Current Workflow Status**
**Project:** {{project_name}}
**Started:** {{start_date}}
**Last Updated:** {{last_updated}}
**Current Phase:** {{current_phase}} ({{progress_percentage}}% complete)
**Current Workflow:** {{current_workflow}}
**Phase Completion:**
- [{{phase_1_complete ? 'x' : ' '}}] Phase 1: Analysis
- [{{phase_2_complete ? 'x' : ' '}}] Phase 2: Planning
- [{{phase_3_complete ? 'x' : ' '}}] Phase 3: Solutioning ({{project_level < 3 ? 'skipped for Level ' + project_level : 'required'}})
- [{{phase_4_complete ? 'x' : ' '}}] Phase 4: Implementation
**Project Details:**
- **Level:** {{project_level}} ({{get_level_description(project_level)}})
- **Type:** {{project_type}}
- **Context:** {{field_type}}
{{#if current_phase == '4-Implementation'}}
**Implementation Progress:**
- **BACKLOG:** {{backlog_count}} stories
- **TODO:** {{todo_story_id}} ({{todo_story_status}})
- **IN PROGRESS:** {{current_story_id}} ({{current_story_status}})
- **DONE:** {{done_count}} stories ({{done_points}} points)
{{/if}}
---
**🎯 Recommended Next Action:**
{{next_action}}
**Command:** {{next_command}}
**Agent:** {{next_agent}}
<ask>Would you like to:
1. **Proceed with recommended action** ({{next_command}})
2. **View detailed status** (show full status file)
3. **Change workflow** (modify current workflow or start new phase)
4. **Display agent menu** (see all available options)
5. **Exit** (return to agent)
Select option (1-5):</ask>
<check if='option == "1"'>
<action>Suggest loading the recommended agent and running the command</action>
<output>**To proceed:**
Load agent: `{{next_agent}}`
Run command: `{{next_command}}`
Or tell me: "load {{next_agent}} and {{next_command}}"
</output>
</check>
<check if='option == "2"'>
<action>Display full status file contents</action>
<action>Return to menu</action>
</check>
<check if='option == "3"'>
<action>Go to Step 4 (Change workflow)</action>
</check>
<check if='option == "4"'>
<action>Go to Step 5 (Display agent menu)</action>
</check>
<check if='option == "5"'>
<action>Exit workflow</action>
</check>
</step>
<step n="3" goal="Initial workflow planning - no status file exists" if="status_file_found == false">
<action>Display welcome message</action>
**🚀 Welcome to BMad Method Workflows!**
No workflow status file found. Let's plan your complete workflow journey.
<critical>This step will map out your ENTIRE workflow before executing anything</critical>
<critical>Goal: Document planned phases, current step, and next step in status file</critical>
<ask>**Step 1: Project Context**
**Is this a new or existing codebase?**
a. **Greenfield** - Starting from scratch
b. **Brownfield** - Adding to existing codebase
Your choice (a/b):</ask>
<action>Capture field_type = "greenfield" or "brownfield"</action>
<check if='field_type == "brownfield"'>
<ask>**Step 2: Brownfield Documentation Status**
Do you have:
- Architecture documentation?
- Code structure overview?
- API documentation?
- Clear understanding of existing patterns?
Options:
a. **Yes** - I have good documentation
b. **No** - Codebase is undocumented or poorly documented
c. **Partial** - Some docs exist but incomplete
Your choice (a/b/c):</ask>
<action>Capture brownfield_docs_status</action>
<check if='brownfield_docs_status == "b" OR brownfield_docs_status == "c"'>
<output>**⚠️ Documentation Needed**
For accurate planning, brownfield projects benefit from codebase documentation.
We'll add `document-project` to your planned workflow.
</output>
<action>Set needs_documentation = true</action>
</check>
<check if='brownfield_docs_status == "a"'>
<action>Set needs_documentation = false</action>
</check>
</check>
<check if='field_type == "greenfield"'>
<action>Set needs_documentation = false</action>
</check>
<ask>**Step 3: Project Type**
What type of project are you building?
1. **Game** - Video games for PC, console, mobile, or web
2. **Web Application** - Websites, web apps, SPAs
3. **Mobile Application** - iOS, Android apps
4. **Desktop Application** - Windows, macOS, Linux apps
5. **Backend/API Service** - Backend services, APIs, microservices
6. **Library/SDK** - Reusable libraries, packages, SDKs
7. **CLI Tool** - Command-line tools and utilities
8. **Embedded System** - IoT, firmware, embedded devices
9. **Data/ML/Analytics** - Data pipelines, ML projects, analytics
10. **Browser Extension** - Chrome, Firefox extensions
11. **Infrastructure/DevOps** - Terraform, K8s operators, CI/CD
12. **Other** - Describe your project type
Your choice (1-12):</ask>
<action>Capture project_type_choice</action>
<action>Map choice to project_type_id using project-types.csv:</action>
- 1 → game
- 2 → web
- 3 → mobile
- 4 → desktop
- 5 → backend
- 6 → library
- 7 → cli
- 8 → embedded
- 9 → data
- 10 → extension
- 11 → infra
- 12 → custom (capture description)
<action>Set project_type = mapped project_type_id</action>
<output>**Step 4: Understanding Your Workflow**
Before we plan your workflow, let's determine the scope and complexity of your project.
The BMad Method uses 5 project levels (0-4) that determine which phases you'll need:
- **Level 0:** Single atomic change (1 story) - Phases 2 → 4
- **Level 1:** Small feature (2-3 stories, 1 epic) - Phases 2 → 4
- **Level 2:** Medium project (multiple epics) - Phases 2 → 4
- **Level 3:** Complex system (subsystems, integrations) - Phases 2 → 3 → 4
- **Level 4:** Enterprise scale (multiple products) - Phases 2 → 3 → 4
**Optional Phase 1 (Analysis):** Brainstorming, research, and brief creation can precede any level.
</output>
<ask>**Do you already know your project's approximate size/scope?**
a. **Yes** - I can describe the general scope
b. **No** - Not sure yet, need help determining it
c. **Want analysis first** - Do brainstorming/research before deciding
Your choice (a/b/c):</ask>
<action>Capture scope_knowledge</action>
<check if='scope_knowledge == "a"'>
<ask>**Based on the descriptions above, what level best describes your project?**
0. Single atomic change (bug fix, tiny feature)
1. Small coherent feature (2-3 stories)
2. Medium project (multiple features/epics)
3. Complex system (subsystems, architectural decisions)
4. Enterprise scale (multiple products/systems)
Your estimated level (0-4):</ask>
<action>Capture estimated_level</action>
<action>Set level_known = true</action>
</check>
<check if='scope_knowledge == "b" OR scope_knowledge == "c"'>
<output>**Level determination deferred**
{{#if scope_knowledge == "b"}}
No problem! The `plan-project` workflow will help you determine the project level through guided questions.
{{/if}}
{{#if scope_knowledge == "c"}}
Great! Analysis workflows will help clarify scope before determining the level.
{{/if}}
We'll determine your project level during Phase 2 (Planning).
</output>
<action>Set level_known = false</action>
<action>Set estimated_level = "TBD"</action>
</check>
<ask>**Step 5: Choose Your Starting Point**
Now let's determine where you want to begin:
**Option A: Full Analysis Phase First**
- Brainstorming (explore ideas, validate concepts)
- Research (market, technical, competitive analysis)
- Product/Game Brief (strategic foundation)
→ Best for: New ideas, uncertain requirements, need validation
**Option B: Skip to Planning**
- You know what to build
- Jump to PRD/GDD/Tech-Spec generation
→ Best for: Clear requirements, existing ideas
**Option C: Just Show Menu**
- Create status file with planned workflow
- I'll manually choose which workflow to run first
→ Best for: Experienced users, custom paths
Your choice (A/B/C):</ask>
<action>Capture starting_point</action>
<check if='starting_point == "A"'>
<ask>**Full Analysis - Choose your first workflow:**
1. **brainstorm-project** (Analyst) - Explore software solution ideas
2. **brainstorm-game** (Game Designer) - Game concept ideation
3. **research** (Analyst) - Market/technical research
4. **product-brief** (Analyst) - Strategic product foundation
5. **game-brief** (Game Designer) - Game design foundation
Which workflow? (1-5):</ask>
<action>Capture first_workflow</action>
<action>Set include_analysis = true</action>
</check>
<check if='starting_point == "B"'>
<action>Set include_analysis = false</action>
<action>Set first_workflow = "plan-project"</action>
</check>
<check if='starting_point == "C"'>
<action>Set include_analysis = false</action>
<action>Set first_workflow = "user-choice"</action>
</check>
<action>Now build the complete planned workflow</action>
<output>**🗺️ Your Planned Workflow**
Based on your responses, here's your complete workflow journey:
</output>
<action>Build planned_workflow array with all phases in order:</action>
<check if='needs_documentation == true'>
<action>Add to planned_workflow:</action>
- Phase: "1-Analysis"
- Step: "document-project"
- Agent: "Analyst"
- Description: "Generate brownfield codebase documentation"
- Status: "Planned"
</check>
<check if='include_analysis == true'>
<action>Add analysis workflows to planned_workflow based on first_workflow choice</action>
{{#if first_workflow == "brainstorm-project"}} - Phase: "1-Analysis", Step: "brainstorm-project", Agent: "Analyst", Status: "Planned" - Phase: "1-Analysis", Step: "research (optional)", Agent: "Analyst", Status: "Optional" - Phase: "1-Analysis", Step: "product-brief", Agent: "Analyst", Status: "Planned"
{{/if}}
{{#if first_workflow == "brainstorm-game"}} - Phase: "1-Analysis", Step: "brainstorm-game", Agent: "Game Designer", Status: "Planned" - Phase: "1-Analysis", Step: "research (optional)", Agent: "Analyst", Status: "Optional" - Phase: "1-Analysis", Step: "game-brief", Agent: "Game Designer", Status: "Planned"
{{/if}}
{{#if first_workflow == "research"}} - Phase: "1-Analysis", Step: "research", Agent: "Analyst", Status: "Planned" - Phase: "1-Analysis", Step: "product-brief or game-brief", Agent: "Analyst/Game Designer", Status: "Planned"
{{/if}}
{{#if first_workflow == "product-brief"}} - Phase: "1-Analysis", Step: "product-brief", Agent: "Analyst", Status: "Planned"
{{/if}}
{{#if first_workflow == "game-brief"}} - Phase: "1-Analysis", Step: "game-brief", Agent: "Game Designer", Status: "Planned"
{{/if}}
</check>
<action>Always add Phase 2 (required for all levels)</action>
- Phase: "2-Plan"
- Step: "plan-project"
- Agent: "PM"
- Description: "Create PRD/GDD/Tech-Spec (determines final level)"
- Status: "Planned"
<check if='level_known == true AND estimated_level >= 3'>
<action>Add Phase 3 (required for Level 3-4)</action>
- Phase: "3-Solutioning"
- Step: "solution-architecture"
- Agent: "Architect"
- Description: "Design overall architecture"
- Status: "Planned"
- Phase: "3-Solutioning"
- Step: "tech-spec (per epic, JIT)"
- Agent: "Architect"
- Description: "Epic-specific technical specs"
- Status: "Planned"
</check>
<check if='level_known == false OR estimated_level == "TBD"'>
<action>Add conditional Phase 3 note</action>
- Phase: "3-Solutioning"
- Step: "TBD - depends on level from Phase 2"
- Agent: "Architect"
- Description: "Required if Level 3-4, skipped if Level 0-2"
- Status: "Conditional"
</check>
<action>Always add Phase 4 (implementation)</action>
- Phase: "4-Implementation"
- Step: "create-story (iterative)"
- Agent: "SM"
- Description: "Draft stories from backlog"
- Status: "Planned"
- Phase: "4-Implementation"
- Step: "story-ready"
- Agent: "SM"
- Description: "Approve story for dev"
- Status: "Planned"
- Phase: "4-Implementation"
- Step: "story-context"
- Agent: "SM"
- Description: "Generate context XML"
- Status: "Planned"
- Phase: "4-Implementation"
- Step: "dev-story (iterative)"
- Agent: "DEV"
- Description: "Implement stories"
- Status: "Planned"
- Phase: "4-Implementation"
- Step: "story-approved"
- Agent: "DEV"
- Description: "Mark complete, advance queue"
- Status: "Planned"
<action>Display the complete planned workflow</action>
<output>**📋 Your Complete Planned Workflow:**
{{#each planned_workflow}}
**{{phase}}** - {{step}}
- Agent: {{agent}}
- Description: {{description}}
- Status: {{status}}
{{/each}}
---
**Current Step:** Workflow Definition Phase (this workflow)
**Next Step:** {{planned_workflow[0].step}} ({{planned_workflow[0].agent}} agent)
</output>
<ask>**Ready to create your workflow status file?**
This will create: `project-workflow-status-{{today_date}}.md`
The status file will document:
- Your complete planned workflow (phases and steps)
- Current phase: "Workflow Definition"
- Next action: {{planned_workflow[0].step}}
Create status file? (y/n)</ask>
<check if='confirm == "y"'>
<action>Create project-workflow-status-{{today}}.md file</action>
<action>Set current_phase = "Workflow Definition"</action>
<action>Set next_action = planned_workflow[0].step</action>
<action>Set next_agent = planned_workflow[0].agent</action>
<action>Include complete planned_workflow in status file</action>
<output>**✅ Status file created!**
File: `project-workflow-status-{{today}}.md`
**To proceed with your first step:**
{{#if needs_documentation == true AND planned_workflow[0].step == "document-project"}}
Load Analyst: `bmad analyst document-project`
After documentation is complete, return to check status: `bmad analyst workflow-status`
{{/if}}
{{#if planned_workflow[0].step != "document-project" AND planned_workflow[0].step != "user-choice"}}
Load {{planned_workflow[0].agent}}: `bmad {{lowercase planned_workflow[0].agent}} {{planned_workflow[0].step}}`
{{/if}}
{{#if planned_workflow[0].step == "user-choice"}}
Your status file is ready! Run `workflow-status` anytime to see recommendations.
Choose any workflow from the menu to begin.
{{/if}}
You can always check your status with: `workflow-status`
</output>
</check>
<check if='confirm == "n"'>
<action>Go to Step 5 (Display agent menu)</action>
</check>
</step>
<step n="4" goal="Change workflow or start new phase" optional="true">
<ask>**Change Workflow Options:**
1. **Start new workflow** (will archive current status, create new dated file)
2. **Jump to different phase** (manual phase override)
3. **Modify current workflow** (change current_workflow field)
4. **View phase options** (see what's available for current level)
5. **Cancel** (return to status display)
Your choice (1-5):</ask>
<action>Handle workflow change based on choice</action>
<check if='choice == "1"'>
<ask>**Start New Workflow**
This will:
- Archive current status: `project-workflow-status-{{old_date}}.md``archive/`
- Create new status: `project-workflow-status-{{today}}.md`
- Start fresh assessment
Continue? (y/n)</ask>
<check if="confirm == 'y'">
<output>**To start new workflow:**
Load PM agent: `bmad pm plan-project`
This will create a new workflow status file and guide you through fresh assessment.
</output>
</check>
</check>
<check if='choice == "2"'>
<ask>**Jump to Phase:**
Current phase: {{current_phase}}
Available phases:
1. Phase 1: Analysis
2. Phase 2: Planning
3. Phase 3: Solutioning ({{project_level >= 3 ? 'required for your level' : 'skipped for Level ' + project_level}})
4. Phase 4: Implementation
Which phase? (1-4)</ask>
<action>Provide guidance for jumping to selected phase</action>
</check>
</step>
<step n="5" goal="Display agent menu">
<action>Display comprehensive agent menu based on current context</action>
**📋 BMad Method Agent Menu**
{{#if status_file_found}}
**Current Phase:** {{current_phase}}
{{/if}}
**Available Workflows by Phase:**
**Phase 1: Analysis (Optional)**
- `brainstorm-project` - Software solution exploration
- `brainstorm-game` - Game concept ideation
- `research` - Market/technical research
- `product-brief` - Strategic product foundation
- `game-brief` - Game design foundation
**Phase 2: Planning (Required)**
- `plan-project` - Scale-adaptive planning (PRD, GDD, or Tech-Spec)
**Phase 3: Solutioning (Level 3-4 Only)**
- `solution-architecture` - Overall architecture design
- `tech-spec` - Epic-specific technical specs (JIT)
**Phase 4: Implementation (Iterative)**
- `create-story` - Draft story from TODO
- `story-ready` - Approve story for development
- `story-context` - Generate context XML
- `dev-story` - Implement story
- `story-approved` - Mark story done
- `review-story` - Quality validation
- `correct-course` - Handle issues
- `retrospective` - Epic learnings
**Utility Workflows:**
- `workflow-status` - Check status and get recommendations (you are here!)
{{#if status_file_found}}
**🎯 Recommended for Your Current Phase ({{current_phase}}):**
{{#if current_phase == '1-Analysis'}}
Continue analysis or move to `plan-project`
{{/if}}
{{#if current_phase == '2-Plan'}}
{{#if project_level < 3}}
Ready for Phase 4! Run `create-story` (SM agent)
{{else}}
Ready for Phase 3! Run `solution-architecture` (Architect agent)
{{/if}}
{{/if}}
{{#if current_phase == '3-Solutioning'}}
Continue with tech-specs or move to Phase 4 `create-story`
{{/if}}
{{#if current_phase == '4-Implementation'}}
**Current Story:** {{todo_story_id || current_story_id || 'Check status file'}}
**Next Action:** {{next_command}}
{{/if}}
{{/if}}
<ask>Would you like to:
1. Run a specific workflow (tell me which one)
2. Return to status display
3. Exit
Your choice:</ask>
</step>
</workflow>

View File

@@ -0,0 +1,43 @@
# Workflow Status - Master Router and Status Tracker
name: workflow-status
description: "Universal entry point for BMM workflows. Checks for existing workflow status, displays current state, suggests next actions, or helps plan new workflow. Can be invoked by any agent (bmad-master, analyst, pm) to understand where the project is and what to do next."
author: "BMad"
# Critical variables from config
config_source: "{project-root}/bmad/bmm/config.yaml"
output_folder: "{config_source}:output_folder"
user_name: "{config_source}:user_name"
communication_language: "{config_source}:communication_language"
date: system-generated
# Workflow components
installed_path: "{project-root}/bmad/bmm/workflows/1-analysis/workflow-status"
instructions: "{installed_path}/instructions.md"
# Variables and inputs
variables:
status_file_pattern: "project-workflow-status*.md" # Searches for versioned files
check_existing_status: true # Always check for existing status file
display_menu: true # Display agent menu after status check
suggest_next_action: true # Suggest next action based on current state
# Output configuration - no output file, reads existing status
default_output_file: ""
required_tools:
- list_files
- read_file
- glob
tags:
- workflow-orchestration
- status-tracking
- master-router
- bmad-v6
execution_hints:
interactive: true # User interaction required for decisions
autonomous: false # Requires user input
iterative: false # Single-pass status check and suggestion
web_bundle: false