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

@@ -18,6 +18,10 @@ agent:
- I operate as an iterative thinking partner who explores wide solution spaces before converging on recommendations, ensuring that every requirement is articulated with absolute precision and every output delivers clear, actionable next steps.
menu:
- trigger: workflow-status
workflow: "{project-root}/bmad/bmm/workflows/1-analysis/workflow-status/workflow.yaml"
description: Check workflow status and get recommendations (START HERE!)
- trigger: brainstorm-project
workflow: "{project-root}/bmad/bmm/workflows/1-analysis/brainstorm-project/workflow.yaml"
description: Guide me through Brainstorming

View File

@@ -18,6 +18,10 @@ agent:
- I treat developer productivity and security as first-class architectural concerns, implementing defense in depth while balancing technical ideals with real-world constraints to create systems built for continuous evolution and adaptation.
menu:
- trigger: workflow-status
workflow: "{project-root}/bmad/bmm/workflows/1-analysis/workflow-status/workflow.yaml"
description: Check workflow status and get recommendations
- trigger: correct-course
workflow: "{project-root}/bmad/bmm/workflows/4-implementation/correct-course/workflow.yaml"
description: Course Correction Analysis

View File

@@ -26,10 +26,18 @@ agent:
- "For *develop (Dev Story workflow), execute continuously without pausing for review or 'milestones'. Only halt for explicit blocker conditions (e.g., required approvals) or when the story is truly complete (all ACs satisfied, all tasks checked, all tests executed and passing 100%)."
menu:
- trigger: workflow-status
workflow: "{project-root}/bmad/bmm/workflows/1-analysis/workflow-status/workflow.yaml"
description: Check workflow status and get recommendations
- trigger: develop
workflow: "{project-root}/bmad/bmm/workflows/4-implementation/dev-story/workflow.yaml"
description: "Execute Dev Story workflow, implementing tasks and tests, or performing updates to the story"
- trigger: story-approved
workflow: "{project-root}/bmad/bmm/workflows/4-implementation/story-approved/workflow.yaml"
description: Mark story done after DoD complete
- trigger: review
workflow: "{project-root}/bmad/bmm/workflows/4-implementation/review-story/workflow.yaml"
description: "Perform a thorough clean context review on a story flagged Ready for Review, and appends review notes to story file"

View File

@@ -18,6 +18,10 @@ agent:
- Scalability means building for tomorrow without over-engineering today. Simplicity is the ultimate sophistication in system design.
menu:
- trigger: workflow-status
workflow: "{project-root}/bmad/bmm/workflows/1-analysis/workflow-status/workflow.yaml"
description: Check workflow status and get recommendations
- trigger: solutioning
workflow: "{project-root}/bmad/bmm/workflows/3-solutioning/workflow.yaml"
description: Design Technical Game Solution

View File

@@ -18,6 +18,10 @@ agent:
- Design is about making meaningful choices matter, creating moments of mastery, and respecting player time while delivering compelling challenge.
menu:
- trigger: workflow-status
workflow: "{project-root}/bmad/bmm/workflows/1-analysis/workflow-status/workflow.yaml"
description: Check workflow status and get recommendations
- trigger: brainstorm-game
workflow: "{project-root}/bmad/bmm/workflows/1-analysis/brainstorm-game/workflow.yaml"
description: Guide me through Game Brainstorming

View File

@@ -18,6 +18,10 @@ agent:
- Clean architecture enables creativity - messy code kills innovation. Ship early, ship often, iterate based on player feedback.
menu:
- trigger: workflow-status
workflow: "{project-root}/bmad/bmm/workflows/1-analysis/workflow-status/workflow.yaml"
description: Check workflow status and get recommendations
- trigger: create-story
workflow: "{project-root}/bmad/bmm/workflows/4-implementation/create-story/workflow.yaml"
description: Create Development Story

View File

