PRD Workflow Router Instructions
This workflow requires a workflow status file to exist
ALWAYS check for existing bmm-workflow-status.md first
If no status file exists, direct user to run workflow-status first
The workflow execution engine is governed by: {project_root}/bmad/core/tasks/workflow.xml
Check if any bmm-workflow-status*.md files exist in {output_folder}/
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:
- Load any agent (Analyst, PM, or use bmad-master)
- Run:
workflow-status
- Complete the workflow planning
- Return here to continue with
plan-project
Or tell me: “run workflow-status”
Exit workflow - cannot proceed without status file
Find the most recent bmm-workflow-status.md file
Load the status file
Extract key information:
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
Validate this workflow is the correct next step
⚠️ Workflow Sequence Warning
According to your status file, your next planned step is: {{next_step}}
But you’re trying to run: plan-project
Options:
- Continue anyway - Run plan-project (status file will be updated)
- Follow planned workflow - Run {{next_step}} instead
- Update workflow plan - Run workflow-status to revise plan
Your choice (1-3):
<check if='choice == "2"'>
<output>**Recommended Next Step:**
Load agent: {{next_step_agent}}
Run: {{next_step}}
Or tell me: “run {{next_step}}”
Exit workflow
<check if='choice == "3"'>
<output>**Update Workflow Plan:**
Run: workflow-status
After updating your plan, return here if needed.
Exit workflow
Set status_file_path = existing file path
Check for existing workflow outputs based on level in status file:
- 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
Found existing workflow status file: bmm-workflow-status.md (Level {{project_level}})
Existing documents detected:
{{list_existing_docs}}
Options:
- Continue - Update existing documents
- Start fresh - Archive old documents, create new ones
- Exit - I’m not ready to regenerate these
Your choice (1-3):
<check if='option == "1"'>
<action>Set continuation_mode = true</action>
<action>Will update existing documents</action>
</check>
<check if='option == "2"'>
<action>Archive existing documents to: "{output_folder}/archive/"</action>
<action>Set continuation_mode = false</action>
<action>Will create fresh documents</action>
</check>
<check if='option == "3"'>
<action>Exit workflow</action>
</check>
Set continuation_mode = false
Ready to create new documents
- Project Type: {{project_type}}
- Project Level: {{project_level}}
- Field Type: {{field_type}}
- Current Phase: {{current_phase}}
What type of planning do you need?
Based on your project (Level {{project_level}} {{project_type}}):
{{#if project_level == 0}}
Recommended: Tech spec only (Level 0 path)
{{/if}}
{{#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:
- Follow recommended path (recommended)
- UX/UI specification only
- Generate AI Frontend Prompt (from existing specs)
- Describe custom needs
Select an option (1-4):
Capture user selection as {{planning_type}}
<invoke-workflow>{installed_path}/ux/workflow.yaml</invoke-workflow>
Pass mode=“standalone” to UX workflow
Exit router workflow (skip remaining steps)
Check for existing UX spec or PRD
<invoke-task>{project-root}/bmad/bmm/tasks/ai-fe-prompt.md</invoke-task>
Exit router workflow after prompt generation
Use project_level and project_type from status file to route to appropriate workflow
Read status file to check if additional context is needed
⚠️ Brownfield Documentation Needed
Your status file indicates this brownfield project needs codebase documentation.
The document-project workflow was flagged in your planned workflow.
Options:
- Generate docs now - Run document-project workflow (~10-15 min)
- Skip for now - I’ll provide context through questions
- Already have docs - I have documentation to reference
Choose option (1-3):
Invoke document-project workflow before continuing
<invoke-workflow>{project-root}/bmad/bmm/workflows/1-analysis/document-project/workflow.yaml</invoke-workflow>
Wait for documentation to complete
Update status file: Mark document-project as “Complete” in planned workflow
Set gather_context_via_questions = true
Will ask detailed questions during spec generation
Set has_documentation = true
Will reference existing documentation
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?
- Single atomic change - Bug fix, add endpoint, single file change
- Coherent feature - Add search, implement SSO, new component (2-3 stories)
- Small complete system - Admin tool, team app, prototype (multiple epics)
- Full product - Customer portal, SaaS MVP (subsystems, integrations)
- Platform/ecosystem - Enterprise suite, multi-tenant system
Your level (0-4):
Capture confirmed_level
Update status file with confirmed project_level
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:
Capture and map to project_type_id from project-types.csv
Update status file with confirmed project_type
Update status file before proceeding:
<template-output file=“{{status_file_path}}”>current_workflow</template-output>
Set to: “tech-spec (Level 0 - in progress)”
Set to: “tech-spec (Level 1 - in progress)”
Set to: “PRD (Level {{project_level}} - in progress)”
<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)
Add to decisions log:
- **{{date}}**: Started plan-project workflow. Routing to {{workflow_type}} workflow based on Level {{project_level}} {{project_type}} project.
Based on project type and level from status file, load ONLY the needed instructions:
<invoke-workflow>{installed_path}/gdd/workflow.yaml</invoke-workflow>
GDD workflow handles all game project levels internally
Pass status_file_path and continuation_mode to workflow
<invoke-workflow>{installed_path}/tech-spec/workflow.yaml</invoke-workflow>
Pass level=0 to tech-spec workflow
Tech-spec workflow will generate tech-spec + 1 story
Pass status_file_path and continuation_mode to workflow
<invoke-workflow>{installed_path}/tech-spec/workflow.yaml</invoke-workflow>
Pass level=1 to tech-spec workflow
Tech-spec workflow will generate tech-spec + epic + 2-3 stories
Pass status_file_path and continuation_mode to workflow
<invoke-workflow>{installed_path}/prd/workflow.yaml</invoke-workflow>
Pass level=2 context to PRD workflow (loads instructions-med.md)
Pass status_file_path and continuation_mode to workflow