From pm
Authors structured PRDs as handoff contracts between product intent and implementing teams. Useful for writing product requirements documents, turning feature inventories into per-feature PRDs, or defining scope boundaries and acceptance criteria.
How this skill is triggered — by the user, by Claude, or both
Slash command
/pm:prdThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Author a Product Requirements Document that serves as the handoff contract between product intent and an implementing team — human or AI agent. The PRD states WHAT the feature does and WHY it exists; it never prescribes HOW to build it.
Author a Product Requirements Document that serves as the handoff contract between product intent and an implementing team — human or AI agent. The PRD states WHAT the feature does and WHY it exists; it never prescribes HOW to build it.
Activate when:
/pm:prd command is invoked./pm:spec-harvest feature inventory into a standalone PRD.A PRD is complete when the implementing team needs no follow-up questions to start work. Treat every unanswerable question as a defect in the document, not a gap the implementer fills in.
Non-goals are as firm as goals. State exclusions positively and explicitly — "does not support X" — never by silent omission. An agent implementer cannot infer a boundary from absence: omitting "do not implement X" from the PRD is how an agent ends up building X. A human team asks follow-up questions; an agent team does not, so write for the stricter reader.
The PRD stays at the WHAT/WHY altitude. A PRD is not a software requirements specification. Writing a PRD ensures user-centric context; a separate, downstream implementation spec — authored by a PM or engineer AFTER this PRD, never inside it — is where SRS-level HOW-level agent operating instructions (file layout, framework choice, API contracts) belong.
Completeness test: before calling a PRD done, walk every section and confirm a different engineering team with a different tech stack could implement it without contacting the author.
/pm:prd runs pm-prd-author in one of two modes:
/pm:prd command session runs the questionnaire (problem, users, goals, non-goals, stories, constraints, phasing) via AskUserQuestion, since the spawned pm-prd-author agent has no channel to the operator. The agent then composes the PRD from the collected answers, each tagged [operator-stated].--inventory=<path>) — the feature inventory from /pm:spec-harvest is the grounding document. One PRD is authored per major feature area named in the inventory; requirements are lifted from inventory entries and carry their original confidence tags. Sections the inventory cannot answer become Open Questions rows rather than invented content.templates/prd.md is the skeleton every PRD composes against. Section intent:
| Section | What belongs there |
|---|---|
| Header | Title, ISO date, status, change history — who changed what and when |
| Problem / Opportunity | The problem and why it matters now, not the solution |
| Target Users & Personas | Who is affected, with the primary persona called out |
| Goals & Success Metrics | Outcomes and how they are measured, not features |
| Non-Goals / Out of Scope | Explicit exclusions with a reasoning column — prevents scope creep and agent over-implementation |
| User Stories + Acceptance Criteria | As a X, I want Y, so that Z — with Given/When/Then acceptance criteria per story |
| Data Shapes | Fields and relationships in prose or tables — never DDL, never a schema definition |
| UX & Interaction Requirements | Experiences and interactions — never named frameworks or components |
| Constraints & Dependencies | Business, legal, or sequencing constraints — not technical implementation constraints |
| Release Phasing | What ships first vs. later, and why the split |
| Open Questions | Question, owner, blocking? — for everything the author could not answer |
| Grounding Documents | Links back to the feature inventory or bees issues that grounded this PRD |
Every requirement obeys four not-rules:
Portability test: a requirement passes only if a different engineering team with a different tech stack could implement it from the sentence alone.
Bad: "Store the draft in a Postgres jsonb column and debounce autosave via a
React useEffect hook calling PATCH /api/drafts/:id every 2 seconds."
Good: "The user's in-progress draft persists automatically without an explicit
save action. Persistence happens frequently enough that a browser crash
loses no more than a few seconds of work."
Every requirement traces to a questionnaire answer or a feature-inventory entry — never invented. Tag every requirement with its origin:
[operator-stated] — given directly by the user in the interactive questionnaire.[seen-in-code: <path>] — lifted from a feature-inventory entry that cites a source file.[inferred — needs verification] — a reasonable inference not directly stated; must also appear as an Open Questions row.A section the source material cannot answer becomes an Open Questions row, never fabricated prose.
templates/prd.md — the copyable PRD skeleton with all sections above./pm:spec-harvest — produces the feature inventory that grounds harvest mode.2plugins reuse this skill
First indexed Jul 16, 2026
npx claudepluginhub vinnie357/claude-skills --plugin pmAuthors structured PRDs as handoff contracts between product intent and implementing teams. Useful for writing product requirements documents, turning feature inventories into per-feature PRDs, or defining scope boundaries and acceptance criteria.
Guides writing Product Requirements Documents with a 6-step workflow and 25 rules across 7 categories. Use when creating PRDs, documenting features, or writing specifications.
Generates structured Product Requirements Documents (PRDs) with sections for overview, categorized requirements, user stories, technical considerations, out-of-scope items, and checklists.