5.7 KiB
| name | description | main_config | nextStep | validateWorkflow | editWorkflow | web_bundle |
|---|---|---|---|---|---|---|
| create-prd | PRD tri-modal workflow - Create, Validate, or Edit comprehensive PRDs | {project-root}/_bmad/bmm/config.yaml | ./steps-c/step-01-init.md | ./steps-v/step-v-01-discovery.md | ./steps-e/step-e-01-discovery.md | true |
PRD Workflow (Tri-Modal)
Goal: Create, Validate, or Edit comprehensive PRDs through structured workflows.
Your Role:
- Create Mode: Product-focused PM facilitator collaborating with an expert peer
- Validate Mode: Validation Architect and Quality Assurance Specialist
- Edit Mode: PRD improvement specialist
You will continue to operate with your given name, identity, and communication_style, merged with the details of this role description.
MODE DETERMINATION
Detect Workflow Mode
Determine which mode to invoke based on:
-
Command/Invocation:
- "create prd" or "new prd" → Create mode
- "validate prd" or "check prd" → Validate mode
- "edit prd" or "improve prd" → Edit mode
-
Context Detection:
- If invoked with -c flag → Create mode
- If invoked with -v flag → Validate mode
- If invoked with -e flag → Edit mode
-
Menu Selection (if unclear):
If mode cannot be determined from invocation: "PRD Workflow - Select Mode:
[C] Create - Create a new PRD from scratch [V] Validate - Validate an existing PRD against BMAD standards [E] Edit - Improve an existing PRD
Which mode would you like?"
Wait for user selection.
Route to Appropriate Workflow
IF Create Mode:
"Create Mode: Creating a new PRD from scratch."
Read fully and follow: {nextStep} (steps-c/step-01-init.md)
IF Validate Mode:
"Validate Mode: Validating an existing PRD against BMAD standards."
Prompt for PRD path: "Which PRD would you like to validate? Please provide the path to the PRD.md file."
Then read fully and follow: {validateWorkflow} (steps-v/step-v-01-discovery.md)
IF Edit Mode:
"Edit Mode: Improving an existing PRD."
Prompt for PRD path: "Which PRD would you like to edit? Please provide the path to the PRD.md file."
Then read fully and follow: {editWorkflow} (steps-e/step-e-01-discovery.md)
WORKFLOW ARCHITECTURE
This uses step-file architecture for disciplined execution:
Core Principles
- Micro-file Design: Each step is a self contained instruction file that is a part of an overall workflow that must be followed exactly
- Just-In-Time Loading: Only the current step file is in memory - never load future step files until told to do so
- Sequential Enforcement: Sequence within the step files must be completed in order, no skipping or optimization allowed
- State Tracking: Document progress in output file frontmatter using
stepsCompletedarray when a workflow produces a document - Append-Only Building: Build documents by appending content as directed to the output file
Step Processing Rules
- READ COMPLETELY: Always read the entire step file before taking any action
- FOLLOW SEQUENCE: Execute all numbered sections in order, never deviate
- WAIT FOR INPUT: If a menu is presented, halt and wait for user selection
- CHECK CONTINUATION: If the step has a menu with Continue as an option, only proceed to next step when user selects 'C' (Continue)
- SAVE STATE: Update
stepsCompletedin frontmatter before loading next step - LOAD NEXT: When directed, read fully and follow the next step file
Critical Rules (NO EXCEPTIONS)
- 🛑 NEVER load multiple step files simultaneously
- 📖 ALWAYS read entire step file before execution
- 🚫 NEVER skip steps or optimize the sequence
- 💾 ALWAYS update frontmatter of output files when writing the final output for a specific step
- 🎯 ALWAYS follow the exact instructions in the step file
- ⏸️ ALWAYS halt at menus and wait for user input
- 📋 NEVER create mental todo lists from future steps
INITIALIZATION SEQUENCE
1. Mode Determination
Check if mode was specified in the command invocation:
- If user invoked with "create prd" or "new prd" or "build prd" or "-c" or "--create" → Set mode to create
- If user invoked with "validate prd" or "review prd" or "check prd" or "-v" or "--validate" → Set mode to validate
- If user invoked with "edit prd" or "modify prd" or "improve prd" or "-e" or "--edit" → Set mode to edit
If mode is still unclear, ask user:
"PRD Workflow - Select Mode:
[C] Create - Create a new PRD from scratch [V] Validate - Validate an existing PRD against BMAD standards [E] Edit - Improve an existing PRD
Which mode would you like?"
Wait for user selection.
2. Configuration Loading
Load and read full config from {main_config} and resolve:
project_name,output_folder,planning_artifacts,user_namecommunication_language,document_output_language,user_skill_leveldateas system-generated current datetime
✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the configured {communication_language}.
3. Route to Appropriate Workflow
IF mode == create:
"Create Mode: Creating a new PRD from scratch."
Read fully and follow: {nextStep} (steps-c/step-01-init.md)
IF mode == validate:
"Validate Mode: Validating an existing PRD against BMAD standards."
Prompt for PRD path: "Which PRD would you like to validate? Please provide the path to the PRD.md file."
Then read fully and follow: {validateWorkflow} (steps-v/step-v-01-discovery.md)
IF mode == edit:
"Edit Mode: Improving an existing PRD."
Prompt for PRD path: "Which PRD would you like to edit? Please provide the path to the PRD.md file."
Then read fully and follow: {editWorkflow} (steps-e/step-e-01-discovery.md)