@@ -23,14 +23,18 @@ agent:
# Menu items - triggers will be prefixed with * at build time
# help and exit are auto-injected, don't define them here
menu:
- trigger: correct-course
workflow: "{project-root}/bmad/bmm/workflows/4-implementation/correct-course/workflow.yaml"
description: Course Correction Analysis
- trigger: workflow-status
workflow: "{project-root}/bmad/bmm/workflows/1-analysis/workflow-status/workflow.yaml"
description: Check workflow status and get recommendations (START HERE!)
- trigger: plan-project
workflow: "{project-root}/bmad/bmm/workflows/2-plan/workflow.yaml"
description: Analyze Project Scope and Create PRD or Smaller Tech Spec
- trigger: correct-course
workflow: "{project-root}/bmad/bmm/workflows/4-implementation/correct-course/workflow.yaml"
description: Course Correction Analysis
- trigger: validate
exec: "{project-root}/bmad/core/tasks/validate-workflow.xml"
description: Validate any document against its workflow checklist

View File

@@ -1,27 +0,0 @@
# Product Owner Agent Definition
agent:
metadata:
id: bmad/bmm/agents/po.md
name: Sarah
title: Product Owner
icon: 📝
module: bmm
persona:
role: Technical Product Owner + Process Steward
identity: Technical background with deep understanding of software development lifecycle. Expert in agile methodologies, requirements gathering, and cross-functional collaboration. Known for exceptional attention to detail and systematic approach to complex projects.
communication_style: Methodical and thorough in explanations. Asks clarifying questions to ensure complete understanding. Prefers structured formats and templates. Collaborative but takes ownership of process adherence and quality standards.
principles:
- I champion rigorous process adherence and comprehensive documentation, ensuring every artifact is unambiguous, testable, and consistent across the entire project landscape.
- My approach emphasizes proactive preparation and logical sequencing to prevent downstream errors, while maintaining open communication channels for prompt issue escalation and stakeholder input at critical checkpoints.
- I balance meticulous attention to detail with pragmatic MVP focus, taking ownership of quality standards while collaborating to ensure all work aligns with strategic goals.
menu:
- trigger: assess-project-ready
validate-workflow: "{project-root}/bmad/bmm/workflows/3-solutioning/workflow.yaml"
description: Validate if we are ready to kick off development
- trigger: correct-course
workflow: "{project-root}/bmad/bmm/workflows/4-implementation/correct-course/workflow.yaml"
description: Course Correction Analysis

View File

@@ -21,14 +21,22 @@ agent:
- "When running *create-story, run non-interactively: use solution-architecture, PRD, Tech Spec, and epics to generate a complete draft without elicitation."
menu:
- trigger: correct-course
workflow: "{project-root}/bmad/bmm/workflows/4-implementation/correct-course/workflow.yaml"
description: Execute correct-course task
- trigger: workflow-status
workflow: "{project-root}/bmad/bmm/workflows/1-analysis/workflow-status/workflow.yaml"
description: Check workflow status and get recommendations
- trigger: assess-project-ready
validate-workflow: "{project-root}/bmad/bmm/workflows/3-solutioning/workflow.yaml"
description: Validate solutioning complete, ready for Phase 4 (Level 2-4 only)
- trigger: create-story
workflow: "{project-root}/bmad/bmm/workflows/4-implementation/create-story/workflow.yaml"
description: Create a Draft Story with Context
- trigger: story-ready
workflow: "{project-root}/bmad/bmm/workflows/4-implementation/story-ready/workflow.yaml"
description: Mark drafted story ready for development
- trigger: story-context
workflow: "{project-root}/bmad/bmm/workflows/4-implementation/story-context/workflow.yaml"
description: Assemble dynamic Story Context (XML) from latest docs and code
@@ -41,3 +49,7 @@ agent:
workflow: "{project-root}/bmad/bmm/workflows/4-implementation/retrospective/workflow.yaml"
data: "{project-root}/bmad/_cfg/agent-party.xml"
description: Facilitate team retrospective after epic/sprint
- trigger: correct-course
workflow: "{project-root}/bmad/bmm/workflows/4-implementation/correct-course/workflow.yaml"
description: Execute correct-course task

View File

@@ -22,6 +22,10 @@ agent:
- "Cross-check recommendations with the current official Playwright, Cypress, Pact, and CI platform documentation; fall back to {project-root}/bmad/bmm/testarch/test-resources-for-ai-flat.txt only when deeper sourcing is required"
menu:
- trigger: workflow-status
workflow: "{project-root}/bmad/bmm/workflows/1-analysis/workflow-status/workflow.yaml"
description: Check workflow status and get recommendations
- trigger: framework
workflow: "{project-root}/bmad/bmm/workflows/testarch/framework/workflow.yaml"
description: Initialize production-ready test framework architecture

