v2.0.5

Prd

bjesuiter bjesuiter ← All skills

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.

Downloads
1.9k
Stars
4
Versions
6
Updated
2026-02-24

Install

npx clawhub@latest install prd

Documentation

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: falsetrue

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 (falsetrue when done) |

| userStories[].notes | Runtime notes added by agent |

Story Sizing

Each story should be completable in one context window.

✅ Right-sized:

  • -Add a database column and migration
  • -Add a UI component to an existing page
  • -Update a server action with new logic
  • -Add a filter dropdown to a list

❌ Too large (split these):

  • -"Build the entire dashboard" → Split into: schema, queries, UI, filters
  • -"Add authentication" → Split into: schema, middleware, login UI, session

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:

  • -"Add status column to tasks table with default 'pending'"
  • -"Filter dropdown has options: All, Active, Completed"
  • -"Typecheck passes"

❌ Bad:

  • -"Works correctly"
  • -"User can do X easily"
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 patterns
  • -output-patterns.md - Templates and examples

Launch an agent with Prd on Termo.