# PRD Workflow Instructions
The workflow execution engine is governed by: {project-root}/bmad/core/tasks/workflow.xml
You MUST have already loaded and processed: {installed_path}/workflow.yaml
Communicate all responses in {communication_language} and language MUST be tailored to {user_skill_level}
Generate all documents in {document_output_language}
This workflow is for Level 2-4 projects. Level 0-1 use tech-spec workflow.
Produces TWO outputs: PRD.md (strategic) and epics.md (tactical implementation)
TECHNICAL NOTES: If ANY technical details, preferences, or constraints are mentioned during PRD discussions, append them to {technical_decisions_file}. If file doesn't exist, create it from {technical_decisions_template}
DOCUMENT OUTPUT: Concise, clear, actionable requirements. Use tables/lists over prose. User skill level ({user_skill_level}) affects conversation style ONLY, not document content.
Check if {output_folder}/bmm-workflow-status.yaml exists
Continue in standalone mode or exit to run workflow-init? (continue/exit)
Set standalone_mode = true
Exit workflow
Load the FULL file: {output_folder}/bmm-workflow-status.yaml
Parse workflow_status section
Check status of "prd" workflow
Get project_level from YAML metadata
Find first non-completed workflow (next expected workflow)
Exit and redirect to tech-spec
Re-running will overwrite the existing PRD. Continue? (y/n)
Exit workflow
Continue with PRD anyway? (y/n)
Exit workflow
Set standalone_mode = false
Use {{project_level}} from status data
Check for existing PRD.md in {output_folder}
Found existing PRD.md. Would you like to:
1. Continue where you left off
2. Modify existing sections
3. Start fresh (will archive existing file)
Load existing PRD and skip to first incomplete section
Load PRD and ask which section to modify
Archive existing PRD and start fresh
Load PRD template: {prd_template}
Load epics template: {epics_template}
Do you have a Product Brief? (Strongly recommended for Level 3-4, helpful for Level 2)
Load and review product brief: {output_folder}/product-brief.md
Extract key elements: problem statement, target users, success metrics, MVP scope, constraints
Product Brief is strongly recommended for Level 3-4 projects. Consider running the product-brief workflow first.
Continue without Product Brief? (y/n)
Exit to allow Product Brief creation
**Goals** - What success looks like for this project
Review goals from product brief and refine for PRD context
Gather goals through discussion with user, use probing questions and converse until you are ready to propose that you have enough information to proceed
Create a bullet list of single-line desired outcomes that capture user and project goals.
**Scale guidance:**
- Level 2: 2-3 core goals
- Level 3: 3-5 strategic goals
- Level 4: 5-7 comprehensive goals
goals
**Background Context** - Why this matters now
Summarize key context from brief without redundancy
Gather context through discussion
Write 1-2 paragraphs covering:
- What problem this solves and why
- Current landscape or need
- Key insights from discovery/brief (if available)
background_context
**Functional Requirements** - What the system must do
Draft functional requirements as numbered items with FR prefix.
**Scale guidance:**
- Level 2: 8-15 FRs (focused MVP set)
- Level 3: 12-25 FRs (comprehensive product)
- Level 4: 20-35 FRs (enterprise platform)
**Format:**
- FR001: [Clear capability statement]
- FR002: [Another capability]
**Focus on:**
- User-facing capabilities
- Core system behaviors
- Integration requirements
- Data management needs
Group related requirements logically.
{project-root}/bmad/core/tasks/adv-elicit.xml
functional_requirements
**Non-Functional Requirements** - How the system must perform
Draft non-functional requirements with NFR prefix.
**Scale guidance:**
- Level 2: 1-3 NFRs (critical MVP only)
- Level 3: 2-5 NFRs (production quality)
- Level 4: 3-7+ NFRs (enterprise grade)
non_functional_requirements
**Journey Guidelines (scale-adaptive):**
- **Level 2:** 1 simple journey (primary use case happy path)
- **Level 3:** 2-3 detailed journeys (complete flows with decision points)
- **Level 4:** 3-5 comprehensive journeys (all personas and edge cases)
Would you like to document a user journey for the primary use case? (recommended but optional)
Create 1 simple journey showing the happy path.
Map complete user flows with decision points, alternatives, and edge cases.
user_journeys
{project-root}/bmad/core/tasks/adv-elicit.xml
**Purpose:** Capture essential UX/UI information needed for epic and story planning. A dedicated UX workflow will provide deeper design detail later.
For backend-heavy or minimal UI projects, keep this section very brief or skip
**Gather high-level UX/UI information:**
1. **UX Principles** (2-4 key principles that guide design decisions)
- What core experience qualities matter most?
- Any critical accessibility or usability requirements?
2. **Platform & Screens**
- Target platforms (web, mobile, desktop)
- Core screens/views users will interact with
- Key interaction patterns or navigation approach
3. **Design Constraints**
- Existing design systems or brand guidelines
- Technical UI constraints (browser support, etc.)
Keep responses high-level. Detailed UX planning happens in the UX workflow after PRD completion.
{project-root}/bmad/core/tasks/adv-elicit.xml
ux_principles
ui_design_goals
**Epic Structure** - Major delivery milestones
Create high-level epic list showing logical delivery sequence.
**Epic Sequencing Rules:**
1. **Epic 1 MUST establish foundation**
- Project infrastructure (repo, CI/CD, core setup)
- Initial deployable functionality
- Development workflow established
- Exception: If adding to existing app, Epic 1 can be first major feature
2. **Subsequent Epics:**
- Each delivers significant, end-to-end, fully deployable increment
- Build upon previous epics (no forward dependencies)
- Represent major functional blocks
- Prefer fewer, larger epics over fragmentation
**Scale guidance:**
- Level 2: 1-2 epics, 5-15 stories total
- Level 3: 2-5 epics, 15-40 stories total
- Level 4: 5-10 epics, 40-100+ stories total
**For each epic provide:**
- Epic number and title
- Single-sentence goal statement
- Estimated story count
**Example:**
- **Epic 1: Project Foundation & User Authentication**
- **Epic 2: Core Task Management**
Review the epic list. Does the sequence make sense? Any epics to add, remove, or resequence?
Refine epic list based on feedback
{project-root}/bmad/core/tasks/adv-elicit.xml
epic_list
**Out of Scope** - What we're NOT doing (now)
Document what is explicitly excluded from this project:
- Features/capabilities deferred to future phases
- Adjacent problems not being solved
- Integrations or platforms not supported
- Scope boundaries that need clarification
This helps prevent scope creep and sets clear expectations.
out_of_scope
Review all PRD sections for completeness and consistency
Ensure all placeholders are filled
Save final PRD.md to {default_output_file}
**PRD.md is complete!** Strategic document ready.
Now we'll create the tactical implementation guide in epics.md.
Now we create epics.md - the tactical implementation roadmap
This is a SEPARATE FILE from PRD.md
Load epics template: {epics_template}
Initialize epics.md with project metadata
For each epic from the epic list, expand with full story details:
**Epic Expansion Process:**
1. **Expanded Goal** (2-3 sentences)
- Describe the epic's objective and value delivery
- Explain how it builds on previous work
2. **Story Breakdown**
**Critical Story Requirements:**
- **Vertical slices** - Each story delivers complete, testable functionality
- **Sequential** - Stories must be logically ordered within epic
- **No forward dependencies** - No story depends on work from a later story/epic
- **AI-agent sized** - Completable in single focused session (2-4 hours)
- **Value-focused** - Minimize pure enabler stories; integrate technical work into value delivery
**Story Format:**
```
**Story [EPIC.N]: [Story Title]**
As a [user type],
I want [goal/desire],
So that [benefit/value].
**Acceptance Criteria:**
1. [Specific testable criterion]
2. [Another specific criterion]
3. [etc.]
**Prerequisites:** [Any dependencies on previous stories]
```
3. **Story Sequencing Within Epic:**
- Start with foundational/setup work if needed
- Build progressively toward epic goal
- Each story should leave system in working state
- Final stories complete the epic's value delivery
**Process each epic:**
Ready to break down {{epic_title}}? (y/n)
Discuss epic scope and story ideas with user
Draft story list ensuring vertical slices and proper sequencing
For each story, write user story format and acceptance criteria
Verify no forward dependencies exist
{{epic_title}}\_details
Review {{epic_title}} stories. Any adjustments needed?
Refine stories based on feedback
Save complete epics.md to {epics_output_file}
**Epic Details complete!** Implementation roadmap ready.
Load the FULL file: {output_folder}/bmm-workflow-status.yaml
Find workflow_status key "prd"
ONLY write the file path as the status value - no other text, notes, or metadata
Update workflow_status["prd"] = "{default_output_file}"
Save file, preserving ALL comments and structure including STATUS DEFINITIONS
Find first non-completed workflow in workflow_status (next workflow to do)
Determine next agent from path file based on next workflow