Files
pig-farm-controller/bmad/bmm/workflows/2-plan-workflows/prd/instructions.md
2025-11-01 19:22:39 +08:00

14 KiB

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 No workflow status file found. PRD workflow can run standalone or as part of BMM workflow path. **Recommended:** Run `workflow-init` first for project context tracking and workflow sequencing. 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) **Incorrect Workflow for Level {{project_level}}**

PRD is for Level 2-4 projects. Level 0-1 should use tech-spec directly.

Correct workflow: tech-spec (Architect agent) Exit and redirect to tech-spec

⚠️ PRD already completed: {{prd status}} Re-running will overwrite the existing PRD. Continue? (y/n) Exiting. Use workflow-status to see your next step. Exit workflow ⚠️ Next expected workflow: {{next_workflow}}. PRD is out of sequence. Continue with PRD anyway? (y/n) Exiting. Run {{next_workflow}} instead. 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

PRD Workflow Complete, {user_name}!

Deliverables Created:

  1. bmm-PRD.md - Strategic product requirements document
  2. bmm-epics.md - Tactical implementation roadmap with story breakdown

Next Steps:

  • Next required: {{next_workflow}} ({{next_agent}} agent)
  • Optional: Review PRD and epics with stakeholders, or run create-design if you have UI requirements

Check status anytime with: workflow-status

Would you like to:

  1. Review/refine any section
  2. Proceed to next phase
  3. Exit and review documents