---
type: Template
title: PRD Template
description: The scaffold for a Product Requirements Document instance. Copy into /planning/prd/ and fill; do not author PRDs from scratch.
tags: [template, prd, planning]
timestamp: 2026-06-28
---

# PRD Template

**Situating context:** This template was authored as the canonical scaffold the
[prd skill](/skills/prd.skill) instantiates, so every PRD in PMOS has the same shape and the
same anchoring discipline. Copy the block below into `/planning/prd/<slug>-prd.md` and fill it; the
copy is an operational instance and does not live in the OKF bundle.

> Usage: replace every `<…>` placeholder. Delete guidance comments (`<!-- … -->`) once filled.
> Keep section order. An empty out-of-scope list or a missing anchor (parent KR, or `health:<id>`
> per D59) means the PRD is not ready.

---

```markdown
---
type: PRD
title: <initiative title>
timestamp: <YYYY-MM-DD>
---

# PRD: <initiative title>

## Identity
- initiative_id: <id>
- product_slug: <product_slug>
- pm_slug: <pm_slug>
- parent_KR: <objective.kr reference OR health:<id> (D59)>   <!-- REQUIRED. Unanchored work does not proceed. -->
- status: draft | approved
- date: <YYYY-MM-DD>

## Problem
<!-- Who has this problem, why it matters, and why now. Problem BEFORE solution. -->

## Goal
<!-- The change in the world this initiative seeks. One or two sentences. -->

## Non-goals (out of scope)
<!-- REQUIRED and non-empty. The primary defense against over-building. -->
- <out-of-scope item>
- <out-of-scope item>

## Requirements
<!-- What must be true of the solution: capabilities and constraints. Not implementation steps. -->
- <requirement>
- <requirement>

## Success criteria (outcomes, not output)
<!-- Tied to the parent KR. A change in the world, not a list of artifacts produced. -->
<!-- D57: if a criterion is measurable only AFTER ship, declare it on the initiative as
     outcome_metric + outcome_horizon (create_initiative / initiative frontmatter) — acceptance
     at merge will then NOT be the last word; an Outcome Check disposes it at the horizon. -->
- <outcome criterion>
- <outcome criterion>

## Risks & open questions
<!-- Include anything to escalate to the PM. -->
- <risk / question>

## Eval rubric
<!-- The paired rubric is written BEFORE the build (eval-driven PM). -->
- rubric: <link to /planning/evals/<slug>-eval-rubric.md>

## Links
<!-- Dual-audience rule (D58): ONE situating sentence per link — what it is and why it matters
     here — and quote the parent KR's TEXT, not just its id (health-anchored: name the budget and
     why this work fits its coverage). A stakeholder without the OKF bundle
     must be able to follow every reference. -->
- parent KR: <link> — *"<the KR text, quoted>"; <why this initiative advances it>*
- relevant OKF concepts: <link> — *<one situating sentence>*
```

---

## Authoring checklist

- [ ] `parent_KR` present and real.
- [ ] Problem stated before solution.
- [ ] Non-goals non-empty.
- [ ] Success criteria are outcomes tied to the KR, not output counts.
- [ ] Paired eval rubric queued to be written first.
- [ ] Every link carries one situating sentence; parent-KR text quoted (dual-audience, D58).
- [ ] Stays at control altitude — specs *what/why*, not application code or the agent's path.
- [ ] **Durable**: names interfaces/behavioral contracts, never file paths or line numbers (they
      stale while work waits); criteria behavioral + independently verifiable. Exception: a
      prototype-derived snippet trimmed to its decision-rich parts (D60).
