Files
gh-jamesrochabrun-skills-al…/skills/prd-generator/SKILL.md
2025-11-29 18:48:58 +08:00

477 lines
15 KiB
Markdown

---
name: prd-generator
description: Generate comprehensive Product Requirements Documents (PRDs) for product managers. Use this skill when users ask to "create a PRD", "write product requirements", "document a feature", or need help structuring product specifications.
---
# PRD Generator
## Overview
Generate comprehensive, well-structured Product Requirements Documents (PRDs) that follow industry best practices. This skill helps product managers create clear, actionable requirements documents that align stakeholders and guide development teams.
## Core Workflow
When a user requests to create a PRD (e.g., "create a PRD for a user authentication feature"), follow this workflow:
### Step 1: Gather Context
Before generating the PRD, collect essential information through a discovery conversation:
**Required Information:**
- **Feature/Product Name**: What are we building?
- **Problem Statement**: What problem does this solve?
- **Target Users**: Who is this for?
- **Business Goals**: What are we trying to achieve?
- **Success Metrics**: How will we measure success?
- **Timeline/Constraints**: Any deadlines or limitations?
**Discovery Questions to Ask:**
```
1. What problem are you trying to solve?
2. Who is the primary user/audience for this feature?
3. What are the key business objectives?
4. Are there any technical constraints we should be aware of?
5. What does success look like? How will you measure it?
6. What's the timeline for this feature?
7. What's explicitly out of scope?
```
**Note:** If the user provides a detailed brief or requirements upfront, you can skip some questions. Always ask for clarification on missing critical information.
### Step 2: Generate PRD Structure
Use the standard PRD template from `references/prd_template.md` to create a well-structured document. The PRD should include:
1. **Executive Summary** - High-level overview (2-3 paragraphs)
2. **Problem Statement** - Clear articulation of the problem
3. **Goals & Objectives** - What we're trying to achieve
4. **User Personas** - Who we're building for
5. **User Stories & Requirements** - Detailed functional requirements
6. **Success Metrics** - KPIs and measurement criteria
7. **Scope** - What's in and out of scope
8. **Technical Considerations** - Architecture, dependencies, constraints
9. **Design & UX Requirements** - UI/UX considerations
10. **Timeline & Milestones** - Key dates and phases
11. **Risks & Mitigation** - Potential issues and solutions
12. **Dependencies & Assumptions** - What we're relying on
13. **Open Questions** - Unresolved items
### Step 3: Create User Stories
For each major requirement, generate user stories using the standard format:
```
As a [user type],
I want to [action],
So that [benefit/value].
Acceptance Criteria:
- [Specific, testable criterion 1]
- [Specific, testable criterion 2]
- [Specific, testable criterion 3]
```
Reference `references/user_story_examples.md` for common patterns and best practices.
### Step 4: Define Success Metrics
Use appropriate metrics frameworks based on the product type:
- **AARRR (Pirate Metrics)**: Acquisition, Activation, Retention, Revenue, Referral
- **HEART Framework**: Happiness, Engagement, Adoption, Retention, Task Success
- **North Star Metric**: Single key metric that represents core value
- **OKRs**: Objectives and Key Results
Consult `references/metrics_frameworks.md` for detailed guidance on each framework.
### Step 5: Validate & Review
Optionally run the validation script to ensure PRD completeness:
```bash
scripts/validate_prd.sh <prd_file.md>
```
This checks for:
- All required sections present
- User stories follow proper format
- Success metrics are defined
- Scope is clearly articulated
- No placeholder text remains
## Usage Patterns
### Pattern 1: New Feature PRD
**User Request:** "Create a PRD for adding dark mode to our mobile app"
**Execution:**
1. Ask discovery questions about dark mode requirements
2. Generate PRD using template
3. Create user stories for:
- Theme switching
- Preference persistence
- System-level sync
- Design token updates
4. Define success metrics (adoption rate, user satisfaction)
5. Identify technical dependencies (design system, platform APIs)
### Pattern 2: Product Enhancement PRD
**User Request:** "Write requirements for improving our search functionality"
**Execution:**
1. Gather context on current search limitations
2. Identify user pain points and desired improvements
3. Generate PRD with focus on:
- Current state analysis
- Proposed enhancements
- Impact assessment
4. Create prioritized user stories
5. Define before/after metrics
### Pattern 3: New Product PRD
**User Request:** "I need a PRD for a new analytics dashboard product"
**Execution:**
1. Comprehensive discovery (market analysis, user research)
2. Generate full PRD with:
- Market opportunity
- Competitive analysis
- Product vision
- MVP scope
- Go-to-market considerations
3. Detailed user stories for core features
4. Phased rollout plan
5. Success metrics aligned with business goals
### Pattern 4: Quick PRD / One-Pager
**User Request:** "Create a lightweight PRD for a small bug fix feature"
**Execution:**
1. Generate simplified PRD focusing on:
- Problem statement
- Solution approach
- Acceptance criteria
- Success metrics
2. Skip sections not relevant for small scope
3. Keep document concise (1-2 pages)
## PRD Best Practices
### Writing Quality Requirements
**Good Requirements Are:**
- **Specific**: Clear and unambiguous
- **Measurable**: Can be verified/tested
- **Achievable**: Technically feasible
- **Relevant**: Tied to user/business value
- **Time-bound**: Has clear timeline
**Avoid:**
- Vague language ("fast", "easy", "intuitive")
- Implementation details (let engineers decide how)
- Feature creep (stick to core requirements)
- Assumptions without validation
### User Story Best Practices
**DO:**
- Focus on user value, not features
- Write from user perspective
- Include clear acceptance criteria
- Keep stories independent and small
- Use consistent format
**DON'T:**
- Write technical implementation details
- Create dependencies between stories
- Make stories too large (epics)
- Use internal jargon
- Skip acceptance criteria
### Scope Management
**In-Scope Section:**
- List specific features/capabilities included
- Be explicit and detailed
- Link to user stories
**Out-of-Scope Section:**
- Explicitly state what's NOT included
- Prevents scope creep
- Manages stakeholder expectations
- Can include "future considerations"
### Success Metrics Guidelines
**Choose Metrics That:**
- Align with business objectives
- Are measurable and trackable
- Have clear targets/thresholds
- Include both leading and lagging indicators
- Consider user and business value
**Typical Metric Categories:**
- **Adoption**: How many users use the feature?
- **Engagement**: How often do they use it?
- **Satisfaction**: Do users like it?
- **Performance**: Does it work well?
- **Business Impact**: Does it drive business goals?
## Advanced Features
### PRD Templates for Different Contexts
The skill supports different PRD formats:
**Standard PRD** - Full comprehensive document
**Lean PRD** - Streamlined for agile teams
**One-Pager** - Executive summary format
**Technical PRD** - Engineering-focused requirements
**Design PRD** - UX/UI-focused requirements
Specify the format when requesting: "Create a lean PRD for..." or "Generate a technical PRD for..."
### Integration with Design
**Design Requirements Section Should Include:**
- Visual design requirements
- Interaction patterns
- Accessibility requirements (WCAG compliance)
- Responsive design considerations
- Design system components to use
- User flow diagrams
- Wireframe/mockup references
### Technical Considerations Section
**Should Address:**
- **Architecture**: High-level technical approach
- **Dependencies**: External services, libraries, APIs
- **Security**: Authentication, authorization, data protection
- **Performance**: Load times, scalability requirements
- **Compatibility**: Browser, device, platform support
- **Data**: Storage, migration, privacy considerations
- **Integration**: How it fits with existing systems
### Stakeholder Alignment
**PRD Should Help:**
- Align cross-functional teams
- Set clear expectations
- Enable parallel work streams
- Facilitate decision-making
- Provide single source of truth
**Distribution Checklist:**
- [ ] Engineering reviewed technical feasibility
- [ ] Design reviewed UX requirements
- [ ] Product leadership approved scope
- [ ] Stakeholders understand timeline
- [ ] Success metrics agreed upon
## Common PRD Scenarios
### Scenario 1: Feature Request from Customer
When creating a PRD based on customer feedback:
1. Document the customer request verbatim
2. Analyze the underlying problem
3. Generalize the solution for all users
4. Validate with product strategy
5. Scope appropriately (might be smaller or larger than request)
### Scenario 2: Strategic Initiative
When creating a PRD for a strategic company initiative:
1. Link to company OKRs/goals
2. Include market analysis
3. Consider competitive landscape
4. Think multi-phase rollout
5. Include success criteria aligned with strategy
### Scenario 3: Technical Debt / Infrastructure
When creating a PRD for technical improvements:
1. Explain user impact (even if indirect)
2. Document current limitations
3. Articulate benefits (speed, reliability, maintainability)
4. Include engineering input heavily
5. Define measurable improvements
### Scenario 4: Compliance / Regulatory
When creating a PRD for compliance requirements:
1. Reference specific regulations (GDPR, HIPAA, etc.)
2. Include legal/compliance review
3. Deadline is usually non-negotiable
4. Focus on minimum viable compliance
5. Document audit trail requirements
## Validation & Quality Checks
### Self-Review Checklist
Before finalizing the PRD, verify:
- [ ] **Problem is clear**: Anyone can understand what we're solving
- [ ] **Users are identified**: We know who this is for
- [ ] **Success is measurable**: We can determine if it worked
- [ ] **Scope is bounded**: Clear what's in and out
- [ ] **Requirements are testable**: QA can verify completion
- [ ] **Timeline is realistic**: Estimates validated with engineering
- [ ] **Risks are identified**: We've thought through what could go wrong
- [ ] **Stakeholders aligned**: Key people have reviewed and approved
### Using the Validation Script
```bash
# Basic validation
scripts/validate_prd.sh my_prd.md
# Verbose output with suggestions
scripts/validate_prd.sh my_prd.md --verbose
# Check specific sections only
scripts/validate_prd.sh my_prd.md --sections "user-stories,metrics"
```
## Resources
This skill includes bundled resources:
### scripts/
- **generate_prd.sh** - Interactive PRD generation workflow
- **validate_prd.sh** - Validates PRD completeness and quality
### references/
- **prd_template.md** - Standard PRD template structure
- **user_story_examples.md** - User story patterns and examples
- **metrics_frameworks.md** - Guide to PM metrics (AARRR, HEART, OKRs)
## Tips for Product Managers
### Before Writing the PRD
1. **Do your research**: User interviews, data analysis, competitive analysis
2. **Validate the problem**: Ensure it's worth solving
3. **Check strategic alignment**: Does this fit our roadmap?
4. **Estimate effort**: Rough t-shirt size with engineering
5. **Consider alternatives**: Is this the best solution?
### During PRD Creation
1. **Be clear, not clever**: Simple language wins
2. **Show, don't tell**: Use examples, mockups, diagrams
3. **Think edge cases**: What could go wrong?
4. **Prioritize ruthlessly**: What's MVP vs. nice-to-have?
5. **Collaborate early**: Don't work in isolation
### After PRD Completion
1. **Review with stakeholders**: Get feedback early
2. **Iterate based on input**: PRDs are living documents
3. **Present, don't just share**: Walk through the PRD
4. **Get formal sign-off**: Ensure commitment
5. **Keep it updated**: Adjust as understanding evolves
## Examples
### Example 1: Mobile Feature PRD
```bash
# User: "Create a PRD for adding biometric authentication to our iOS app"
# Assistant will:
# 1. Ask discovery questions about security requirements, user personas, existing auth
# 2. Generate PRD covering:
# - Problem: Password friction, security concerns
# - Solution: Face ID / Touch ID integration
# - User stories: Enable biometric, fallback to password, settings management
# - Metrics: Adoption rate, login success rate, support tickets
# - Technical: iOS Keychain, LocalAuthentication framework
# - Risks: Device compatibility, user privacy concerns
# 3. Output formatted markdown PRD
```
### Example 2: Web Platform Enhancement
```bash
# User: "Write requirements for improving our checkout flow conversion"
# Assistant will:
# 1. Gather data on current conversion rates and drop-off points
# 2. Generate PRD including:
# - Current state analysis with metrics
# - Proposed improvements (guest checkout, saved payment, progress indicator)
# - A/B test plan
# - Success metrics: Conversion rate increase, time to checkout
# - User stories for each improvement
# 3. Include phased rollout approach
```
### Example 3: B2B Product PRD
```bash
# User: "I need a PRD for an admin dashboard for enterprise customers"
# Assistant will:
# 1. Identify B2B-specific requirements (multi-tenancy, permissions, reporting)
# 2. Generate comprehensive PRD with:
# - Enterprise user personas (admin, manager, analyst)
# - Role-based access control requirements
# - Reporting and analytics needs
# - Integration requirements (SSO, SCIM)
# - Success metrics: Customer adoption, admin efficiency
# 3. Include enterprise-specific considerations (compliance, SLAs)
```
## Troubleshooting
**Issue: PRD is too long/detailed**
Solution: Create a "Lean PRD" focusing on problem, solution, acceptance criteria, and metrics. Reserve full PRD for major initiatives.
**Issue: Requirements are too vague**
Solution: Add specific examples, use concrete numbers, include visual references. Replace "fast" with "loads in under 2 seconds."
**Issue: Stakeholders not aligned**
Solution: Share PRD early as draft, incorporate feedback, present in person, get explicit sign-off before development starts.
**Issue: Scope keeps expanding**
Solution: Use "Out of Scope" section aggressively, create separate PRDs for future phases, tie scope to timeline constraints.
**Issue: Engineers say it's not feasible**
Solution: Involve engineering earlier in process, be flexible on solution approach, focus on problem not implementation.
## Best Practices Summary
1. **Start with the problem, not the solution**
2. **Write for your audience** (execs need summary, engineers need details)
3. **Be specific and measurable** (avoid vague language)
4. **Include visuals** (mockups, diagrams, flows)
5. **Define success upfront** (metrics, not features)
6. **Scope aggressively** (MVP mentality)
7. **Collaborate, don't dictate** (get input from all functions)
8. **Keep it updated** (PRD is a living document)
9. **Focus on "why" and "what", not "how"** (let engineers solve "how")
10. **Make it skimmable** (headers, bullets, summaries)