These are the two blank templates behind the example, each shown in full with a button to download it.
Feature PRD
Write this once for the whole feature.
<!--
Feature PRD. Write this once for the whole feature.
Nobody builds from it directly: each project listed below gets its own plan (project-plan.md).
Replace everything in [brackets], then delete this comment.
-->
# [Feature name]
## Background and business need
- **Business context:** [The market, competitor or strategy behind this.]
- **Opportunity:** [What we stand to gain.]
- **Urgency:** [Why now, and what happens if we don't act.]
## Goals
- [What should change if this works, stated so you can tell whether it did.]
## Target user problems
### Primary user: [role]
1. **[Problem short name].** [How it shows up and what it costs them.]
2. **[Problem short name].** [How it shows up and what it costs them.]
### Secondary users
- **[Role]:** [Their relationship to this, and their key pain point.]
## Solution summary
[Two or three paragraphs on the approach. Name the problems each part answers.]
## Projects, in order
1. **[Project name].** [The outcomes it delivers, and why it goes first.]
2. **[Project name].** [The outcomes it delivers.]
## Out of scope
- **[Capability].** [What won't be built, where someone would reasonably expect it.]
Project plan
Write one for each project in the feature PRD.
<!--
Project plan. Write one for each project in the feature PRD.
This is the only document a coding agent needs. It settles what the product should do, so the agent only has to work out how to build it.
Only three headings are fixed: Outcomes, Non-goals and Open questions.
The headings in between come from this project's own decisions. Name each for what it settles.
To find them, look for:
- a concept the product doesn't have yet
- a screen or flow that changes
- who may do what
- the edges: empty, failed, two people at once, too many
Every line has to pass one test: without it, could a competent build behave differently? If not, cut it.
Replace everything in [brackets], then delete this comment.
-->
# [Project name]
## Outcomes
- [ ] **[Short name].** [A named user] [finishes something they set out to do].
- [ ] **[Short name].** [One sentence, same shape.]
## [What this heading settles]
- When [condition], [what the product does and what the person sees].
- [A rule with no condition holds always. Check that it does.]
[An HTML mockup, a table or a diagram where the decision is easier to show.
Its caption says what it settles and what is only illustrative.]
## [What the next heading settles]
- [One rule per line, checkable against the running product.]
- *Open: [a decision nobody has made yet]? Blocks [what]. [Who] decides.*
## Non-goals
- [What this project leaves alone, only where a builder would expect otherwise.]
## Open questions
- [A decision that belongs to no heading.] Blocks [what]. [Who] decides.