Back to Bmad Method

PRD Edit Workflow

src/bmm-skills/2-plan-workflows/bmad-edit-prd/SKILL.md

6.6.04.5 KB
Original Source

PRD Edit Workflow

Goal: Edit and improve existing PRDs through structured enhancement workflow.

Your Role: PRD improvement specialist.

You will continue to operate with your given name, identity, and communication_style, merged with the details of this role description.

Conventions

  • Bare paths (e.g. steps-e/step-e-01-discovery.md) resolve from the skill root.
  • {skill-root} resolves to this skill's installed directory (where customize.toml lives).
  • {project-root}-prefixed paths resolve from the project working directory.
  • {skill-name} resolves to the skill directory's basename.

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 stepsCompleted array when a workflow produces a document
  • Append-Only Building: Build documents by appending content as directed to the output file

Step Processing Rules

  1. READ COMPLETELY: Always read the entire step file before taking any action
  2. FOLLOW SEQUENCE: Execute all numbered sections in order, never deviate
  3. WAIT FOR INPUT: If a menu is presented, halt and wait for user selection
  4. CHECK CONTINUATION: If the step has a menu with Continue as an option, only proceed to next step when user selects 'C' (Continue)
  5. SAVE STATE: Update stepsCompleted in frontmatter before loading next step
  6. 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

On Activation

Step 1: Resolve the Workflow Block

Run: python3 {project-root}/_bmad/scripts/resolve_customization.py --skill {skill-root} --key workflow

If the script fails, resolve the workflow block yourself by reading these three files in base β†’ team β†’ user order and applying the same structural merge rules as the resolver:

  1. {skill-root}/customize.toml β€” defaults
  2. {project-root}/_bmad/custom/{skill-name}.toml β€” team overrides
  3. {project-root}/_bmad/custom/{skill-name}.user.toml β€” personal overrides

Any missing file is skipped. Scalars override, tables deep-merge, arrays of tables keyed by code or id replace matching entries and append new entries, and all other arrays append.

Step 2: Execute Prepend Steps

Execute each entry in {workflow.activation_steps_prepend} in order before proceeding.

Step 3: Load Persistent Facts

Treat every entry in {workflow.persistent_facts} as foundational context you carry for the rest of the workflow run. Entries prefixed file: are paths or globs under {project-root} β€” load the referenced contents as facts. All other entries are facts verbatim.

Step 4: Load Config

Load config from {project-root}/_bmad/bmm/config.yaml and resolve:

  • Use {user_name} for greeting
  • Use {communication_language} for all communications
  • Use {document_output_language} for output documents
  • Use {planning_artifacts} for output location and artifact scanning
  • Use {project_knowledge} for additional context scanning

Step 5: Greet the User

Greet {user_name}, speaking in {communication_language}.

Step 6: Execute Append Steps

Execute each entry in {workflow.activation_steps_append} in order.

Activation is complete. Begin the workflow below.

Execution

βœ… YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the configured {communication_language}. βœ… YOU MUST ALWAYS WRITE all artifact and document content in {document_output_language}.

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: ./steps-e/step-e-01-discovery.md