Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Creates PRDs using persistent file-based planning. Use when user explicitly says "PRD", "product requirements document", or "产品需求文档". Combines PRD methodology with planning-with-files to avoid context switching.
.claude/skills/prd-planner/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-01 | ✗→✓ | ▲ Improved | 196% | 0% |
| case-07 | ✗→✓ | ▲ Improved | 156% | 0% |
| case-08 | ✗→✓ | ▲ Improved | 105% | 0% |
| case-09 | ✗→✓ | ▲ Improved | 51% | 0% |
| case-11 | ✗→✓ | ▲ Improved | 152% | 0% |
A PRD creation skill that uses persistent file-based planning to maintain coherent thinking and avoid "left-brain vs right-brain" context switching issues.
This skill activates when you:
If user says "design solution" or "architecture design" without mentioning PRD, use architecting-solutions instead.
> "PRD creation should be traceable, coherent, and persistent - not scattered across context switches."
This skill combines:
To create a single, coherent PRD creation workflow that doesn't lose context.
For every PRD project, create FOUR files:
Pick a SCOPE (short, unique, kebab-case slug) and use it as a prefix for all files.
textdocs/{scope}-prd-notes.md → Store research, requirements, findings, options docs/{scope}-prd-task-plan.md → Track PRD creation phases and progress docs/{scope}-prd.md → Product requirements (what & why) docs/{scope}-tech.md → Technical design (how)
| File | Purpose | Audience | Updated When | |------|---------|----------|--------------| | {scope}-prd-notes.md | Raw research, requirements, architecture options (A/B/C) | Self + reviewers | New information gathered | | {scope}-prd-task-plan.md | Track progress, phases, checkboxes, timestamps | PM + dev lead | Each phase completion | | {scope}-prd.md | Product requirements (what & why), user flows | PM + stakeholders + devs | After requirements are clear | | {scope}-tech.md | Technical design (API, data flow, implementation) | Developers + architects | After architecture is decided |
┌─────────────────────────────────────────────────────────────────┐
│ PRD Creation Workflow │
├─────────────────────────────────────────────────────────────────┤
│ │
│ 1. Initialize → Create 4 files with template │
│ 2. Requirements → Gather to {scope}-prd-notes.md │
│ 2.5 Edge Cases → Scan codebase, infer patterns, ask smartly │
│ 3. Analysis → Research best practices, save to notes │
│ 4. Design → Propose architecture options (A/B/C), save to notes │
│ 5. PRD → Write product requirements to {scope}-prd.md │
│ 6. Tech → Write technical design to {scope}-tech.md │
│ 7. Validate → Review with user, finalize │
│ │
└─────────────────────────────────────────────────────────────────┘
↓
All thinking persisted to files
↓
No context switchingCreate the four files with templates:
markdown# PRD Task Plan: {Feature Name} ## Goal Create a PRD and technical design for {feature description}. ## Owner {User name/role} ## Phases - [x] Phase 1: Initialize files ✓ - [ ] Phase 2: Gather requirements (CURRENT) - [ ] Phase 3: Research & analysis - [ ] Phase 4: Design solution - [ ] Phase 5: Write PRD - [ ] Phase 6: Write technical design - [ ] Phase 7: Validate & finalize ## Status **Currently in Phase 2** - Gathering requirements from user ## Progress Log - {timestamp} - Phase 1 complete: Files initialized
markdown# PRD Notes: {Feature Name} ## Raw Requirements (Add user requirements as they emerge) ## Constraints (Add technical, business, time constraints) ## Inferred Patterns (from codebase) | Edge Case | Source | Pattern Applied | |-----------|--------|-----------------| | (Filled after Step 2.5 codebase scan) | | | ## Edge Cases ### Auto-handled (following codebase patterns) - (Filled after Step 2.5 analysis) ### Confirmed by User - (Filled after user confirms edge case decisions) ### Open Questions - (Track questions to ask user) ## Research Findings (Add research on best practices, similar solutions) ## Architecture Options - Option A: {Description} - Pros: {Advantages} - Cons: {Disadvantages} - Option B: {Description} - Pros: {Advantages} - Cons: {Disadvantages} - Option C: {Description} - Pros: {Advantages} - Cons: {Disadvantages} **Selected**: Option {X}
markdown# PRD: {Feature Name} > Status: DRAFT > Last updated: {timestamp} ## Table of Contents - [Problem Statement](#problem-statement) - [Goals and Non-Goals](#goals-and-non-goals) - [Success Criteria](#success-criteria) - [Scope](#scope) - [Requirements](#requirements) - [User Flows](#user-flows) - [Implementation Plan](#implementation-plan) --- ## Problem Statement _To be filled after requirements gathering_ ## Goals and Non-Goals ### Goals - {Specific achievable outcomes} ### Non-Goals - {Explicit exclusions} ## Success Criteria _To be filled with measurable criteria_ ## Scope ### In Scope - {Specific items included} ### Out of Scope - {Specific items excluded} ... (rest of PRD sections)
markdown# Technical Design: {Feature Name} > Status: DRAFT > Last updated: {timestamp} ## Overview {High-level technical approach} ## Key Components {List major components and their responsibilities} ## API Design {API signatures, request/response formats} ## Data Flow {How data flows through the system} ## Implementation Details {Specific implementation notes} ## Migration Plan {If applicable, how to migrate from existing system}
Ask clarifying questions and save responses to {scope}-prd-notes.md:
Save each answer to {scope}-prd-notes.md under appropriate section.
Always update {scope}-prd-task-plan.md after gathering info:
markdown- [x] Phase 2: Gather requirements ✓ - [ ] Phase 2.5: Edge case analysis (CURRENT) - [ ] Phase 3: Research & analysis
Before asking users about edge cases, scan the codebase first to infer existing patterns. This reduces redundant questions and ensures consistency with the project.
> Detailed reference: See references/edge-case-analysis.md for full scanning commands and output formats.
| Condition | Action | |-----------|--------| | Pattern exists in codebase | Auto-apply, no question needed | | No precedent found | Ask user with options | | Multiple conflicting patterns | Ask user to choose | | Business rule required | Ask user |
Update {scope}-prd-notes.md with:
markdown## Inferred Patterns (from codebase) | Edge Case | Source | Pattern Applied | |-----------|--------|-----------------| | Delete | `src/models/User.ts:45` | Soft delete | ## Edge Cases ### Auto-handled (following codebase patterns) - Empty list → Use existing EmptyState component ### Confirmed by User - Concurrent edit: Last write wins (confirmed {date})
Update task plan:
markdown- [x] Phase 2.5: Edge case analysis ✓ - [ ] Phase 3: Research & analysis (CURRENT)
Research best practices and save to {scope}-prd-notes.md:
bash# Search for similar implementations grep -r "keyword" packages/ --include="*.ts" # Search web for best practices web search "best practices for {feature}"
Save findings to {scope}-prd-notes.md → Research Findings section.
Propose architecture with trade-offs, save to {scope}-prd-notes.md:
markdown## Architecture Options - Option A: {Description} - Pros: {Advantages} - Cons: {Disadvantages} - Option B: {Description} - Pros: {Advantages} - Cons: {Disadvantages} - Option C: {Description} - Pros: {Advantages} - Cons: {Disadvantages} **Selected**: Option {X} - because {reason}
Read {scope}-prd-notes.md and synthesize into polished PRD:
markdown1. Read {scope}-prd-notes.md to understand: - Requirements gathered - Research findings - Architecture decision (which option was selected) 2. Write {scope}-prd.md with: - Clear problem statement - Goals and Non-Goals (explicit exclusions) - Measurable success criteria (specific numbers/timings) - Scope (In Scope / Out of Scope) - Functional requirements - Non-functional requirements - User flows - Implementation plan (high level) 3. Reference tech doc: "See {scope}-tech.md for technical design"
markdown1. Read {scope}-prd-notes.md for selected architecture option 2. Write {scope}-tech.md with: - Overview (technical approach summary) - Key Components (what pieces, responsibilities) - API Design (signatures, contracts) - Data Flow (how data moves through system) - Implementation Details (specific notes) - Migration Plan (if applicable)
Review with user:
| Rule | Bad | Good | |------|-----|------| | Use Files | Keep in memory | Save to {scope}-prd-notes.md | | Update Plan | Move on without update | Update task-plan.md with checkbox | | Read Before Decide | Decide from memory | Read notes first | | Separate Docs | Mix PRD + Tech | PRD for "what", Tech for "how" | | Include Options | Jump to solution | Document 2-3 options with pros/cons |
Update {scope}-prd-task-plan.md after each phase with checkbox ✓ and timestamp.
Mark all phases complete, set status to "✅ COMPLETE", log final deliverables.
After PRD is complete:
{scope}-prd-notes.md for reference (shows decision process){scope}-prd-task-plan.md or delete{scope}-prd.md and {scope}-tech.mdmarkdown# PRD Task Plan: {Feature} ## Goal Create PRD and technical design for {description} ## Phases - [ ] Initialize 4 files - [ ] Gather requirements - [ ] Research & analysis - [ ] Design solution (A/B/C options) - [ ] Write PRD - [ ] Write technical design - [ ] Validate & finalize ## Status Phase 1: Initializing files
| Problem | Solution | |---------|----------| | Context switching | All thinking in files, read anytime | | Lost requirements | Saved to {scope}-prd-notes.md immediately | | Inconsistent PRDs | Same process, same structure | | "Left brain vs right brain" | One coherent workflow | | Re-explaining context | Files contain full context | | Mixed concerns | PRD (product) separate from Tech (implementation) | | Hidden decisions | Architecture options A/B/C documented |
references/edge-case-analysis.mdWhen this skill completes, record or run supported follow-ups:
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-01 | fail→pass | 10,320 | 10,938 | +6% | 1 | 1 | 0% | 1,781 | 5,265 | +196% | 0 | 0 | — |
case-02 | fail→fail | 21,125 | 14,783 | -30% | 1 | 1 | 0% | 3,837 | 5,321 | +39% | 0 | 0 | — |
case-03 | fail→fail | 28,583 | 10,284 | -64% | 1 | 1 | 0% | 4,776 | 4,856 | +2% | 0 | 0 | — |
case-04 | pass→pass | 17,750 | 15,130 | -15% | 1 | 1 | 0% | 3,159 | 5,733 | +81% | 0 | 0 | — |
case-05 | pass→fail | 19,896 | 16,600 | -17% | 1 | 1 | 0% | 3,939 | 5,462 | +39% | 0 | 0 | — |
case-06 | pass→fail | 12,088 | 32,719 | +171% | 1 | 1 | 0% | 2,320 | 8,052 | +247% | 0 | 0 | — |
case-07 | fail→pass | 10,516 | 8,030 | -24% | 1 | 1 | 0% | 1,826 | 4,682 | +156% | 0 | 0 | — |
case-08 | fail→pass | 11,415 | 4,590 | -60% | 1 | 1 | 0% | 1,931 | 3,952 | +105% | 0 | 0 | — |
case-09 | fail→pass | 19,277 | 8,840 | -54% | 1 | 1 | 0% | 3,199 | 4,842 | +51% | 0 | 0 | — |
case-10 | pass→fail | 11,248 | 4,461 | -60% | 1 | 1 | 0% | 1,822 | 3,845 | +111% | 0 | 0 | — |
case-11 | fail→pass | 10,675 | 9,624 | -10% | 1 | 1 | 0% | 1,910 | 4,820 | +152% | 0 | 0 | — |
case-12 | fail→pass | 9,659 | 5,529 | -43% | 1 | 1 | 0% | 1,592 | 4,156 | +161% | 0 | 0 | — |
case-13 | fail→fail | 15,063 | 7,982 | -47% | 1 | 1 | 0% | 2,492 | 4,488 | +80% | 0 | 0 | — |
case-14 | fail→pass | 8,030 | 4,293 | -47% | 1 | 1 | 0% | 1,405 | 3,821 | +172% | 0 | 0 | — |
case-15 | fail→pass | 13,309 | 5,838 | -56% | 1 | 1 | 0% | 2,301 | 4,109 | +79% | 0 | 0 | — |
case-16 | pass→pass | 14,580 | 6,851 | -53% | 1 | 1 | 0% | 2,412 | 4,364 | +81% | 0 | 0 | — |
case-17 | fail→pass | 13,281 | 8,039 | -39% | 1 | 1 | 0% | 2,176 | 4,509 | +107% | 0 | 0 | — |
case-18 | pass→pass | 10,977 | 6,398 | -42% | 1 | 1 | 0% | 1,725 | 4,272 | +148% | 0 | 0 | — |
case-19 | pass→pass | 10,924 | 5,475 | -50% | 1 | 1 | 0% | 2,018 | 4,128 | +105% | 0 | 0 | — |
case-20 | fail→pass | 11,354 | 7,157 | -37% | 1 | 1 | 0% | 1,890 | 4,382 | +132% | 0 | 0 | — |
case-21 | pass→pass | 9,700 | 5,759 | -41% | 1 | 1 | 0% | 1,685 | 4,061 | +141% | 0 | 0 | — |
case-22 | fail→pass | 12,749 | 22,573 | +77% | 1 | 1 | 0% | 2,307 | 7,281 | +216% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 22 cases were attempted. The headline lift of +36 percentage points is the difference between those two pass rates over the 22 comparable cases. 3 cases got worse with the skill loaded, and they are included in that figure.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
| Model | Method | Date | Lift |
|---|---|---|---|
| gemini-3.6-flash | verified | 7/24/2026 | +59% |
Other measured skills in the registry, with their headline benchmark lift.