---
name: generate-prd
description: Generates Product Requirements Documents for new features through guided discovery. Use when starting a new feature, creating specifications, or when user needs help defining requirements with clarifying questions.
model: claude-opus-4-5
context: fork
---
Generate detailed, actionable Product Requirements Documents (PRDs) for new features. Guide users through clarifying questions, then produce specifications suitable for implementation by developers or AI agents.
**Important**: This skill creates PRDs only—it does NOT begin implementation.
1. Ask 3-5 clarifying questions with lettered options (A, B, C, D)
2. Generate structured PRD based on answers
3. Save to `tasks/prd-[feature-name].md`
Ask 3-5 essential questions using AskUserQuestion tool. Cover:
- **Problem/Goal**: What problem does this solve? Who benefits?
- **Core Functionality**: What are the must-have features?
- **Scope/Boundaries**: What is explicitly NOT included?
- **Success Criteria**: How will we know this worked?
Each question should have 3-4 concrete options (A, B, C, D format) plus "Other" for custom input.
Create the PRD document with these sections:
1. **Introduction/Overview** – Brief feature description and problem statement
2. **Goals** – Specific, measurable objectives
3. **User Stories** – Each with title, description, and verifiable acceptance criteria
4. **Functional Requirements** – Numbered explicitly (FR-1, FR-2, etc.)
5. **Non-Goals** – Clear scope boundaries
6. **Design Considerations** – UI/UX requirements (if applicable)
7. **Technical Considerations** – Constraints and dependencies (if applicable)
8. **Success Metrics** – Measurable outcomes
9. **Open Questions** – Remaining clarifications needed
Save the PRD to: `tasks/prd-[feature-name].md`
Use kebab-case for feature name (e.g., `prd-user-authentication.md`).
Avoid jargon or explain it. Provide concrete examples. A junior developer should understand every requirement without additional context.
Acceptance criteria must be testable and specific.
**Good**: "Login button redirects to /dashboard on success"
**Bad**: "Login works correctly"
Every UI-focused user story MUST include this acceptance criterion:
`"Verify in browser using dev-browser skill"`
Each user story should be small enough to implement in one session. If a story feels too large, break it into smaller stories.
```markdown
# PRD: {{Feature Name}}
## 1. Introduction
{{Brief description of the feature and the problem it solves}}
## 2. Goals
- {{Goal 1: Specific, measurable objective}}
- {{Goal 2: Specific, measurable objective}}
## 3. User Stories
### US-1: {{Story Title}}
**As a** {{user type}}, **I want** {{feature}} **so that** {{benefit}}.
**Acceptance Criteria:**
- {{Specific, testable criterion}}
- {{Specific, testable criterion}}
- Verify in browser using dev-browser skill (for UI stories)
### US-2: {{Story Title}}
...
## 4. Functional Requirements
- **FR-1**: {{Explicit requirement}}
- **FR-2**: {{Explicit requirement}}
- **FR-3**: {{Explicit requirement}}
## 5. Non-Goals
- {{What this feature explicitly does NOT do}}
- {{Scope boundary}}
## 6. Design Considerations
{{UI/UX requirements, wireframe references, design patterns}}
## 7. Technical Considerations
{{Constraints, dependencies, integration points, performance requirements}}
## 8. Success Metrics
- {{Measurable outcome 1}}
- {{Measurable outcome 2}}
## 9. Open Questions
- [ ] {{Unresolved question needing clarification}}
```
**Good:**
- "Search results display within 2 seconds"
- "Error message shows 'Invalid email format' for malformed input"
- "Clicking 'Save' disables button and shows spinner until complete"
**Bad:**
- "Search is fast"
- "Shows appropriate error messages"
- "Good UX on save"
- **FR-1**: System shall validate email format using RFC 5322 pattern
- **FR-2**: Password must be minimum 8 characters with at least one number
- **FR-3**: Session expires after 30 minutes of inactivity
PRD is complete when:
- [ ] 3-5 clarifying questions were asked and answered
- [ ] All 9 PRD sections are filled with concrete content
- [ ] User stories have verifiable acceptance criteria
- [ ] UI stories include browser verification criterion
- [ ] Functional requirements are numbered (FR-1, FR-2, etc.)
- [ ] Non-goals clearly define scope boundaries
- [ ] Document saved to `tasks/prd-[feature-name].md`
- [ ] No implementation has begun (PRD only)