| name | prp-generator |
| description | Generate comprehensive Product Requirement Plans (PRPs) for feature implementation with thorough codebase analysis and external research. Use when the user requests a PRP, PRD, or detailed implementation plan for a new feature. Conducts systematic research, identifies patterns, and creates executable validation gates for one-pass implementation success. |
PRP Generator
Overview
This skill generates comprehensive Product Requirement Plans (PRPs) that enable AI agents to implement features in a single pass with high success rates. The skill combines systematic codebase analysis with external research to create detailed, context-rich implementation blueprints.
When to Use This Skill
Invoke this skill when:
- User requests a PRP or PRD (Product Requirement Plan/Document)
- User wants a detailed implementation plan for a new feature
- User asks to "plan out" or "design" a complex feature
- Beginning a significant feature development that would benefit from structured planning
- User provides a feature description file and asks for implementation guidance
Core Principle
Context is Everything: The AI agent implementing your PRP only receives:
- The PRP content you create
- Training data knowledge
- Access to the codebase
- WebSearch capabilities
Therefore, your PRP must be self-contained with all necessary context, specific references, and executable validation gates.
Workflow
Phase 1: Understanding the Feature
Read the Feature Request
- If user provides a feature file path, read it completely
- If user provides verbal description, clarify requirements by asking:
- What is the user trying to accomplish?
- What are the acceptance criteria?
- Are there any specific constraints or requirements?
- Identify the core problem being solved
Clarify Ambiguities
- Use AskUserQuestion tool for any unclear requirements
- Confirm technology stack assumptions
- Verify integration points
- Ask about specific patterns to follow if not obvious
Phase 2: Codebase Analysis (Mandatory)
Goal: Understand existing patterns, conventions, and integration points
Refer to references/research_methodology.md for detailed guidance, but the core steps are:
Search for Similar Features
Use Grep to search for: - Similar component names - Similar functionality keywords - Similar UI patterns - Similar API endpointsDocument findings with:
- Exact file paths and line numbers
- Code snippets showing patterns
- Relevance to new feature
- Necessary adaptations
Identify Architectural Patterns
- Directory structure conventions
- Component organization patterns
- State management approach
- API structure patterns
- Routing patterns (if applicable)
Example findings:
Pattern: Feature-based directory structure Location: src/features/ Application: Create src/features/[new-feature]/Document Coding Conventions
- TypeScript usage patterns (interfaces vs types, strict mode)
- Component patterns (FC vs function, default vs named exports)
- Styling approach (CSS modules, styled-components, Tailwind)
- Import ordering and organization
- Function and variable naming
- Comment style
Example:
Convention: Named exports for all components Example: export function UserProfile() { ... } Found in: src/components/*.tsxStudy Test Patterns
- Test framework and version
- Test file naming and location
- Mock strategies
- Coverage expectations
- Example test to mirror
Document:
Framework: Vitest + @testing-library/react Pattern: Co-located tests with *.test.tsx Example: src/components/Button/Button.test.tsx Mock Strategy: Use vi.fn() for functions, MSW for HTTPCheck Project Configuration
- Review
package.jsonfor dependencies and scripts - Check
tsconfig.jsonfor TypeScript settings - Review build configuration (vite.config.ts, etc.)
- Note path aliases and special configurations
Document:
Build Tool: Vite 5.x Path Aliases: '@/' → 'src/', '@components/' → 'src/components/' TypeScript: Strict mode enabled- Review
Phase 3: External Research (Mandatory)
Goal: Find best practices, documentation, examples, and gotchas
Refer to references/research_methodology.md for detailed guidance, but the core steps are:
Search for Library Documentation
- Go to official documentation for any libraries being used
- Find the SPECIFIC version in package.json
- Document exact URLs to relevant sections
- Note version-specific features or changes
Example output:
Library: @tanstack/react-query Version: 5.28.0 (from package.json) Docs: https://tanstack.com/query/latest/docs/react/overview Key Sections: - Queries: https://tanstack.com/query/latest/docs/react/guides/queries - Mutations: https://tanstack.com/query/latest/docs/react/guides/mutations Gotchas: - Query keys must be arrays - Automatic refetching on window focus - Default staleTime is 0Find Implementation Examples
- Search GitHub for similar implementations
- Look for StackOverflow solutions (recent, highly-voted)
- Find blog posts from reputable sources
- Check official example repositories
Document:
Example: Form validation with React Hook Form + Zod Source: https://github.com/react-hook-form/react-hook-form/tree/master/examples/V7/zodResolver Relevance: Shows exact integration pattern needed Key Takeaway: Use zodResolver from @hookform/resolversResearch Best Practices
- Search for "[technology] best practices [current year]"
- Look for common pitfalls and gotchas
- Research performance considerations
- Check security implications (OWASP guidelines)
Document:
Practice: Input sanitization for user content Why: Prevent XSS attacks How: Use DOMPurify before rendering HTML Reference: https://owasp.org/www-community/attacks/xss/ Warning: NEVER use dangerouslySetInnerHTML without sanitizationPerformance & Security Research
- Bundle size implications of new dependencies
- Runtime performance patterns
- Security vulnerabilities to avoid
- Accessibility considerations
Document specific URLs and recommendations
Phase 4: Ultra-Thinking (Critical)
STOP AND THINK DEEPLY BEFORE WRITING THE PRP
This is the most important phase. Spend significant time analyzing:
Integration Analysis
- How does the new feature connect to existing code?
- What existing patterns should be followed?
- Where might conflicts arise?
- What files will need to be created vs modified?
Implementation Path Planning
- What is the logical order of implementation steps?
- What are the dependencies between steps?
- Where are the potential roadblocks?
- What edge cases need handling?
Validation Strategy
- What can be validated automatically?
- What requires manual testing?
- How can the implementer verify each step?
- What are the success criteria?
Context Completeness Check Ask yourself:
- Could an AI agent implement this without asking questions?
- Are all integration points documented?
- Are all necessary examples included?
- Are gotchas and warnings clearly stated?
- Are validation gates executable?
- Is the implementation path clear and logical?
Quality Assessment
- Is this PRP comprehensive enough for one-pass implementation?
- What could cause the implementation to fail?
- What additional context would be helpful?
- Are all assumptions documented?
Phase 5: Generate the PRP
Use the template from assets/prp_template.md as the base structure, and populate it with:
Metadata Section
- Feature name
- Timeline estimate
- Confidence score (1-10)
- Creation date
Executive Summary
- 2-3 sentences describing the feature
- Core value proposition
Research Findings
- Codebase analysis results (with file:line references)
- External research (with specific URLs and sections)
- Document EVERYTHING discovered in Phase 2 and 3
Technical Specification
- Architecture overview
- Component breakdown
- Data models
- API endpoints (if applicable)
Implementation Blueprint
- Prerequisites
- Step-by-step implementation (with pseudocode)
- File-by-file changes
- Reference patterns from codebase
- Error handling strategy
- Edge cases
Testing Strategy
- Unit test approach
- Integration test approach
- Manual testing checklist
Validation Gates Must be EXECUTABLE commands:
# Type checking npm run type-check # Linting npm run lint # Tests npm run test # Build npm run buildSuccess Criteria
- Clear, measurable completion criteria
- Checklist format
Phase 6: Quality Scoring
Score the PRP on a scale of 1-10 for one-pass implementation success:
Scoring Criteria:
- 9-10: Exceptionally detailed, all context included, clear path, executable gates
- 7-8: Very good, minor gaps, mostly clear implementation path
- 5-6: Adequate, some ambiguity, may require clarification
- 3-4: Incomplete research, missing context, unclear path
- 1-2: Insufficient for implementation
If score is below 7: Go back and improve the PRP before delivering it.
Phase 7: Save and Deliver
Determine Feature Name
- Use kebab-case
- Be descriptive but concise
- Example: "user-authentication", "dark-mode-toggle", "data-export"
Save the PRP
Save to: PRPs/[feature-name].mdIf PRPs directory doesn't exist, create it:
mkdir -p PRPsDeliver Summary to User Provide:
- Brief summary of the feature
- Location of saved PRP
- Confidence score and rationale
- Next steps recommendation
Quality Checklist
Before delivering the PRP, verify:
- Feature requirements fully understood
- Codebase analysis completed with specific file references
- External research completed with URLs and versions
- All similar patterns identified and documented
- Coding conventions documented
- Test patterns identified
- Implementation steps clearly defined
- Validation gates are executable (not pseudo-code)
- Error handling strategy documented
- Edge cases identified
- Success criteria defined
- Confidence score 7+ (if not, improve the PRP)
- No assumptions left undocumented
- Integration points clearly identified
- PRP saved to correct location
Common Pitfalls to Avoid
Vague References
- ❌ "There's a similar component somewhere"
- ✅ "See UserProfile at src/components/UserProfile.tsx:45-67"
Missing Version Information
- ❌ "Use React Query"
- ✅ "Use @tanstack/react-query v5.28.0"
Non-Executable Validation Gates
- ❌ "Run tests and make sure they pass"
- ✅ "npm run test && npm run build"
Generic Best Practices
- ❌ "Follow React best practices"
- ✅ "Use named exports (see src/components/Button.tsx:1)"
Incomplete Research
- ❌ Skipping codebase analysis
- ✅ Thoroughly document existing patterns
Missing Gotchas
- ❌ Assuming smooth implementation
- ✅ Document known issues and edge cases
Example Usage
User Request:
"Create a PRP for adding dark mode support to the application"
Your Response:
- Clarify: "Should dark mode preference persist across sessions? Should it respect system preferences?"
- Research codebase for theme-related code
- Research external resources (dark mode best practices, library options)
- Ultra-think about implementation approach
- Generate comprehensive PRP using template
- Score the PRP
- Save to
PRPs/dark-mode-support.md - Deliver summary with confidence score
Resources
Template
assets/prp_template.md- Base template for all PRPs
References
references/research_methodology.md- Detailed research guidance and best practices
Notes
- Research is mandatory: Never skip codebase or external research
- Be specific: Always include file paths, line numbers, URLs, versions
- Think deeply: Phase 4 (Ultra-Thinking) is critical for success
- Validate everything: All validation gates must be executable
- Score honestly: If confidence is below 7, improve the PRP
- Context is king: The implementer only has what you put in the PRP