prd

Generate structured Product Requirements Documents through guided questions. Creates well-formed PRDs with user stories, acceptance criteria, and technical approach. Use when planning new features, creating specifications, or when user asks to create/generate a PRD.

9 stars

Best use case

prd is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

Generate structured Product Requirements Documents through guided questions. Creates well-formed PRDs with user stories, acceptance criteria, and technical approach. Use when planning new features, creating specifications, or when user asks to create/generate a PRD.

Teams using prd should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/prd/SKILL.md --create-dirs "https://raw.githubusercontent.com/davidkimai/ralph-zero/main/skills/prd/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/prd/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How prd Compares

Feature / AgentprdStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

Generate structured Product Requirements Documents through guided questions. Creates well-formed PRDs with user stories, acceptance criteria, and technical approach. Use when planning new features, creating specifications, or when user asks to create/generate a PRD.

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

SKILL.md Source

# PRD Generation Skill

Generate comprehensive, structured Product Requirements Documents (PRDs) through an interactive question-and-answer workflow optimized for autonomous development.

## When to Use

Use this skill when:
- User asks to "create a PRD" or "generate requirements"
- Planning a new feature before implementation
- Need to document requirements for Ralph Zero
- Want to break down complex features into implementable stories

## Workflow

This skill follows a structured 5-step process to create production-ready PRDs.

### Step 1: Get Feature Description

Ask the user for a high-level description:

```
What feature would you like to build? Please provide a brief description.
```

### Step 2: Ask Clarifying Questions

Ask these essential questions with **letter options** for quick responses:

#### 1. Problem & Goals
```
1. What problem does this feature solve?
   A. User pain point / friction
   B. Business requirement
   C. Technical debt / refactoring
   D. Competitive feature parity
   E. Other: [specify]
```

#### 2. Target Users
```
2. Who will use this feature?
   A. End users only
   B. Admin users only
   C. All users
   D. Developers / internal team
   E. External integrations
```

#### 3. Scope
```
3. What is the desired scope?
   A. Minimal viable version (fastest path)
   B. Full-featured implementation
   C. Backend/API only (no UI)
   D. Frontend/UI only (mock backend)
```

#### 4. Technical Constraints
```
4. Any technical constraints or requirements?
   A. Must integrate with existing system X
   B. Performance requirements (specify)
   C. Security/compliance requirements
   D. No special constraints
```

#### 5. Success Measurement
```
5. How will you measure success?
   A. User metrics (engagement, retention)
   B. Business metrics (conversion, revenue)
   C. Technical metrics (performance, quality)
   D. Simply: feature works as specified
```

**Allow user to respond:** `1A, 2C, 3A, 4D, 5D` for efficient iteration.

### Step 3: Generate PRD

Based on answers, generate a PRD using this structure:

```markdown
# [Feature Name]

## Executive Summary
[2-3 sentence overview]

## Problem Statement
[What problem are we solving and why]

## Goals
- Goal 1: [Specific, measurable]
- Goal 2: [Specific, measurable]
- Goal 3: [Specific, measurable]

## User Stories

For each story, use this format:

### US-001: [Story Title]
**Description:** As a [user type], I want to [action], so that [benefit].

**Acceptance Criteria:**
- [ ] Specific, verifiable criterion 1
- [ ] Specific, verifiable criterion 2
- [ ] Typecheck passes
- [ ] [UI stories only] Verify in browser using dev-browser skill

**Priority:** 1

**Notes:** [Any implementation hints or context]

## Functional Requirements

- FR-1: The system must [specific requirement]
- FR-2: When [condition], the system must [behavior]
- FR-3: [Specific, testable requirement]

## Non-Goals (Out of Scope)

- What we're explicitly NOT doing
- Features deferred to future iterations
- Edge cases intentionally not handled

## Technical Approach

### Architecture
[High-level technical approach]

### Data Model
[Key schema changes or data structures]

### APIs/Inte grations
[External systems, endpoints needed]

## Success Metrics

- Metric 1: [target value]
- Metric 2: [target value]

## Timeline & Milestones

- Phase 1: [description] - [timeframe]
- Phase 2: [description] - [timeframe]

## Dependencies

- Dependency 1: [what and why]
- Dependency 2: [what and why]

## Open Questions

- Question 1
- Question 2
```

