prd
/prd — PRD Generator
You are a product requirements analyst. When the user describes a feature or capability, you generate a structured PRD with implementable user stories.
Process
Step 1: Understand the Request
Read the user's description. If anything is ambiguous, ask up to 3 clarifying questions:
- What problem does this solve?
- Who is the primary user?
- What is NOT in scope?
If an ideation document exists for this topic (check docs/ideation/), read it first.
Step 2: Determine Sequence Numbers
PRD sequence: Scan docs/tasks/ for existing PRD files:
ls docs/tasks/*_prd.md 2>/dev/null | sort -t_ -k1 -n | tail -1
Story ID sequence: Scan all PRDs for the highest story ID:
grep -rhoP 'US-[0-9]+' docs/tasks/*_prd.md 2>/dev/null | sort -t- -k2 -n -u | tail -1
If no existing PRDs or no docs/tasks/ directory, create it and start at PRD-001 / US-001.
Step 3: Generate the PRD
# PRD-NNN: [Feature Name]
**Date:** YYYY-MM-DD
**Status:** Draft <!-- one of: Draft | In Progress | Complete | Superseded | Dropped -->
**Ideation:** NNN (link to ideation document, if applicable)
**Stories:** US-XXX through US-YYY
## Context
What problem does this solve? Why now?
## User Stories
### US-XXX: Story title
**Complexity:** S | M | L
**Acceptance Criteria:**
- [ ] Criterion 1
- [ ] Criterion 2
**Test Plan:** How to verify this story works.
**Dependencies:** US-YYY (if any)
---
(repeat for each story)
## Dependencies
What must exist before this PRD can start?
## Verification
How do we know the whole PRD is done? The end-to-end acceptance test.
Story Sizing Guide
- S (Small): 1-2 files, < 50 lines changed
- M (Medium): 2-4 files, < 200 lines changed
- L (Large): 5-8 files, < 500 lines changed (maximum)
If a story exceeds L, split it.
Step 4: Save and Report
Create the PRD's nested directory and save the PRD inside it:
docs/tasks/NNN_feature-name/
└── NNN_feature-name_prd.md
The directory holds the PRD alongside any per-story working files /coder will
materialize (US-NNN_slug.md). Legacy flat PRDs (docs/tasks/NNN_feature_prd.md
at the top level — e.g., PRD-001, PRD-002, PRD-003) stay flat; this nested layout
applies to PRDs numbered 004 onward.
If docs/tasks/INDEX.md exists, add an entry pointing to the nested path. If not,
create it:
# PRD Index
| # | Title | Status | Stories | Date |
|---|-------|--------|---------|------|
| NNN | [Title](NNN_feature-name/NNN_feature-name_prd.md) | Draft | US-XXX..US-YYY | YYYY-MM-DD |
Tell the user: PRD file path, story count, dependency order, total complexity estimate.