7.2 KiB
Workflow Status System
The universal entry point for BMM workflows - answers "what should I do now?" for any agent.
Overview
The workflow status system provides:
- Smart project initialization - Detects existing work and infers project details
- Simple status tracking - Key-value pairs for instant parsing
- Intelligent routing - Suggests next actions based on current state
- Modular workflow paths - Each project type/level has its own clean definition
Architecture
Core Components
workflow-status/
├── workflow.yaml # Main configuration
├── instructions.md # Status checker (99 lines)
├── workflow-status-template.yaml # Clean YAML status template
├── project-levels.yaml # Source of truth for scale definitions
└── paths/ # Modular workflow definitions
├── greenfield-level-0.yaml through level-4.yaml
├── brownfield-level-0.yaml through level-4.yaml
└── game-design.yaml
Related Workflow
workflow-init/
├── workflow.yaml # Initialization configuration
└── instructions.md # Smart setup (182 lines)
How It Works
For New Projects
- User runs
workflow-status - System finds no status file
- Directs to
workflow-init - Init workflow:
- Scans for existing work (PRDs, code, etc.)
- Infers project details from what it finds
- Asks minimal questions (name + description)
- Confirms understanding in one step
- Creates status file with workflow path
For Existing Projects
- User runs
workflow-status - System reads status file
- Shows current state and options:
- Continue in-progress work
- Next required step
- Available optional workflows
- User picks action
Status File Format
Clean YAML format with all workflows listed up front:
# generated: 2025-10-29
# project: MyProject
# project_type: software
# project_level: 2
# field_type: greenfield
# workflow_path: greenfield-level-2.yaml
workflow_status:
# Phase 1: Analysis
brainstorm-project: optional
research: optional
product-brief: recommended
# Phase 2: Planning
prd: docs/prd.md
validate-prd: optional
create-design: conditional
# Phase 3: Solutioning
create-architecture: required
validate-architecture: optional
solutioning-gate-check: required
Status Values:
required/optional/recommended/conditional- Not yet started{file-path}- Completed (e.g.,docs/prd.md)skipped- Optional workflow that was skipped
Any agent can instantly parse what they need:
- Read YAML to see all workflows and their status
- Check which workflows are completed vs pending
- Auto-detect existing work by scanning for output files
Project Levels
Source of truth: /src/modules/bmm/README.md lines 77-85
- Level 0: Single atomic change (1 story)
- Level 1: Small feature (1-10 stories)
- Level 2: Medium project (5-15 stories)
- Level 3: Complex system (12-40 stories)
- Level 4: Enterprise scale (40+ stories)
Workflow Paths
Each combination has its own file:
greenfield-level-X.yaml- New projects at each levelbrownfield-level-X.yaml- Existing codebases at each levelgame-design.yaml- Game projects (all levels)
Benefits:
- Load only what's needed (60 lines vs 750+)
- Easy to maintain individual paths
- Clear separation of concerns
Smart Detection
The init workflow intelligently detects:
Project Type:
- Finds GDD → game
- Otherwise → software
Project Level:
- Reads PRD epic/story counts
- Analyzes scope descriptions
- Makes educated guess
Field Type:
- Finds source code → brownfield
- Only planning docs → greenfield
- Checks git history age
Documentation Status:
- Finds index.md → was undocumented
- Good README → documented
- Missing docs → needs documentation
Usage Examples
Any Agent Checking Status
Agent: workflow-status
Result: "Current: Phase 2 - Planning, Next: prd (pm agent)"
New Project Setup
Agent: workflow-status
System: "No status found. Run workflow-init"
Agent: workflow-init
System: "Tell me about your project"
User: "Building a dashboard with user management"
System: "Level 2 greenfield software project. Correct?"
User: "Yes"
System: "Status created! Next: pm agent, run prd"
Smart Inference
System finds: prd-dashboard.md with 3 epics
System finds: package.json, src/ directory
System infers: Level 2 brownfield software
User confirms or corrects
Philosophy
Less Structure, More Intelligence
Instead of complex if/else logic:
- Trust the LLM to analyze and infer
- Use natural language for corrections
- Keep menus simple and contextual
- Let intelligence emerge from the model
Result: A workflow system that feels like talking to a smart assistant, not filling out a form.
Implementation Details
workflow-init (6 Steps)
- Scan for existing work - Check for docs, code, git history
- Confirm findings - Show what was detected (if anything)
- Gather info - Name, description, confirm type/level/field
- Load path file - Select appropriate workflow definition
- Generate workflow - Build from path file
- Create status file - Save and show next step
workflow-status (4 Steps)
- Check for status file - Direct to init if missing
- Parse status - Extract key-value pairs
- Display options - Show current, required, optional
- Handle selection - Execute user's choice
Best Practices
- Let the AI guess - It's usually right, user corrects if needed
- One conversation - Get all info in Step 3 of init
- Simple parsing - Key-value pairs, not complex structures
- Modular paths - Each scenario in its own file
- Trust intelligence - LLM understands context better than rules
Integration
Other workflows read the status to coordinate:
- Any workflow can check CURRENT_PHASE
- Workflows can verify prerequisites are complete
- All agents can ask "what should I do?"
Phase 4 (Implementation):
- workflow-status only tracks sprint-planning completion
- After sprint-planning, all story/epic tracking happens in sprint-status.yaml
- Phase 4 workflows do NOT read/write workflow-status (except sprint-planning for prerequisite verification)
The workflow-status.yaml file is the single source of truth for Phases 1-3, and sprint-status.yaml takes over for Phase 4 implementation tracking.
Benefits
✅ Smart Detection - Infers from existing work instead of asking everything ✅ Minimal Questions - Just name and description in most cases ✅ Clean Status - Simple key-value pairs for instant parsing ✅ Modular Paths - 60-line files instead of 750+ line monolith ✅ Natural Language - "Tell me about your project" not "Pick 1-12" ✅ Intelligent Menus - Shows only relevant options ✅ Fast Parsing - Grep instead of complex logic ✅ Easy Maintenance - Change one level without affecting others
Future Enhancements
- Visual progress indicators
- Time tracking and estimates
- Multi-project support
- Team synchronization
This workflow is the front door to BMad Method. Start here to know what to do next.