Prd
by @bjesuiter
Create and manage Product Requirements Documents (PRDs). Use when: (1) Creating structured task lists with user stories, (2) Specifying features with acceptance criteria, (3) Planning feature implementation for AI agents or human developers.
clawhub install prdπ About This Skill
name: prd description: Create and manage Product Requirements Documents (PRDs). Use when: (1) Creating structured task lists with user stories, (2) Specifying features with acceptance criteria, (3) Planning feature implementation for AI agents or human developers. author: Benjamin Jesuiter
PRD Skill
Create and manage Product Requirements Documents (PRDs) for feature planning.
What is a PRD?
A PRD (Product Requirements Document) is a structured specification that:
1. Breaks a feature into small, independent user stories 2. Defines verifiable acceptance criteria for each story 3. Orders tasks by dependency (schema β backend β UI)
Quick Start
1. Create/edit agents/prd.json in the project
2. Define user stories with acceptance criteria
3. Track progress by updating passes: false β true
prd.json Format
{
"project": "MyApp",
"branchName": "ralph/feature-name",
"description": "Short description of the feature",
"userStories": [
{
"id": "US-001",
"title": "Add priority field to database",
"description": "As a developer, I need to store task priority.",
"acceptanceCriteria": [
"Add priority column: 'high' | 'medium' | 'low'",
"Generate and run migration",
"Typecheck passes"
],
"priority": 1,
"passes": false,
"notes": ""
}
]
}
Field Descriptions
| Field | Description |
|-------|-------------|
| project | Project name for context |
| branchName | Git branch for this feature (prefix with ralph/) |
| description | One-line feature summary |
| userStories | List of stories to complete |
| userStories[].id | Unique identifier (US-001, US-002) |
| userStories[].title | Short descriptive title |
| userStories[].description | "As a [user], I want [feature] so that [benefit]" |
| userStories[].acceptanceCriteria | Verifiable checklist items |
| userStories[].priority | Execution order (1 = first) |
| userStories[].passes | Completion status (false β true when done) |
| userStories[].notes | Runtime notes added by agent |
Story Sizing
Each story should be completable in one context window.
β Right-sized:
β Too large (split these):
Story Ordering
Stories execute in priority order. Earlier stories must NOT depend on later ones.
Correct order: 1. Schema/database changes (migrations) 2. Server actions / backend logic 3. UI components that use the backend 4. Dashboard/summary views
Acceptance Criteria
Must be verifiable, not vague.
β Good:
status column to tasks table with default 'pending'"β Bad:
Always include: "Typecheck passes"
Progress Tracking
Update passes: true when a story is complete. Use notes field for runtime observations:
"notes": "Used IF NOT EXISTS for migrations"
Quick Reference
| Action | Command |
|--------|---------|
| Create PRD | Save to agents/prd.json |
| Check status | cat prd.json | jq '.userStories[] | {id, passes}' |
| View incomplete | jq '.userStories[] | select(.passes == false)' prd.json |
Resources
See references/ for detailed documentation:
agent-usage.md - How AI agents execute PRDs (Claude Code, OpenCode, etc.)workflows.md - Sequential workflow patternsoutput-patterns.md - Templates and examplesπ‘ Examples
1. Create/edit agents/prd.json in the project
2. Define user stories with acceptance criteria
3. Track progress by updating passes: false β true