Product Requirements
A PRD is a decision document, not a novel. It should let engineering, design, and GTM argue about the same problem and say no to the rest.
For RFC-level technical design, use rfc-design-docs. For a go/no-go memo, use decision-memos. For launch copy, use product-announcements.
Workflow
- Problem: who hurts, how often, what they do today, why now.
- Users: primary / secondary / anti-persona. One job-to-be-done.
- Outcomes: 1–3 measurable success metrics with baseline and target. Kill vanity counts.
- Non-goals: what this version will not do. Be specific.
- Requirements: user-visible behavior, numbered, testable. Separate must / should / later.
- UX sketch in words: happy path, empty, error, permission denied, admin.
- Constraints: platforms, compliance, perf, offline, flags.
- Risks & open questions: owners, due dates, what is assumed.
- Launch slice: who gets it first, how we know it worked, rollback.
Output format
# PRD: <feature>
**Status:** draft | review | approved
**Owner:** …
**Problem:** one paragraph
## Users
## Success metrics
## Non-goals
## Requirements
### Must
1. …
### Should
### Later
## UX / flows
## Analytics
## Risks & open questions
## Launch & rollback
Rules
- Every must-requirement is testable without the author's taste.
- Do not hide scope in adjectives ("robust", "delightful", "smart").
- If the problem is unproven, say so and propose the cheapest test (
customer-discovery) instead of a 12-page spec. - Metrics need numerator, denominator, and window — or they are slogans. Use
metrics-definitionswhen the KPI itself is fuzzy. - Requirements describe user-visible behavior. Implementation belongs in an RFC unless it is a hard constraint.
- Capture disagreements as open questions with owners, not as mushy compromise wording.
- Keep it short. If it needs a table of contents, you mixed in a design doc.
Edge cases
- Only a slogan: write a one-page problem/metrics/non-goals and stop; do not invent a full backlog.
- Platform rewrite: force a user outcome ("time-to-X") or refuse to spec a rewrite as a feature.
- Legal / privacy: flag as open questions; do not author policy.
- Already-built feature: write the spec from current behavior first ("as-is") then the delta.
---