### Step 4: Save PRD

Save to `tasks/prd-[feature-name-kebab-case].md`

Examples:
- "User Authentication" → `tasks/prd-user-authentication.md`
- "Task Priority System" → `tasks/prd-task-priority.md`

### Step 5: Next Steps

After saving, inform the user:

```
✅ PRD saved to tasks/prd-[feature-name].md

Next steps:
1. Review and refine the PRD as needed
2. Convert to prd.json: Load ralph-convert skill and convert tasks/prd-[feature-name].md to prd.json
3. Run Ralph Zero: ralph-zero run --max-iterations 50
```

## Best Practices

### Keep Stories Atomic

Each user story should be:
- **Specific**: Clear about what needs to be done
- **Testable**: Can be verified when complete
- **Independent**: Minimal dependencies on other stories
- **Small**: Completable in one iteration (30min - 2hrs)

### Write Verifiable Acceptance Criteria

✅ **Good criteria (specific, testable):**
- "Add status column to tasks table ('pending' | 'in_progress' | 'done')"
- "Badge shows green for done, blue for in_progress, gray for pending"
- "Clicking delete shows confirmation dialog with Cancel/Confirm buttons"

❌ **Bad criteria (vague, untestable):**
- "Status works correctly"
- "Good UX"
- "User can easily do X"
- "Handles all edge cases"

### Order Stories by Dependency

Stories should execute in dependency order:

**Correct order:**
1. Schema/database changes
2. Backend logic/server actions
3. UI components
4. Dashboard/aggregation views

**Wrong order:**
- UI component at priority 1 that needs schema from priority 3

### Always Include Quality Checks

Every story must have:
- `Typecheck passes` as final criterion
- `Tests pass` if testable logic
- `Verify in browser using dev-browser skill` if UI changes

## Example Interaction

**User:** "Create a PRD for adding task priority levels"

**Agent (you):**
```
I'll help you create a PRD for task priority levels. Let me ask some clarifying questions:

1. What problem does this feature solve?
   A. User pain point / friction
   B. Business requirement
   C. Technical debt / refactoring
   D. Competitive feature parity
   E. Other: [specify]

[User: 1A]

2. Who will use this feature?
   A. End users only
   B. Admin users only
   C. All users
   D. Developers / internal team
   E. External integrations

[User: 2C]

...

[After gathering all answers]

Great! Here's your PRD:

# Task Priority System

## Executive Summary
Add priority levels (high, medium, low) to tasks so users can focus on what matters most...

[Generate complete PRD]

✅ PRD saved to tasks/prd-task-priority.md

Next steps:
1. Review the PRD
2. Convert to prd.json using ralph-convert skill
3. Run Ralph Zero
```

## Customization

For project-specific templates, create:
```
skills/prd/references/CUSTOM_TEMPLATE.md
```

Then reference it:
```
Use the custom PRD template from references/CUSTOM_TEMPLATE.md
```

## Common Pitfalls

### Avoid Vague Requirements
❌ "Make the UI better"
✅ "Add visual feedback on hover (scale to 1.05, show shadow)"

### Avoid Mixing Concerns
❌ "Add authentication and dashboard"
✅ Split into: Auth schema, Auth UI, Dashboard

### Avoid Future-Proofing
❌ "Design for eventual multi-tenant support"
✅ "Implement single-tenant, document extension points"

## Related Skills

- **ralph-convert**: Convert this PRD to prd.json
- **ralph-zero**: Run autonomous development loop

## See Also

- [PRD Template](references/TEMPLATE.md)
- [PRD Best Practices](references/BEST_PRACTICES.md)
- [Story Sizing Guide](references/STORY_SIZING.md)

Related Skills

ralph-convert

9
from davidkimai/ralph-zero

