Skip to content

PRD template: the two documents

The feature PRD and the project plan as blank Markdown files, to download or copy.

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.
← Back to the post

Get started

Set Grove up with your team

A few teams at a time. If Grove fits, you get two weeks free on what you’re building now.

Talk to Grove’s founders

Thirty minutes on how your team decides what to build. You leave with our read on it.