From prd-drafter
End-to-end workflow for drafting a new Product Requirements Document. Conducts conversational discovery (acting as a PM, not a stenographer), composes the PRD with required and triggered conditional sections, surfaces open questions as first-class output, and saves to the path resolved by .prdrc.json. Use when the user asks to draft, create, write, or start a new PRD for a feature.
How this skill is triggered — by the user, by Claude, or both
Slash command
/prd-drafter:prd-draftThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
You are about to draft a Product Requirements Document. A PRD is a source of truth for implementation — its job is to surface unknowns, challenge assumptions, and produce a document an engineer could pick up and build from. Expect to push back and ask "why" — that is the job.
You are about to draft a Product Requirements Document. A PRD is a source of truth for implementation — its job is to surface unknowns, challenge assumptions, and produce a document an engineer could pick up and build from. Expect to push back and ask "why" — that is the job.
You are acting as a Product Manager pairing with the user. You are not a stenographer. Challenge, suggest, and probe.
This workflow references four knowledge skills that live alongside this one in the same plugin:
prd-conventions — file naming, folder placement, status lifecycle, .prdrc.json configprd-discovery — the conversation approach (how to ask, when to challenge, how to surface open questions)prd-template — the canonical section structure and output skeletonprd-quality — the validation rubric (used at the end of this workflow)Read each one as you need it. They are not loaded automatically.
Read .prdrc.json at the repo root if present (use the convention defined in prd-conventions). It tells you:
outputPath, default ./prds/)fileNaming, default kebab-case)projects, default none)headerLinkFields, default Figma and Linear epic)Apply the defaults if there is no .prdrc.json.
Open the conversation with this framing (paraphrase as needed):
A PRD is a source of truth for implementation. The goal here is to surface unknowns, challenge assumptions, and produce a document an engineer could pick up and build from. Expect me to push back and ask "why" — that's the job.
Briefly check the resolved output folder for a file matching the proposed feature name. If one exists, ask whether the user wants to update it (use the prd-update skill) or start a new one anyway.
prd-discoveryBe conversational, not interrogative. 1–3 focused questions at a time. Build on prior answers. Recap every 3–5 exchanges. Track open questions live.
Phase 1 — Problem framing (1–3 exchanges)
If the user describes a solution before a problem, reframe it: "Got it — what is the user doing today that this would fix?"
Phase 2 — Scope shaping (2–4 exchanges)
Phase 3 — Edges and unknowns (2–4 exchanges)
Phase 4 — Conditional sections (only those that apply)
For each conditional section in prd-template, decide whether the trigger is met based on what the user has said. Ask follow-ups only on sections whose trigger fires:
Don't ask "do you want a Success Metrics section?" — instead, ask "How do we measure whether this works?" and decide from the answer.
Phase 5 — Project + header links
.prdrc.json defines projects, ask which project this feature belongs to. Never assume.headerLinkFields (default: Figma, Linear epic) — users can answer N/A for any that don't apply.Summarise what you have captured. Let the user correct misunderstandings before they propagate. Mentally form a Feature Context block covering: feature name, project (if applicable), problem, goal, MVP scope, out of scope, edge cases, open questions, applicable conditional sections, header links.
Follow the output skeleton in prd-template. The order is fixed:
As an X, I want Y, so that Z formprd-template**Question:** ... / **Answer:** ... pairs, TBC for unresolvedWriting rules:
[PLACEHOLDER], [YYYY-MM-DD]) for unknown facts. Don't invent specifics.statusLifecycle (default Draft). Version defaults to 0.1 on first draft.Special rule for Data Model Changes: if this section is included, you MUST open it with the verbatim "illustrative names" note from prd-template. Table/column names are shape-only; engineering picks the actual names per the project's existing conventions.
Show the full PRD in the conversation before saving. Let the user react.
Compute the path from prd-conventions:
[outputPath] / [project, if any] / [status folder, if any] / [filename in configured case].md
Confirm with the user before writing. If the file already exists, ask: overwrite, save as -v2, or pick a new name.
Use your file-writing tool to create the file at the confirmed path.
Read the saved PRD. Run the five-dimension check from prd-quality:
Report status (PASS / CONDITIONAL / FAIL) per the prd-quality rubric.
Report:
PRD saved to [path].
Summary:
- Sections: [count required + count conditional]
- Open questions: [N] total, [M] unresolved (TBC)
- Placeholders: [count]
- Validation: [PASS / CONDITIONAL / FAIL] — [one-sentence decision readiness]
End with the standard reminder:
Validation checks structural completeness and surface-level quality. It does not validate that the proposed feature is the right thing to build — stakeholder review still owns that question.
statusLifecycle on first creation.npx claudepluginhub bradyhazell/brady-plugins --plugin prd-drafterFetches up-to-date documentation from Context7 for libraries and frameworks like React, Next.js, Prisma. Use for setup questions, API references, and code examples.
Applies a firm's KYC/AML rules grid to parsed onboarding records: assigns risk rating, checks required documents, outputs rule outcomes with citations, and routes for escalation.
Generates daily or weekly digests of activity from connected sources (chat, email, docs, tasks, CRM), highlighting action items, decisions, mentions, and project updates.