Convert markdown PRD to prd.json format for Ralph Zero autonomous execution. Validates story structure, checks dependencies, ensures right-sizing, and generates validated JSON. Use when you have a PRD markdown file and need to prepare it for autonomous development.

ralph-zero

9
from davidkimai/ralph-zero

Next-generation autonomous development orchestrator with cognitive feedback loops. Executes complex multi-step features from PRDs through iterative agent sessions with quality verification, context synthesis, and recursive learning. Use when implementing features that require multiple stories, exceed single context windows, or need autonomous execution with quality guarantees. Replaces manual iteration with intelligent orchestration.

VibeCollab — Setup Instructions for AI Assistants

9
from flashpoint493/VibeCollab

You are helping a user set up VibeCollab in their project.

Workflow & Productivity

raycast-extension-docs

9
from lemikeone/Codex-skill-raycast-extension

Guidance for building, debugging, and publishing Raycast extensions using the Raycast documentation set. Use when Codex needs to create or modify Raycast extensions (React/TypeScript/Node), consult Raycast API reference or UI components, build AI extensions, handle manifest/lifecycle/preferences, troubleshoot issues, or prepare/publish extensions to the Raycast Store or Teams.

Coding & Development

evomap

9
from hyz0906/paper

Connect to the EvoMap collaborative evolution marketplace. Publish Gene+Capsule bundles, fetch promoted assets, claim bounty tasks, register as a worker, create and express recipes, collaborate in sessions, bid on bounties, resolve disputes, and earn credits via the GEP-A2A protocol. Use when the user mentions EvoMap, evolution assets, A2A protocol, capsule publishing, agent marketplace, worker pool, recipe, organism, session collaboration, or service marketplace.

AI Agent Marketplace

maestro

8
from Viniciuscarvalho/maestro

Intelligent skill knowledge gateway. Routes tasks to the right knowledge without loading all skills into context. MUST be consulted before any coding task — call the search_skills MCP tool to retrieve relevant expertise from 100+ indexed skills covering Swift, SwiftUI, concurrency, testing, architecture, performance, and security.

Coding & Development

opentui

7
from LeonardoTrapani/better-skills

Comprehensive OpenTUI skill for building terminal user interfaces. Covers the core imperative API, React reconciler, and Solid reconciler. Use for any TUI development task including components, layout, keyboard handling, animations, and testing.

Coding & Development

calm-ui

7
from brijr/vibe

Apply a restrained, Swiss/Japanese/Scandinavian/German-influenced product design system when building or refining UI in React, Next.js, TypeScript, and shadcn/ui. Use when the user asks to build, refine, critique, redesign, or review a page, screen, component, form, table, dashboard, layout, or other frontend interface, especially in projects using shadcn/ui. Do not use for marketing sites, landing pages, non-UI work, or requests for bold, playful, maximalist, or otherwise expressive aesthetics.

Frontend Development

solid

7
from fellipeutaka/denji

Apply SOLID principles to write flexible, maintainable, and testable code. Use when designing classes, interfaces, and module boundaries. Covers Single Responsibility, Open/Closed, Liskov Substitution, Interface Segregation, and Dependency Inversion with practical TypeScript examples and detection heuristics.

netops-asset-manager

7
from Boos4721/netops-asset-manager-skill

Manage IT infrastructure assets (routers, switches, servers, GPU clusters) through a Go + Vue 3 platform with real-time health probing, SSH remote control, configuration backup, bulk import, network topology visualization, and PM2 process management. Supports H3C, Huawei, Cisco, MikroTik, Ruijie, DCN, and Linux. Use when the user asks about IT asset management, network device operations, infrastructure monitoring, SSH device control, or development on this Go + Vue 3 platform.

Goal: Build an LLM-based RAG App

6
from Harmeet10000/skills

Here is the MVP Implementation Plan.

You are a professional Landing page designer who is very friendly and supportive.

6
from Harmeet10000/skills

Your task is to guide a beginner through planning and designing a landing page or personal portfolio.

Workflow & Productivity