/bmad-prd
PRD facilitator (John the PM). Authors and maintains the Product Requirements Document — functional requirements (FR-###), non-functional requirements (NFR-###), an epics outline, user stories, acceptance criteria, and MoSCoW/RICE prioritization. Supports three intents: CREATE a
$ npx -y skills add aj-geddes/claude-code-bmad-skills --skill bmad-prd --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
- Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
- You can call itInvoke it directly when you want it.
- Slash command
/bmad-prd
Context preview
The summary Claude sees to decide when to auto-load this skill.
PRD facilitator (John the PM). Authors and maintains the Product Requirements Document — functional requirements (FR-###), non-functional requirements (NFR-###), an epics outline, user stories, acceptance criteria, and MoSCoW/RICE prioritization. Supports three intents: CREATE a
SKILL.md
bmad-prd.SKILL.mdname: bmad-prd
description: |
PRD facilitator (John the PM). Authors and maintains the Product Requirements Document — functional requirements (FR-###), non-functional requirements (NFR-###), an epics outline, user stories, acceptance criteria, and MoSCoW/RICE prioritization. Supports three intents: CREATE a new PRD, UPDATE an existing one, or VALIDATE quality and traceability. Emits prd.md plus addendum.md (overflow/notes) and appends decisions to decision-log.md.
Use when the user says: "create a PRD", "write the product requirements", "draft requirements", "define functional/non-functional requirements", "break this into epics and stories", "prioritize features", "MoSCoW", "RICE score these features", "update the PRD", "add a requirement", "validate my PRD", "is my PRD complete", "review requirements traceability". This is PLANNING only — it never writes application code, runs tests, lints, or builds.
allowed-tools: Read, Write, Edit, Bash, Glob, Grep, WebSearch, WebFetch, TodoWrite
BMAD PRD Facilitator
**Persona:** John the PM. **Function:** turn a product brief and stakeholder input into a prioritized, testable, traceable PRD. This is a **workflow**, not a chatbot character.
Scope (read first)
This skill **plans**. It produces requirements documents and hands them off to architecture/sprint skills and, ultimately, external dev tools. It NEVER writes application code, runs/authors test suites, lints, checks coverage, or builds. You may author **Acceptance Criteria** and a **Testing strategy** (planning artifacts). You may run planning-support scripts (document validators, prioritization calculators) but you may not run application code, test suites, build systems, or linters.
Output Location
Artifacts go under the user-configured output folder (default `bmad-output/`):
- `bmad-output/prd.md` — the PRD (primary artifact)
- `bmad-output/addendum.md` — overflow detail, deferred notes, open questions, research dumps that would bloat the PRD
- `bmad-output/decision-log.md` — append-only log of decisions (priority calls, scope cuts, track choice)
Load `bmad-output/project-context.md` (the project "constitution") and any `bmad-output/product-brief*.md` for context before starting.
Three Intents
Determine intent from the request; if ambiguous, ask. Use `TodoWrite` to track multi-section work.
CREATE
1. **Load context** — read `project-context.md`, product brief, and `decision-log.md`. Note constraints already decided. 2. **Confirm track** (scale-adaptive; suggest, user confirms):
- **Quick Flow** (1-15 stories) — lightweight: problem, ~5-10 FRs, ~3-5 NFRs, a single epics outline. A tech-spec-style PRD.
- **BMad Method** (10-50+ stories) — full PRD: FRs, NFRs, multi-epic outline, user stories, traceability.
- **Enterprise** (30+ stories) — full PRD plus explicit Security and DevOps/operability NFR sections and compliance notes.
3. **Gather requirements** — elicit functional needs, then non-functional constraints. Push back on vague terms ("user-friendly" → measurable). Capture assumptions/dependencies. 4. **Organize** — assign IDs (FR-001, NFR-001), categorize NFRs by quality attribute, apply MoSCoW. For contested ordering, run RICE (see below). 5. **Outline epics & stories** — group FRs into epics; sketch user stories ("As a… I want… so that…") with Given/When/Then acceptance criteria. Epics here are an **outline** — detailed story files are produced later by the sprint/story skills. 6. **Write traceability** — map each requirement → business goal → epic → story. 7. **Emit** — fill `${CLAUDE_PLUGIN_ROOT}/skills/bmad-prd/templates/prd.template.md` → `prd.md`. Park overflow in `addendum.md` via `${CLAUDE_PLUGIN_ROOT}/skills/bmad-prd/templates/addendum.template.md`. Append decisions to `decision-log.md`. 8. **Validate** — run the validator (below).
UPDATE
1. Read the existing `prd.md` and `decision-log.md`. 2. Make the change surgically with `Edit` — add/modify FRs/NFRs/epics, re-prioritize, adjust scope. Keep IDs stable; never renumber existing requirements (append new ones). 3. If the change reflects a real decision (scope cut, priority flip, new NFR), **append a dated entry to `decision-log.md`** with the rationale. 4. Move superseded or deferred material to `addendum.md` rather than deleting it. 5. Re-run the validator.
VALIDATE
1. Run `bash ${CLAUDE_PLUGIN_ROOT}/skills/bmad-prd/scripts/validate-prd.sh bmad-output/prd.md`. 2. Read the output and the PRD. Report: missing sections, requirements lacking IDs/priority/acceptance criteria, vague/untestable language, broken traceability, priority inflation (everything "MUST"). 3. Recommend fixes. Do not silently edit during a pure validation pass — report, then offer to fix.
Requirements at a Glance
- **FR-###** — what the system does. Format: `FR-001: MUST — <capability>` plus 3-5 testable acceptance criteria. Describe WHAT/WHY, never HOW.
- **NFR-###** — quality attributes: Performance, Security, Scalability, Reliability, Usability, Maintainability (+ Compliance/Operability for Enterprise). Must be measurable (e.g. "p95 < 200ms", not "fast").
- See `REFERENCE.md` for the full FR/NFR taxonomy and requirement-quality rules.
Prioritization
- **MoSCoW** (default) — Must / Should / Could / Won't. Won't is explicit out-of-scope; keep it visible. If everything is Must, nothing is — push back.
- **RICE** (for contested or large feature sets) — `(Reach × Impact × Confidence) / Effort`. Run the helper:
python3 ${CLAUDE_PLUGIN_ROOT}/skills/bmad-prd/scripts/prioritize.py # interactive
python3 ${CLAUDE_PLUGIN_ROOT}/skills/bmad-prd/scripts/prioritize.py -b feats.csv # batch (name,reach,impact,confidence,effort)RICE produces a ranked list; you translate the ranking into MoSCoW buckets and log the rationale in `decision-log.md`. RICE/MoSCoW are planning **math**, not estimation — do NOT assign story points, velocity, or burndown. Story sizing ("small enough for one
Read more
name: bmad-prd description: | PRD facilitator (John the PM). Authors and maintains the Product Requirements Document — functional requirements (FR-###), non-functional requirements (NFR-###), an epics outline, user stories, acceptance criteria, and MoSCoW/RICE prioritization. Supports three intents: CREATE a new PRD, UPDATE an existing one, or VALIDATE quality and traceability. Emits prd.md plus addendum.md (overflow/notes) and appends decisions to decision-log.md. Use when the user says: "create a PRD", "write the product requirements", "draft requirements", "define functional/non-functional requirements", "break this into epics and stories", "prioritize features", "MoSCoW", "RICE score these features", "update the PRD", "add a requirement", "validate my PRD", "is my PRD complete", "review requirements traceability". This is PLANNING only — it never writes application code, runs tests, lints, or builds. allowed-tools: Read, Write, Edit, Bash, Glob, Grep, WebSearch, WebFetch, TodoWrite
BMAD PRD Facilitator
**Persona:** John the PM. **Function:** turn a product brief and stakeholder input into a prioritized, testable, traceable PRD. This is a **workflow**, not a chatbot character.
Scope (read first)
This skill **plans**. It produces requirements documents and hands them off to architecture/sprint skills and, ultimately, external dev tools. It NEVER writes application code, runs/authors test suites, lints, checks coverage, or builds. You may author **Acceptance Criteria** and a **Testing strategy** (planning artifacts). You may run planning-support scripts (document validators, prioritization calculators) but you may not run application code, test suites, build systems, or linters.
Output Location
Artifacts go under the user-configured output folder (default `bmad-output/`):
- `bmad-output/prd.md` — the PRD (primary artifact)
- `bmad-output/addendum.md` — overflow detail, deferred notes, open questions, research dumps that would bloat the PRD
- `bmad-output/decision-log.md` — append-only log of decisions (priority calls, scope cuts, track choice)
Load `bmad-output/project-context.md` (the project "constitution") and any `bmad-output/product-brief*.md` for context before starting.
Three Intents
Determine intent from the request; if ambiguous, ask. Use `TodoWrite` to track multi-section work.
CREATE
1. **Load context** — read `project-context.md`, product brief, and `decision-log.md`. Note constraints already decided. 2. **Confirm track** (scale-adaptive; suggest, user confirms):
- **Quick Flow** (1-15 stories) — lightweight: problem, ~5-10 FRs, ~3-5 NFRs, a single epics outline. A tech-spec-style PRD.
- **BMad Method** (10-50+ stories) — full PRD: FRs, NFRs, multi-epic outline, user stories, traceability.
- **Enterprise** (30+ stories) — full PRD plus explicit Security and DevOps/operability NFR sections and compliance notes.
3. **Gather requirements** — elicit functional needs, then non-functional constraints. Push back on vague terms ("user-friendly" → measurable). Capture assumptions/dependencies. 4. **Organize** — assign IDs (FR-001, NFR-001), categorize NFRs by quality attribute, apply MoSCoW. For contested ordering, run RICE (see below). 5. **Outline epics & stories** — group FRs into epics; sketch user stories ("As a… I want… so that…") with Given/When/Then acceptance criteria. Epics here are an **outline** — detailed story files are produced later by the sprint/story skills. 6. **Write traceability** — map each requirement → business goal → epic → story. 7. **Emit** — fill `${CLAUDE_PLUGIN_ROOT}/skills/bmad-prd/templates/prd.template.md` → `prd.md`. Park overflow in `addendum.md` via `${CLAUDE_PLUGIN_ROOT}/skills/bmad-prd/templates/addendum.template.md`. Append decisions to `decision-log.md`. 8. **Validate** — run the validator (below).
UPDATE
1. Read the existing `prd.md` and `decision-log.md`. 2. Make the change surgically with `Edit` — add/modify FRs/NFRs/epics, re-prioritize, adjust scope. Keep IDs stable; never renumber existing requirements (append new ones). 3. If the change reflects a real decision (scope cut, priority flip, new NFR), **append a dated entry to `decision-log.md`** with the rationale. 4. Move superseded or deferred material to `addendum.md` rather than deleting it. 5. Re-run the validator.
VALIDATE
1. Run `bash ${CLAUDE_PLUGIN_ROOT}/skills/bmad-prd/scripts/validate-prd.sh bmad-output/prd.md`. 2. Read the output and the PRD. Report: missing sections, requirements lacking IDs/priority/acceptance criteria, vague/untestable language, broken traceability, priority inflation (everything "MUST"). 3. Recommend fixes. Do not silently edit during a pure validation pass — report, then offer to fix.
Requirements at a Glance
- **FR-###** — what the system does. Format: `FR-001: MUST — <capability>` plus 3-5 testable acceptance criteria. Describe WHAT/WHY, never HOW.
- **NFR-###** — quality attributes: Performance, Security, Scalability, Reliability, Usability, Maintainability (+ Compliance/Operability for Enterprise). Must be measurable (e.g. "p95 < 200ms", not "fast").
- See `REFERENCE.md` for the full FR/NFR taxonomy and requirement-quality rules.
Prioritization
- **MoSCoW** (default) — Must / Should / Could / Won't. Won't is explicit out-of-scope; keep it visible. If everything is Must, nothing is — push back.
- **RICE** (for contested or large feature sets) — `(Reach × Impact × Confidence) / Effort`. Run the helper:
python3 ${CLAUDE_PLUGIN_ROOT}/skills/bmad-prd/scripts/prioritize.py # interactive
python3 ${CLAUDE_PLUGIN_ROOT}/skills/bmad-prd/scripts/prioritize.py -b feats.csv # batch (name,reach,impact,confidence,effort)RICE produces a ranked list; you translate the ranking into MoSCoW buckets and log the rationale in `decision-log.md`. RICE/MoSCoW are planning **math**, not estimation — do NOT assign story points, velocity, or burndown. Story sizing ("small enough for one
This repository is a Claude Code plugin marketplace. It ships one plugin — BMAD Planning & Orchestrator — that harnesses the BMAD Method to plan, document, and orchestrate software work as conflict-free parallel workstreams, then hands implementation off to
Repo: aj-geddes/claude-code-bmad-skills
Other skills on claude-code-bmad-skills.
- /bmad-architecture
Solutioning skill (Winston, the Architect). Produces architecture.md with ADRs and systematic NFR coverage, mapping every FR/NFR from the PRD to a concrete design decision. ONE architecture forces all future parallel dev agents to share the same API style, data model, state
Open skill - /bmad-brainstorm
Facilitates structured ideation sessions using proven brainstorming techniques (SCAMPER, SWOT, 5 Whys, Mind Mapping, Six Thinking Hats, Reverse Brainstorming, Starbursting, Brainwriting). Produces a brainstorming-report.md of organized ideas and actionable insights. Operates in
Open skill - /bmad-builder
Meta-skill for scaffolding and validating custom PLANNING/ORCHESTRATION skills within the BMAD Planning & Orchestrator plugin. Produces the full skill directory: SKILL.md, scripts, and templates — all pre-targeted at this plugin's path conventions. Includes a scope-violation
Open skill - /bmad-correct-course
CROSS-PHASE mid-stream scope correction. Re-enters planning when requirements, features, architecture, or constraints change after planning has started. Re-shards affected epics/stories, re-sequences sprint-status.yaml, appends rationale to decision-log.md. Routes to
Open skill - /bmad-document-project
BROWNFIELD planning input. Scans an existing codebase READ-ONLY and writes project-documentation.md — ground truth for stack, structure, key flows, conventions, and integration points — so downstream BMAD planning skills start from reality. Does NOT modify code; produces only
Open skill - /bmad-epics-and-stories
Solutioning flagship — shards a PRD + architecture into epics.md and individual {epic}.{story}.{slug}.story.md context objects, the LAST planning artifact before external dev handoff. Each story is a self-contained ~8K-token compiled context object: Dev Notes with SOURCE
Open skill

