PM PRD
Industry-neutral PRDs. No fabrication (evidence, metrics, quotes, stakeholder facts). Unknowns → PM input required + what closes the gap.
Formatting conventions (required)
- Header field format is:
Status | Owner | Last updated. - Status values must start with a capital letter (for example:
Draft,In review,Approved,Deprecated). - Owner label is
Owneronly (do not useOwner (DRI)). - Last updated date format is
DD MMM YY(for example:20 Apr 26). - PRD track field label is
PRD track, and track values must start with a capital letter (StakeholderorExploration).
Modes
Name the mode first: Draft | Update | Audit.
| Mode | Do |
|---|---|
| Draft | Build from schema below; unknowns → PM input required. |
| Update | Only requested sections; keep confirmed rest. Update — track / variant (next subsection) required when its triggers fire. |
| Audit | Doc vs schema, readiness, coherence; prioritize biggest gaps. |
Update — PRD track / Track variant (when triggered)
Not a full Draft / C0 on every edit. Run when either:
- Promotion — Edit applies or continues exploration → stakeholder (Promotion).
- Material change — Any touched: Solution In / Out / material scope · new or expanded non–eng+PM approver · money / regulated / material PII / partner or contract / public API · hard rollback (schema, pricing, irreversible state, etc. — same themes as Quick triage) · PM raises stakes explicitly.
If triggered: Confirm PRD track and (if stakeholder) Track variant still fit.
- Changed → update header + one line in Decision log (
Decision | Rationale | Date | Revisit trigger). - Unchanged → no track-only log line; if promotion ran, still Promotion backfill + coherence.
- Neither → skip.
Opening (Draft): Say Draft → C0 (PRD track + triage if unknown) → Checkpoints unless PM set an escape hatch (e.g. through C3, C0 only).
Cadence: Checkpoints = default pauses. Tone: Rigor, not bloat.
PRD track (Draft — required)
Ask first: Track known, or unknown?
- Known —
PRD track: Stakeholder | Exploration. Stakeholder →Track variant: full | lite(default full if omitted). Follow structure below. - Unknown — Quick triage → default Exploration; say so explicitly. Promotion when stakes rise.
Track choice = alignment burden × reversibility × evidence (not “how much AI”).
Quick triage (unknown track)
Short answers. Any clear yes → stakeholder. Pick lite if alignment matters but a full MoSCoW REQ set is premature (Stakeholder-lite). Else full.
- Regulated / money / material PII / contractual partner?
- Approvers beyond eng + PM (legal, security, partner, exec)?
- Hard rollback (schema, pricing, public API, irreversible user state)?
All no → Exploration.
Stakeholder track
High alignment, complex or reversible bets, many reviewers → Canonical structure. Track variant: full unless Stakeholder-lite.
Stakeholder-lite (Track variant: lite)
Stakeholder decision hygiene, lighter REQs, default implementer handoff (stakeholder-leaning triage without full MoSCoW breadth yet).
Header: PRD track: Stakeholder · Track variant: lite.
Section order (differs from full after ## Solution):## Solution → ## Execution spec (agent-ready) (same bullets as that heading under Exploration track structure) → ## Functional requirements (Must only) → ## Non-functional requirements → ## Implementation & dependencies → ## Cross-functional launch readiness → ## Risks, assumptions, and open questions → ## Appendix (optional).
Lite minimum
| Area | Rule |
|---|---|
| Risks / assumptions / open questions | Same bar as full; decision log always. |
| Launch readiness | Non-empty buckets only; any non–eng+PM approver → Approvals (owners may TBD). |
| Functional requirements | Must rows only unless PM widens. Each Must: testable AC, one-line traceability, ↔ Solution In scope. Grouping: PM. |
| Goals, metrics, guardrails | Same metric-table rigor as full when targets exist; else goals + guardrails + TBD / PM input required + gap. |
Thin: Short secondary metrics; defer non-Must REQs to promotion or full.
Execution spec: Include after Solution (paste-ready). Waive only with Execution spec: waived by PM in header or under the section.
Exploration track
Fast learning, small blast radius, easy rollback, few approvers → Exploration track structure. Prefer ## Execution spec (agent-ready) over long REQ tables. REQ-* Must only for sign-off / audit.
Promotion (exploration → stakeholder)
When: New approvers; compliance / partner / contract pressure; irreversible data; scope hits high-risk surfaces; PM locks for launch.
Do: PRD track: Stakeholder; Track variant: full unless lite still fits; optional promotion date on header. Backfill: ## Functional requirements (Must ↔ in-scope), NFRs, Launch readiness, metrics/sources, Appendix; add ## Execution spec (agent-ready) for lite or when handoff needs it. Re-run coherence + readiness.
Session end (required)
Draft/Update changed the PRD body → run Coherence pass (below) unless PM waives for that turn.
- Re-read full PRD.
- Coherence pass.
- Report coherence findings in chat only; do not add a
Coherence passsection to the PRD deliverable unless the PM explicitly requests it.
Readiness checklist: optional (Readiness).
Canonical structure — stakeholder (Track variant: full)
Use another template only if the PM supplies it.
Lite (Track variant: lite): Same section order as full, except after ## Solution insert ## Execution spec (agent-ready) and keep ## Functional requirements to Must rows only — details under Stakeholder-lite.
Header (no ##)
# <Title> · one-line verb-led description · Status | Owner | Last updated (Draft | In review | Approved | Deprecated; bump on material edits) · PRD track: Stakeholder · Track variant: full | lite (default full) · if lite + waived execution spec: Execution spec: waived by PM (header or under section) · no version / links in header. Last updated must use DD MMM YY.
## User problem
Primary user · pain · evidence (signal, source, time window) · optional adjacent users · ≤1 labeled hypothesis · quotes only if strong + sourced
## Business problem
Stakes · strategic fit / why now · constraints / assumptions · stakeholders (roles) · metrics in prose OK · non-goals → Solution Scope → Out of scope
## Goals, success metrics, and guardrails
Goals (short) · primary / secondary metrics · guardrails. Per metric: Metric | Definition | Baseline | Target | Time window | Source of truth — else TBD / PM input required
## Solution
### Overview · optional ### User flow · optional ### Alternatives · ### Scope (In / Out; non-goals in Out). UI-heavy: platforms/surfaces required; else optional.
## Functional requirements
Full: By capability (default); journey grouping if UI-heavy/funnel (PM confirms). REQ-01… — requirement · MoSCoW (Must / Should / Could / Won’t) · testable AC · one-line traceability · optional deps. Must ↔ Solution In scope (flag drift).
Lite: Must rows only (unless PM expands); same ID / AC / traceability.
## Non-functional requirements
Discussed buckets only. Security + privacy = one bucket. Accessibility: UI-heavy or PM asks. Each: requirement + target or TBD + how verified
## Implementation & dependencies
Discussed only. Interfaces & contracts if external integration. Data & analytics if Goals list metrics. Subsection Rollout & milestones. Reversibility (Path 2): Rollback, ramp-down, and kill.
## Cross-functional launch readiness
Non-empty buckets only. Order: QA → Support → Ops → Comms → Approvals. Skip Comms if solo/non-public.
## Risks, assumptions, and open questions
Risks (if any) · assumptions + H/M/L confidence · open questions: Question | Owner | Due date | Default if unresolved · Decision log always: Decision | Rationale | Date | Revisit trigger
## Appendix
Label | Link | Note when citing artifacts; else omit. Shareable URLs; no invented local URLs; git blob only if remote/branch confirmed.
Exploration track structure
Header: Same fields as stakeholder Header, but PRD track: Exploration and no Track variant. Omit empty sections.
## User problem / ## Business problem
Same intent as stakeholder; shorter OK if gaps labeled. Why now (or pointer to Goals).
## Prioritization logic (short)
Why this bet now: confidence gap · speed to learn · reversibility · learning value. PM input required if unset.
## Goals, success metrics, and guardrails
Stakeholder rules when metrics exist; else goals + guardrails + TBD + gap.
## Exploration (AI-assisted)
Hypotheses · approaches tried/queued · tested artifacts (links or to be created) · learnings · decision: chosen path, why, tradeoffs. Heavy optionality → optional ### Alternatives.
## Solution
### Overview · ### User flow (preferred) · ### Scope (In / Out)
## Execution spec (agent-ready)
Paste-ready (e.g. Cursor, Claude Code): goal · inputs (user + system) · outputs · core logic · edge cases · constraints (tech, partner/API, legal) · open questions blocking build. Does not replace decision log.
## Prototype & artifacts (optional)
Mocks, branches, experiments, API sketches. None → omit. To be created only if PM commits.
## Learning agenda
Unknowns · what slice tests · success/failure signals · rollback / blast radius (flag, dark launch, revert…) · kill / pause — encouraged; TBD / PM input required OK. → Rollback, ramp-down, and kill.
## Functional requirements (light)
Must only for sign-off, compliance, partner language — or omit until promotion; lean on Execution spec.
## Non-functional requirements / ## Implementation & dependencies / ## Cross-functional launch readiness
Same as Canonical for those headings; non-empty buckets only. Launch often thin early.
## Risks, assumptions, and open questions / ## Appendix
Same as Canonical.
Solution vs Execution (both in the doc)
Option A — split authority (single source of truth per layer).
| Layer | Owns |
|---|---|
## Solution |
Intent, In / Out, non-goals, user flow (PM level), why. |
## Execution spec (agent-ready) |
Implementable contract: I/O, steps, edges, constraints for eng/agents. |
Precedence
- Scope — Solution wins until PM edits it. Must REQs that define scope stay aligned with Solution.
- Behavior — Execution spec wins vs conflicting Solution prose; update Solution later or log conflict in coherence.
- Must REQ (sign-off / compliance / partner) vs execution spec → coherence flag only; PM resolves; no silent winner.
Rollback, ramp-down, and kill (encouraged)
| Track | Where |
|---|---|
| Exploration | ## Learning agenda |
| Stakeholder | ## Implementation & dependencies → Rollout only if Path 2 applies — no boilerplate on every PRD |
Strength: Encouraged; TBD / PM input required OK.
Path 2 (stakeholder) — Add a short note if any: flag / experiment · canary / phased · partner pilot · migration / schema · pricing / commercial terms · new/changed public API or partner/contract surface · triage flagged hard rollback · PM says gated/reversible ship.
If Path 2: Ramp-down / revert / disable (or owner) or Irreversible — mitigation: …. Unknown → one-line gap + what closes it.
Exploration: Nudge rollback/kill on learning slices; TBD OK.
Checkpoints (Draft)
Pause before the next layer (not every subsection). Tune cadence after use if needed.
| ID | When | Confirm |
|---|---|---|
| C0 | Track gate | PRD track, triage; stakeholder → Track variant |
| C1 | Problem + stakes | User + Business problem; gaps labeled |
| C2 | Goals + guardrails (+ metrics if claimed) | Goals, guardrails, metrics or TBD + gap |
| C3 | Scope + approach | Solution In/Out; exploration = Exploration decision; stakeholder = overview + enough flow for REQs |
| C4 | Execution surface | ## Execution spec (agent-ready) (exploration / lite if not waived) or shippable Must REQ set |
| C5 | Promotion / launch | Promotion + variant; first material Launch / Approvals |
Escape hatch: through Cn → draft to Cn, pause. C0 only → still C0 + session-end coherence; agent may warn once on drift risk.
Phased batching ≈ C1→C4; C5 when Launch/Approvals appear.
Phased draft (Draft)
Follow Checkpoints unless an escape hatch is set.
- Stakeholder full: Header → User → Business → Goals → Solution → Functional REQs → NFRs → Implementation → Launch → Risks → Appendix
- Stakeholder lite: Same through Goals → Solution → Execution spec (unless waived) → Must REQs → NFRs → Implementation → Launch → Risks → Appendix
- Exploration: Header + triage line → User → Business → Prioritization → Goals → Exploration → Solution + Execution spec → Learning agenda → light REQs → NFRs / Implementation / Launch → Risks → Appendix
Solution-first OK; anchor User/Business before locking execution. Session end before close.
Readiness (on request or post-checkpoints)
- Stakeholder full: Must REQs ↔ in-scope + metrics · measurable guardrails · data/analytics if Goals have metrics · QA / Support/Ops if risky · open Qs: Owner, Due, Default · Solution vs Must drift · Solution vs Execution if both sections exist · Path 2 → Implementation: reversibility, or irreversible + mitigation, or gap + owner
- Stakeholder lite: Execution spec or waiver · spec ↔ in-scope · Solution vs Execution · Must REQs ↔ in-scope + metrics · Approvals if non–eng+PM approvers · decision log · open Qs · Path 2 → Implementation (same as full)
- Exploration: Execution ↔ in-scope · Solution vs Execution · guardrails · Learning agenda: signals, rollback/kill or
TBD· promotion triggers
Output: Criterion | Pass/Gap | Fix
Coherence pass
After body edits (session end) or coherence check.
- Stakeholder full: User/Business/Goals/Solution/Must REQs · Solution vs Execution (Option A) · Path 2 applies per doc → Implementation covers reversibility or gaps (no invented rollout facts) · terminology · definitions · list order = priority · tables/lists consistent
- Stakeholder lite: Same + spec ↔ Solution/Must when spec present; if waived, flag Solution/Must gaps the spec would have closed · Solution vs Execution when both exist
- Exploration: User/Business/Goals/Solution/Execution spec/Learning agenda · Solution vs Execution (scope / behavior / Must sign-off) · Learning agenda: rollback/kill or
TBDfor experimental slices · Must REQs ↔ scope · promotion need
Output: Issue | Location | Suggested fix (dedupe)
Audit mode
End-to-end: gaps vs active track (+ Track variant if stakeholder) · readiness · coherence · top 5 actions · promote exploration if needed · lite gaps (Must-only, Approvals, execution spec or waiver)
Output contract
One deliverable: PRD at PM path. No side files unless PM asks.
- Do not include internal process sections in the PRD markdown output (for example:
Coherence pass, checkpoint logs, or workflow notes) unless explicitly requested by the PM.
Triggers: write a PRD, draft a spec, update section …, review this PRD, readiness, coherence check, product requirements for …
Related skills
- PM Product Strategy (
pm-product-strategy) — direction, scope, and bets before PRD lock when still unclear.