View File

@@ -18,6 +18,10 @@ agent:
- I embrace modern AI-assisted design tools like v0 and Lovable, crafting precise prompts that accelerate the journey from concept to polished interface while maintaining the human touch that creates truly engaging experiences.
menu:
- trigger: workflow-status
workflow: "{project-root}/bmad/bmm/workflows/1-analysis/workflow-status/workflow.yaml"
description: Check workflow status and get recommendations
- trigger: plan-project
workflow: "{project-root}/bmad/bmm/workflows/2-plan/workflow.yaml"
description: UX Workflows, Website Planning, and UI AI Prompt Generation

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

View File

@@ -2,79 +2,171 @@
<workflow>
<critical>This is the INITIAL ASSESSMENT phase - determines which instruction set to load</critical>
<critical>This workflow requires a workflow status file to exist</critical>
<critical>ALWAYS check for existing project-workflow-status.md first</critical>
<critical>If no status file exists, direct user to run workflow-status first</critical>
<critical>The workflow execution engine is governed by: {project_root}/bmad/core/tasks/workflow.xml</critical>
<step n="1" goal="Check for existing workflow status or create new versioned file">
<step n="1" goal="Check for existing workflow status file - REQUIRED">
<action>Check if any project-workflow-status\*.md files exist in {output_folder}/</action>
<check if="not exists">
<output>**⚠️ No Workflow Status File Found**
The `plan-project` workflow requires an existing workflow status file.
Please run `workflow-status` first to:
- Map out your complete workflow journey
- Determine project type and level
- Create the status file with your planned workflow
**To proceed:**
1. Load any agent (Analyst, PM, or use bmad-master)
2. Run: `workflow-status`
3. Complete the workflow planning
4. Return here to continue with `plan-project`
Or tell me: "run workflow-status"
</output>
<action>Exit workflow - cannot proceed without status file</action>
</check>
<check if="exists">
<action>Find the most recent project-workflow-status-YYYY-MM-DD.md file</action>
<action>Load the status file</action>
<action>Check for existing workflow outputs based on level in status file:</action>
<action>Extract key information:</action>
**From Status File:**
- project_type: From "Project Type:" field
- project_level: From "Project Level:" field (0, 1, 2, 3, or 4)
- field_type: From "Greenfield/Brownfield:" field
- planned_workflow: From "Planned Workflow Journey" table
- current_step: From "Current Step:" field
- next_step: From "Next Step:" field
<action>Validate this workflow is the correct next step</action>
<check if='next_step != "plan-project"'>
<ask>**⚠️ Workflow Sequence Warning**
According to your status file, your next planned step is: **{{next_step}}**
But you're trying to run: **plan-project**
Options:
1. **Continue anyway** - Run plan-project (status file will be updated)
2. **Follow planned workflow** - Run {{next_step}} instead
3. **Update workflow plan** - Run workflow-status to revise plan
Your choice (1-3):</ask>
<check if='choice == "2"'>
<output>**Recommended Next Step:**
Load agent: {{next_step_agent}}
Run: {{next_step}}
Or tell me: "run {{next_step}}"
</output>
<action>Exit workflow</action>
</check>
<check if='choice == "3"'>
<output>**Update Workflow Plan:**
Run: `workflow-status`
After updating your plan, return here if needed.
</output>
<action>Exit workflow</action>
</check>
</check>
<action>Set status_file_path = existing file path</action>
<action>Check for existing workflow outputs based on level in status file:</action>
- Level 0: Check for tech-spec.md
- Level 1-2: Check for PRD.md, epic-stories.md, tech-spec.md
- Level 3-4: Check for PRD.md, epics.md
<ask>Found existing workflow status file: project-workflow-status-{{file_date}}.md (Level {{project_level}})
<check if="outputs exist">
<ask>Found existing workflow status file: project-workflow-status-{{file_date}}.md (Level {{project_level}})
**Existing documents detected:**
{{list_existing_docs}}
Options:
1. Continue with this workflow (will update existing status file)
2. Start new workflow (will create new dated status file: project-workflow-status-{{today}}.md)
3. Review and modify previous status
4. I'm working on something else (ignore this file)
1. **Continue** - Update existing documents
2. **Start fresh** - Archive old documents, create new ones
3. **Exit** - I'm not ready to regenerate these
</ask>
Your choice (1-3):</ask>
<check if='option == "1"'>
<action>Set status_file_path = existing file path</action>
<action>Set continuation_mode = true</action>
<action>Will update existing documents</action>
</check>
<check if='option == "2"'>
<action>Set status_file_path = "{output_folder}/project-workflow-status-{{today}}.md"</action>
<action>Archive old status file to: "{output_folder}/archive/project-workflow-status-{{old_date}}.md"</action>
<action>Archive existing documents to: "{output_folder}/archive/"</action>
<action>Set continuation_mode = false</action>
<action>Proceed to new assessment</action>
<action>Will create fresh documents</action>
</check>
<check if='option == "4"'>
<action>Do not use status file for this session</action>
<action>Proceed with user's requested workflow</action>
<action>Exit router (user is not using BMM planning workflow)</action>
<check if='option == "3"'>
<action>Exit workflow</action>
</check>
</check>
</check>
<check if="not exists">
<action>Create new versioned status file</action>
<action>Set status_file_path = "{output_folder}/project-workflow-status-{{today}}.md"</action>
<action>Set start_date = {{today}}</action>
<action>Proceed to assessment</action>
<check if="outputs do not exist">
<action>Set continuation_mode = false</action>
<action>Ready to create new documents</action>
</check>
</check>
</step>
<step n="2" goal="Determine workflow path">
<step n="2" goal="Use status file data and determine specific planning path">
<output>**Status File Data Loaded:**
- Project Type: {{project_type}}
- Project Level: {{project_level}}
- Field Type: {{field_type}}
- Current Phase: {{current_phase}}
</output>
<ask>What type of planning do you need?
**Quick Selection:**
**Based on your project (Level {{project_level}} {{project_type}}):**
1. Full project planning (PRD, Tech Spec, etc.)
2. UX/UI specification only
3. Tech spec only (for small changes)
4. Generate AI Frontend Prompt from existing specs
{{#if project_level == 0}}
**Recommended:** Tech spec only (Level 0 path)
{{/if}}
Select an option or describe your needs:
</ask>
{{#if project_level == 1}}
**Recommended:** Tech spec + epic/stories (Level 1 path)
{{/if}}
{{#if project_level >= 2}}
**Recommended:** Full PRD + epics (Level {{project_level}} path)
{{/if}}
**Other Options:**
1. **Follow recommended path** (recommended)
2. **UX/UI specification only**
3. **Generate AI Frontend Prompt** (from existing specs)
4. **Describe custom needs**
Select an option (1-4):</ask>
<action>Capture user selection as {{planning_type}}</action>
@@ -84,251 +176,153 @@ Select an option or describe your needs:
<action>Exit router workflow (skip remaining steps)</action>
</check>
<check if='{{planning_type}} == "4" OR "Generate AI Frontend Prompt"'>
<check if='{{planning_type}} == "3" OR "Generate AI Frontend Prompt"'>
<action>Check for existing UX spec or PRD</action>
<invoke-task>{project-root}/bmad/bmm/tasks/ai-fe-prompt.md</invoke-task>
<action>Exit router workflow after prompt generation</action>
</check>
<action if='{{planning_type}} == "1" OR "3" OR "Tech spec only" OR "Full project planning"'>Continue to step 3 for project assessment</action>
<action if='{{planning_type}} == "1" OR "Follow recommended path"'>Use project_level and project_type from status file to route to appropriate workflow</action>
</step>
<step n="3" goal="Project context assessment" if="not_ux_only">
<step n="3" goal="Gather additional context if needed">
<ask>Let's understand your project needs:
<action>Read status file to check if additional context is needed</action>
**1. Project Type:**
<check if='field_type == "brownfield" AND needs_documentation == true'>
<ask>**⚠️ Brownfield Documentation Needed**
1. Game
2. Web application
3. Mobile application
4. Desktop application
5. Backend service/API
6. Library/package
7. Other - Please specify
Your status file indicates this brownfield project needs codebase documentation.
**2. Project Context:**
a. New project (greenfield)
b. Adding to existing clean codebase (brownfield - well documented)
c. Working with messy/legacy code (brownfield - needs documentation)
**3. What are you building?** (brief description)
</ask>
<action>Capture field_type = "greenfield" or "brownfield"</action>
<check if='field_type == "brownfield" AND (project_context == "c" OR project_context == "Working with messy/legacy code")'>
<action>Check for {project-root}/docs/index.ts or {project-root}/docs/index.md</action>
<check if="not exists">
<ask>This brownfield project needs codebase documentation for effective planning.
**Documentation Status:** No index.ts or index.md found in docs/
The document-project workflow was flagged in your planned workflow.
**Options:**
1. Generate docs now (run document-project workflow - ~10-15 min, recommended)
2. I'll provide context through questions during planning
3. Continue anyway (may need more context later during implementation)
**Recommendation for Level 0-1:** Option 1 or 2 ensures faster, more accurate planning
1. **Generate docs now** - Run document-project workflow (~10-15 min)
2. **Skip for now** - I'll provide context through questions
3. **Already have docs** - I have documentation to reference
Choose option (1-3):</ask>
<check if='option == "1"'>
<action>Set needs_documentation = true</action>
<action>Will invoke document-project after assessment</action>
<action>Invoke document-project workflow before continuing</action>
<invoke-workflow>{project-root}/bmad/bmm/workflows/1-analysis/document-project/workflow.yaml</invoke-workflow>
<action>Wait for documentation to complete</action>
<action>Update status file: Mark document-project as "Complete" in planned workflow</action>
</check>
<check if='option == "2"'>
<action>Set gather_context_via_questions = true</action>
<action>Will ask detailed questions during tech-spec generation</action>
<action>Will ask detailed questions during spec generation</action>
</check>
<check if='option == "3"'>
<action>Set proceed_without_docs = true</action>
<action>Note: May require additional context gathering during implementation</action>
</check>
</check>
<check if="exists">
<action>Set has_documentation = true</action>
<action>Will reference docs/index.ts during planning</action>
<action>Will reference existing documentation</action>
</check>
</check>
<action>Detect if project_type == "game"</action>
<check if='project_level == "TBD"'>
<ask>**Project Level Not Yet Determined**
Your status file indicates the project level will be determined during planning.
**Based on what you want to build, what level best describes your project?**
0. **Single atomic change** - Bug fix, add endpoint, single file change
1. **Coherent feature** - Add search, implement SSO, new component (2-3 stories)
2. **Small complete system** - Admin tool, team app, prototype (multiple epics)
3. **Full product** - Customer portal, SaaS MVP (subsystems, integrations)
4. **Platform/ecosystem** - Enterprise suite, multi-tenant system
Your level (0-4):</ask>
<action>Capture confirmed_level</action>
<action>Update status file with confirmed project_level</action>
</check>
<check if='project_type == "TBD" OR project_type == "custom"'>
<ask>**Project Type Clarification Needed**
Please describe your project type so we can load the correct planning template.
Examples: web, mobile, desktop, backend, library, cli, game, embedded, data, extension, infra
Your project type:</ask>
<action>Capture and map to project_type_id from project-types.csv</action>
<action>Update status file with confirmed project_type</action>
</check>
</step>
<step n="4" goal="Update status file and route to appropriate workflow">
<action>Update status file before proceeding:</action>
<template-output file="{{status_file_path}}">current_workflow</template-output>
<check if="project_level == 0">Set to: "tech-spec (Level 0 - in progress)"</check>
<check if="project_level == 1">Set to: "tech-spec (Level 1 - in progress)"</check>
<check if="project_level >= 2">Set to: "PRD (Level {{project_level}} - in progress)"</check>
<template-output file="{{status_file_path}}">current_step</template-output>
Set to: "plan-project"
<template-output file="{{status_file_path}}">progress_percentage</template-output>
Increment by 10% (planning started)
<action>Add to decisions log:</action>
```
- **{{date}}**: Started plan-project workflow. Routing to {{workflow_type}} workflow based on Level {{project_level}} {{project_type}} project.
```
<critical>Based on project type and level from status file, load ONLY the needed instructions:</critical>
<check if='project_type == "game"'>
<action>Set workflow_type = "gdd"</action>
<action>Skip level classification (GDD workflow handles all game project levels)</action>
<action>Jump to step 5 for GDD-specific assessment</action>
</check>
<action>Else, based on their description, analyze and suggest scope level:</action>
Examples:
- "Fix login bug" → Suggests Level 0 (single atomic change)
- "Add OAuth to existing app" → Suggests Level 1 (coherent feature)
- "Build internal admin dashboard" → Suggests Level 2 (small system)
- "Create customer portal with payments" → Suggests Level 3 (full product)
- "Multi-tenant SaaS platform" → Suggests Level 4 (platform)
<ask>Based on your description, this appears to be a **{{suggested_level}}** project.
**3. Quick Scope Guide - Please confirm or adjust:**
1. **Single atomic change** → Bug fix, add endpoint, single file change (Level 0)
2. **Coherent feature** → Add search, implement SSO, new component (Level 1)
3. **Small complete system** → Admin tool, team app, prototype (Level 2)
4. **Full product** → Customer portal, SaaS MVP (Level 3)
5. **Platform/ecosystem** → Enterprise suite, multi-tenant system (Level 4)
**4. Do you have existing documentation?**
1. Product Brief
2. Market Research
3. Technical docs/Architecture
4. None
</ask>
</step>
<step n="4" goal="Determine project level and workflow path">
<action>Based on responses, determine:</action>
**Level Classification:**
- **Level 0**: Single atomic change → tech-spec only
- **Level 1**: Single feature, 1-10 stories → minimal PRD + tech-spec
- **Level 2**: Small system, 5-15 stories → focused PRD + tech-spec
- **Level 3**: Full product, 12-40 stories → full PRD + architect handoff
- **Level 4**: Platform, 40+ stories → enterprise PRD + architect handoff
<action>For brownfield without docs:</action>
- Levels 0-2: Can proceed with context gathering
- Levels 3-4: MUST run architect assessment first
</step>
<step n="4a" goal="Run document-project if needed" optional="true">
<check if="needs_documentation == true">
<action>Invoke document-project workflow before continuing with planning</action>
<invoke-workflow>{project-root}/bmad/bmm/workflows/1-analysis/document-project/workflow.yaml</invoke-workflow>
<action>Wait for documentation to complete</action>
<action>Verify docs/index.ts or docs/index.md was created</action>
</check>
</step>
<step n="5" goal="Create workflow status document">
<action>Initialize status file using status_template from workflow.yaml</action>
<action>Write to versioned file path: {{status_file_path}}</action>
<action>Set start_date = {{today}} in template variables</action>
<critical>Capture any technical preferences mentioned during assessment</critical>
<critical>Initialize Workflow Status Tracker with current state</critical>
Generate comprehensive status document with all assessment data.
<template-output file="{{status_file_path}}">project_type</template-output>
<template-output file="project-workflow-status.md">project_level</template-output>
<template-output file="project-workflow-status.md">instruction_set</template-output>
<template-output file="project-workflow-status.md">scope_description</template-output>
<template-output file="project-workflow-status.md">story_count</template-output>
<template-output file="project-workflow-status.md">epic_count</template-output>
<template-output file="project-workflow-status.md">timeline</template-output>
<template-output file="project-workflow-status.md">field_type</template-output>
<template-output file="project-workflow-status.md">existing_docs</template-output>
<template-output file="project-workflow-status.md">team_size</template-output>
<template-output file="project-workflow-status.md">deployment_intent</template-output>
<template-output file="project-workflow-status.md">expected_outputs</template-output>
<template-output file="project-workflow-status.md">workflow_steps</template-output>
<template-output file="project-workflow-status.md">next_steps</template-output>
<template-output file="project-workflow-status.md">special_notes</template-output>
<template-output file="project-workflow-status.md">technical_preferences</template-output>
<action>Initialize Workflow Status Tracker section:</action>
<template-output file="project-workflow-status.md">current_phase</template-output>
Set to: "2-Plan"
<template-output file="project-workflow-status.md">current_workflow</template-output>
<check if="Level 0">Set to: "tech-spec (Level 0 - starting)"</check>
<check if="Level 1">Set to: "tech-spec (Level 1 - starting)"</check>
<check if="Level 2+">Set to: "PRD (Level {{project_level}} - starting)"</check>
<template-output file="project-workflow-status.md">progress_percentage</template-output>
Set to: 10% (assessment complete)
<template-output file="project-workflow-status.md">artifacts_table</template-output>
Initialize with:
```
| project-workflow-status.md | Complete | {output_folder}/project-workflow-status.md | {{date}} |
```
<template-output file="project-workflow-status.md">next_action</template-output>
<check if="Level 0">Set to: "Generate technical specification and single user story"</check>
<check if="Level 1">Set to: "Generate technical specification and epic/stories (2-3 stories)"</check>
<check if="Level 2+">Set to: "Generate PRD and epic breakdown"</check>
<template-output file="project-workflow-status.md">decisions_log</template-output>
Add first entry:
```
- **{{date}}**: Project assessment completed. Classified as Level {{project_level}} {{field_type}} project. Routing to {{instruction_set}} workflow.
```
</step>
<step n="6" goal="Load appropriate instruction set and handle continuation">
<critical>Based on project type and level, load ONLY the needed instructions:</critical>
<check if='workflow_type == "gdd"'>
<invoke-workflow>{installed_path}/gdd/workflow.yaml</invoke-workflow>
<action>GDD workflow handles all game project levels internally</action>
<action>Pass status_file_path and continuation_mode to workflow</action>
</check>
<check if="Level 0">
<check if='project_level == 0 AND project_type != "game"'>
<invoke-workflow>{installed_path}/tech-spec/workflow.yaml</invoke-workflow>
<action>Pass level=0 to tech-spec workflow</action>
<action>Tech-spec workflow will generate user-story.md after tech-spec completion</action>
<action>Tech-spec workflow will generate tech-spec + 1 story</action>
<action>Pass status_file_path and continuation_mode to workflow</action>
</check>
<check if="Level 1">
<check if='project_level == 1 AND project_type != "game"'>
<invoke-workflow>{installed_path}/tech-spec/workflow.yaml</invoke-workflow>
<action>Pass level=1 to tech-spec workflow</action>
<action>Tech-spec workflow will generate epic-stories.md after tech-spec completion</action>
<action>Tech-spec workflow will generate tech-spec + epic + 2-3 stories</action>
<action>Pass status_file_path and continuation_mode to workflow</action>
</check>
<check if="Level 2">
<check if='project_level == 2 AND project_type != "game"'>
<invoke-workflow>{installed_path}/prd/workflow.yaml</invoke-workflow>
<action>Pass level context to PRD workflow (loads instructions-med.md)</action>
<action>Pass level=2 context to PRD workflow (loads instructions-med.md)</action>
<action>Pass status_file_path and continuation_mode to workflow</action>
</check>
<check if="Level 3-4">
<check if='project_level >= 3 AND project_type != "game"'>
<invoke-workflow>{installed_path}/prd/workflow.yaml</invoke-workflow>
<action>Pass level context to PRD workflow (loads instructions-lg.md)</action>
<action>Pass status_file_path and continuation_mode to workflow</action>
</check>
<critical>Pass continuation context to invoked workflow:</critical>
<critical>Pass context to invoked workflow:</critical>
- continuation_mode: true/false
- last_completed_step: {{step_number}}
- status_file_path: {{status_file_path}}
- continuation_mode: {{continuation_mode}}
- existing_documents: {{document_list}}
- project_level: {{level}}
- project_level: {{project_level}}
- project_type: {{project_type}}
- field_type: {{field_type}}
- gather_context_via_questions: {{gather_context_via_questions}} (if brownfield without docs)
<critical>The invoked workflow's instruction set should check continuation_mode and adjust accordingly</critical>
<critical>The invoked workflow will update the status file when complete</critical>
</step>

View File

@@ -60,6 +60,43 @@ The BMM (BMAD Method Module) orchestrates software development through four dist
└──────────────────────────────────────────────────────────────┘
```
## Universal Entry Point: workflow-status
**Before starting any workflow, check your status!**
The `workflow-status` workflow is the **universal entry point** for all BMM workflows:
```bash
bmad analyst workflow-status
# or
bmad pm workflow-status
```
**What it does:**
- ✅ Checks for existing workflow status file
- ✅ Displays current phase, progress, and next action
- ✅ Helps new users plan their workflow approach
- ✅ Guides brownfield projects to documentation first
- ✅ Routes to appropriate workflows based on context
**No status file?** It will:
1. Ask about project context (greenfield vs brownfield)
2. Offer analysis options (full analysis, skip to planning, or quick tech spec)
3. Guide you to the right first workflow
**Status file exists?** It will:
1. Display current phase and progress
2. Show Phase 4 implementation state (BACKLOG/TODO/IN PROGRESS/DONE)
3. Recommend exact next action
4. Offer to change workflow or display menu
**All agents (bmad-master, analyst, pm) should check workflow-status on load.**
---
## Phase 1: Analysis (Optional)
Optional workflows for project discovery and requirements gathering. Output feeds into Phase 2 planning.
@@ -67,7 +104,8 @@ Optional workflows for project discovery and requirements gathering. Output feed
### Workflows
| Workflow | Purpose | Output | When to Use |
| ---------------------- | ------------------------------------------- | ---------------------- | --------------------- |
| ---------------------- | ------------------------------------------- | ------------------------- | ---------------------- |
| **workflow-status** | Universal entry point and status checker | Status display + guidance | **Always start here!** |
| **brainstorm-game** | Game concept ideation using 5 methodologies | Concept proposals | New game projects |
| **brainstorm-project** | Software solution exploration | Architecture proposals | New software projects |
| **game-brief** | Structured game design foundation | Game brief document | Before GDD creation |
@@ -77,7 +115,7 @@ Optional workflows for project discovery and requirements gathering. Output feed
### Flow
```
Brainstorming → Research → Brief → Planning (Phase 2)
workflow-status (check) → Brainstorming → Research → Brief → Planning (Phase 2)
```
## Phase 2: Planning (Required)
@@ -393,6 +431,9 @@ plan-project (Phase 2)
## Quick Reference Commands
```bash
# Universal Entry Point (Start Here!)
bmad analyst workflow-status # Check status and get recommendations
# Phase 1: Analysis (Optional)
bmad analyst brainstorm-project
bmad analyst research

View File

@@ -21,6 +21,27 @@
- [ ] **3-Solutioning** - Architecture + Tech Specs (Level 2+ only)
- [ ] **4-Implementation** - Story development and delivery
### Planned Workflow Journey
**This section documents your complete workflow plan from start to finish.**
| Phase | Step | Agent | Description | Status |
| ----- | ---- | ----- | ----------- | ------ |
{{#planned_workflow}}
| {{phase}} | {{step}} | {{agent}} | {{description}} | {{status}} |
{{/planned_workflow}}
**Current Step:** {{current_step}}
**Next Step:** {{next_step}}
**Instructions:**
- This plan was created during initial workflow-status setup
- Status values: Planned, Optional, Conditional, In Progress, Complete
- Current/Next steps update as you progress through the workflow
- Use this as your roadmap to know what comes after each phase
### Implementation Progress (Phase 4 Only)
**Story Tracking:** {{story_tracking_mode}}
@@ -155,9 +176,10 @@ BACKLOG → TODO → IN PROGRESS → DONE
### Project Classification
- **Project Type:** {{project_type}}
- **Project Type:** {{project_type}} ({{project_type_display_name}})
- **Project Level:** {{project_level}}
- **Instruction Set:** {{instruction_set}}
- **Greenfield/Brownfield:** {{field_type}}
### Scope Summary
@@ -168,7 +190,6 @@ BACKLOG → TODO → IN PROGRESS → DONE
### Context
- **Greenfield/Brownfield:** {{field_type}}
- **Existing Documentation:** {{existing_docs}}
- **Team Size:** {{team_size}}
- **Deployment Intent:** {{deployment_intent}}