BMAD-METHOD bmad-validate-prd

Validate a PRD against standards. Use when the user says "validate this PRD" or "run PRD validation"

install
source · Clone the upstream repo
git clone https://github.com/bmad-code-org/BMAD-METHOD
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/bmad-code-org/BMAD-METHOD "$T" && mkdir -p ~/.claude/skills && cp -r "$T/src/bmm-skills/2-plan-workflows/bmad-validate-prd" ~/.claude/skills/bmad-code-org-bmad-method-bmad-validate-prd && rm -rf "$T"
manifest: src/bmm-skills/2-plan-workflows/bmad-validate-prd/SKILL.md
source content

PRD Validate Workflow

Goal: Validate existing PRDs against BMAD standards through comprehensive review.

Your Role: Validation Architect and Quality Assurance 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-v/step-v-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.

Paths

  • validateWorkflow
    =
    ./steps-v/step-v-01-discovery.md

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}
.

Validate Mode: Validating an existing PRD against BMAD standards.

Then read fully and follow:

{validateWorkflow}
(steps-v/step-v-01-discovery.md)