prd
Generate detailed Product Requirements Documents (PRDs) for features. Use this skill when starting a new feature to create a clear specification before implementation.
When & Why to Use This Skill
The PRD skill automates the creation of comprehensive Product Requirements Documents, bridging the gap between initial feature ideas and technical implementation. By guiding users through a structured discovery process with targeted clarifying questions, it generates detailed Markdown specifications that include user stories, functional requirements, and acceptance criteria, optimized for both human developers and autonomous AI agents.
Use Cases
- Feature Specification: Rapidly drafting detailed requirements for new software features to ensure all stakeholders and developers are aligned before coding begins.
- AI-Assisted Development: Generating structured, actionable tasks that autonomous coding agents (like Ralph) can use to implement features independently.
- Requirement Discovery: Using interactive clarifying questions to uncover technical constraints, target user needs, and edge cases early in the development lifecycle.
- Documentation Standardization: Establishing a consistent format for project documentation across a team, including branch naming conventions and technical considerations.
| name | prd |
|---|---|
| description | Generate detailed Product Requirements Documents (PRDs) for features. Use this skill when starting a new feature to create a clear specification before implementation. |
PRD Skill
Generate detailed Product Requirements Documents for AI-assisted development.
Purpose
Create clear, actionable PRDs that can be converted to user stories for autonomous implementation by Ralph.
Workflow
- Receive feature request from user
- Ask clarifying questions (3-5 max, with lettered options)
- Generate PRD in markdown format
- Save to
tasks/prd-[feature-name].md
Clarifying Questions Format
Ask only the most critical questions. Provide options for easy selection:
1. What is the primary goal of this feature?
A. Improve user experience
B. Add new functionality
C. Fix existing issues
D. Performance improvement
2. Who is the target user?
A. All users
B. Admin users only
C. New users
D. Power users
3. What is the priority/timeline?
A. Urgent (1-2 weeks)
B. High priority (3-4 weeks)
C. Standard (1-2 months)
D. Future consideration
User can respond with: "1A, 2C, 3B"
PRD Structure
Generate PRDs with these sections:
# PRD: [Feature Name]
## Overview
Brief description of the feature and the problem it solves.
## Goals
- Specific, measurable objective 1
- Specific, measurable objective 2
## User Stories
High-level user narratives:
- As a [user type], I want to [action] so that [benefit]
## Functional Requirements
Numbered list of specific functionalities:
1. The system must...
2. The system should...
## Non-Goals (Out of Scope)
What this feature will NOT include.
## Design Considerations
- UI/UX requirements
- Component reuse
- Responsive behavior
## Technical Considerations
- Dependencies
- Database changes
- API changes
- Performance requirements
## Acceptance Criteria
How we know the feature is complete:
- [ ] Criterion 1
- [ ] Criterion 2
## Branch Name Suggestion
`feature/[descriptive-name]` or `ralph/[feature-name]`
Guidelines
- Keep requirements specific and testable
- Each requirement should be implementable in one context window
- Include "typecheck passes" in acceptance criteria for TypeScript projects
- Include "Verify in browser" for UI features
- Suggest a branch name following the pattern
ralph/[feature-name]
Example Usage
User: "Create a PRD for adding dark mode to the app"
Response:
- Ask 3-4 clarifying questions with options
- Generate PRD based on answers
- Save to
tasks/prd-dark-mode.md - Suggest next step: "Now use the ralph skill to convert this to prd.json"