-
Notifications
You must be signed in to change notification settings - Fork 1
PRDs
Product Requirements Documents — the business intent layer of the spec-driven flow.
For the canonical reference, see prds/README.md.
prds/
├── templates/
│ ├── prd-template.md full 23-section enterprise PRD
│ ├── lightweight-prd-template.md single-page alternative
│ └── platform-srs-template.md system-wide SRS
├── active/ in-flight PRDs
├── deprecated/ superseded PRDs
├── archive/ shipped or abandoned PRDs
└── examples/ illustrative worked PRDs
| Template | Use when |
|---|---|
prd-template.md (full) |
Multi-team feature, multi-week effort, cross-service impact, or significant architectural change. Default for non-trivial work. |
lightweight-prd-template.md |
Single owner, single team, single acceptance criterion, fits on one page. |
platform-srs-template.md |
Specifying the platform as a whole. One per platform; revise rather than duplicate. |
Rule of thumb: if you're unsure, start with the lightweight template. If filling it in produces an awkward doc that wants to be longer, escalate to the full template.
-
Draft in
prds/active/withStatus: Draft. -
Review — promote to
Status: Under Reviewonce the author considers it ready. -
Approve — flip to
Status: Approvedwhen stakeholders sign off. This is the gate before spec-triplet work begins. -
Implement — status
In Implementationwhile the matchingspecs/<feature>/is being built and work is in flight. -
Ship —
Status: Shipped; move toprds/archive/. -
Deprecate — when superseded, move to
prds/deprecated/with a pointer to the replacement PRD.
Filenames:
-
active/→<slug>.md(e.g.notification-preferences.md). -
archive/→ prefix the year for sorting (e.g.2026-04-notification-preferences.md).
---
Version: 0.1
Date: YYYY-MM-DD
Author: <name>
Status: Draft | Under Review | Approved | In Implementation | Shipped | Deprecated
Architecture Reference: <link or "TODO">
Scope: <one-line scope statement>
---- A PRD without
Statusis not actionable. - A PRD without
Architecture Referenceis missing context downstream stages need.
The 23-section template covers:
- Header & metadata
- Problem statement
- Goals & success metrics
- Scope (in / out)
- User stories
- Functional requirements (high-level — the spec triplet refines)
- Non-functional requirements (NFRs)
- UX considerations
- Open questions
- Dependencies
- Risks & mitigations
- Documentation requirements
- Analytics / observability needs
- Privacy / data handling
- Security requirements
- Compliance considerations
- Internationalization
- Performance budgets
- Rollout strategy + rollback triggers + rollback procedure
- Communication plan
- Timeline / phases
- Alternatives considered
- Acceptance criteria
For trivial features, the lightweight PRD collapses sections 2–23 into a single page with the essentials.
Drafting and reviewing PRDs is owned by the prd-author agent (in .claude/agents/prd-author.md). It uses the templates above and produces PRDs that match the frontmatter contract.
Once a PRD is Approved, the next step is the spec triplet. Use prompts/shared/prd-to-spec-prompt.md as the conversion prompt. See Specs for what comes next.
- Specs — the technical layer after PRD approval
- Workflow PRD to Production — the 13-stage outer workflow PRDs anchor
- Spec-Driven Development — why PRD → spec → tasks → impl
-
Worked Example — a real 23-section PRD for the
user-searchfeature
Repository · Issues · Roadmap · Changelog · Security · License (Apache 2.0) — © Enovatr Labs
- Philosophy
- Spec-Driven Development
- Agentic Coding Model
- Automation Decision Framework
- Multi-Agent Orchestration
- Two-Tier Docs Pattern
- Multi-Vendor Context Files
- Documentation Structure
- Agent Memory
- Artifact Taxonomy
- PRDs
- Specs
- Agents
- Skills
- Commands
- Hooks
- Prompts
- Rules
- Frontmatter Contracts
- Sanitization