
Prd Planner
- 772 installs
- 65 repo stars
- Updated June 21, 2026
- charon-fan/agent-playbook
prd-planner is a Claude Code product skill that creates consistent, well-researched Product Requirements Documents using a persistent 4-file planning pattern for developers who lose context between research, synthesis, a
About
prd-planner is a PRD creation skill in charon-fan/agent-playbook that combines PRD methodology with file-based persistence so agents do not lose context while drafting requirements. Traditional PRD workflows suffer from forgotten research, mode switching, and inconsistent documents; prd-planner addresses this with a 4-file pattern that stores thinking on disk across research, synthesis, and technical decision steps. Developers reach for prd-planner when starting a new feature, aligning stakeholders, or handing a coherent spec to coding agents. The workflow produces a single coherent PRD instead of fragmented chat memory. prd-planner is suited to agent-assisted product work where multiple sessions contribute to the same requirements doc.
- Uses a strict 4-file persistence pattern to eliminate context switching
- Maintains separate files for task plan, research notes, final PRD, and technical design
- Combines requirements gathering, best-practice research, architecture design, and validation in one coherent workflow
- Produces both a customer-facing PRD and a technical design document from the same persisted notes
- Works with any kebab-case scope slug for organized documentation
Prd Planner by the numbers
- 772 all-time installs (skills.sh)
- Ranked #578 of 3,301 Productivity & Planning skills by installs in the Skillselion catalog
- Security screen: CRITICAL risk (skills.sh audit)
- Data as of Jul 28, 2026 (Skillselion catalog sync)
npx skills add https://github.com/charon-fan/agent-playbook --skill prd-plannerAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 772 |
|---|---|
| repo stars | ★ 65 |
| Security audit | 2 / 3 scanners passed |
| Last updated | June 21, 2026 |
| Repository | charon-fan/agent-playbook ↗ |
How do you write a PRD without losing context?
Create consistent, well-researched Product Requirements Documents without losing context between research, synthesis, and technical decisions.
Who is it for?
Developers and tech leads using coding agents who need a durable PRD workflow that preserves research across long or multi-session planning.
Skip if: Teams that only need a one-paragraph feature brief or already maintain PRDs entirely in a dedicated PM tool without agent involvement.
When should I use this skill?
A user wants to create or extend a PRD and prior research or requirements keep getting lost between agent turns.
What you get
Product Requirements Document, 4-file planning artifacts, and captured research plus technical decision log.
- Product Requirements Document
- 4-file planning artifacts
By the numbers
- Implements a 4-file persistence pattern for PRD planning
Files
PRD Planner
A PRD creation skill that uses persistent file-based planning to maintain coherent thinking and avoid "left-brain vs right-brain" context switching issues.
When This Skill Activates
This skill activates when you:
- Explicitly say "PRD", "prd", "create a PRD", or "产品需求文档"
- Say "product requirements document" or "产品需求"
- Mention "write a PRD for..."
- Say "PRD planning" or "PRD 设计"
If user says "design solution" or "architecture design" without mentioning PRD, use `architecting-solutions` instead.
The Core Philosophy
"PRD creation should be traceable, coherent, and persistent - not scattered across context switches."
This skill combines:
- PRD methodology (from architecting-solutions)
- File-based persistence (from planning-with-files)
To create a single, coherent PRD creation workflow that doesn't lose context.
4-File Pattern for PRD Creation
For every PRD project, create FOUR files:
Pick a SCOPE (short, unique, kebab-case slug) and use it as a prefix for all files.
docs/{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 Purposes
| 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 |
Workflow
┌─────────────────────────────────────────────────────────────────┐
│ 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 switchingStep 1: Initialize
Create the four files with templates:
{scope}-prd-task-plan.md
# 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{scope}-prd-notes.md
# 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}{scope}-prd.md
# 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){scope}-tech.md
# 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}Step 2: Gather Requirements
Ask clarifying questions and save responses to {scope}-prd-notes.md:
Core Questions to Ask
1. Problem: What problem are we solving? 2. Users: Who will use this? 3. Success: How do we know it's successful? 4. Constraints: Any technical/time/budget constraints?
Save each answer to {scope}-prd-notes.md under appropriate section.
Always update `{scope}-prd-task-plan.md` after gathering info:
- [x] Phase 2: Gather requirements ✓
- [ ] Phase 2.5: Edge case analysis (CURRENT)
- [ ] Phase 3: Research & analysisStep 2.5: Context-Aware Edge Case 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.Quick Process
1. Scan codebase for existing patterns (delete strategy, error handling, empty states, pagination) 2. Identify requirement type (CRUD, State Workflow, Async, Data Display, Form, File) 3. Generate smart assumptions - patterns found in code don't need user confirmation 4. Ask only when needed - no precedent, multiple patterns, or business decision required
When to Ask Users
| 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 |
Output to Notes File
Update {scope}-prd-notes.md with:
## 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:
- [x] Phase 2.5: Edge case analysis ✓
- [ ] Phase 3: Research & analysis (CURRENT)Step 3: Research & Analysis
Research best practices and save to {scope}-prd-notes.md:
# 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.
Step 4: Design Solution
Propose architecture with trade-offs, save to {scope}-prd-notes.md:
## 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}Step 5: Write PRD
Read {scope}-prd-notes.md and synthesize into polished PRD:
1. 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"Step 6: Write Technical Design
1. 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)Step 7: Validate & Finalize
Review with user: 1. Present PRD summary 2. Ask for feedback 3. Incorporate changes 4. Mark Phase 7 complete
Important Rules
| 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 |
Phase Transitions
Update {scope}-prd-task-plan.md after each phase with checkbox ✓ and timestamp.
Completing a PRD
Mark all phases complete, set status to "✅ COMPLETE", log final deliverables.
File Cleanup (Optional)
After PRD is complete:
- Keep
{scope}-prd-notes.mdfor reference (shows decision process) - Archive
{scope}-prd-task-plan.mdor delete - Final outputs are
{scope}-prd.mdand{scope}-tech.md
Quick Start Template
# 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 filesWhy This Works
| 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
- planning-with-files - File-based planning methodology
- architecting-solutions - Non-PRD solution and architecture design
- Edge case scanning:
references/edge-case-analysis.md
---
Auto-Trigger (Follow-up Metadata)
When this skill completes, record or run supported follow-ups: 1. self-improving-agent (background) - Propose reusable patterns 2. session-logger (auto) - Save session context when supported
PRD Planner
A PRD creation skill that uses persistent file-based planning to maintain coherent thinking and avoid context switching issues.
Overview
PRD Planner combines PRD methodology with file-based persistence (planning-with-files) to create a single, coherent workflow that doesn't lose context during PRD creation.
The Problem
Traditional PRD creation suffers from:
- Context switching - Requirements in memory, then forgotten
- Lost thoughts - Research findings not captured
- "Left brain vs right brain" - Different thinking modes conflict
- Inconsistent output - Each PRD looks different
The Solution
Use a 4-file pattern that persists all thinking. Pick a SCOPE (short, unique, kebab-case slug) and prefix all files:
docs/{scope}-prd-task-plan.md → Progress tracking
docs/{scope}-prd-notes.md → Research & requirements
docs/{scope}-prd.md → Final PRD output
docs/{scope}-tech.md → Technical design outputInstallation
mkdir -p ~/.claude/skills
ln -s ~/Documents/code/GitHub/agent-playbook/skills/prd-planner ~/.claude/skills/prd-plannerUsage
# Simply ask for a PRD
"Create a PRD for user authentication"
# The skill will:
# 1. Create 4 files in docs/
# 2. Gather requirements (saved to notes)
# 3. Research best practices (saved to notes)
# 4. Design architecture (saved to notes)
# 5. Synthesize into PRD (reads from notes)
# 6. Write technical design (reads from notes)
# 7. Validate with youWorkflow
┌─────────────────────────────────────────────────────────────────┐
│ PRD Creation Workflow │
├─────────────────────────────────────────────────────────────────┤
│ │
│ 1. Initialize → Create 4 files with template │
│ 2. Requirements → Gather to {scope}-prd-notes.md │
│ 3. Analysis → Research best practices, save to notes │
│ 4. Design → Propose architecture, save to notes │
│ 5. Synthesize → Read notes, write PRD, update plan │
│ 6. Tech → Write technical design from notes │
│ 7. Validate → Review with user, finalize │
│ │
└─────────────────────────────────────────────────────────────────┘File Structure
docs/
├── {scope}-prd-task-plan.md # Progress tracking with checkboxes
├── {scope}-prd-notes.md # All research and requirements
├── {scope}-prd.md # Final polished PRD
└── {scope}-tech.md # Technical designKey Principles
| Principle | Implementation |
|---|---|
| Filesystem as memory | Store in files, not context |
| Always read before deciding | Read {scope}-prd-notes.md before design decisions |
| Update plan after phases | Checkboxes and timestamps in {scope}-prd-task-plan.md |
| One coherent workflow | Single skill, no context switching |
Activation
This skill activates when user says:
- "Create a PRD..."
- "PRD for..."
- "产品需求文档"
- "Product requirements document"
Different from:
architecting-solutions- For "design solution" or "architecture design"planning-with-files- For general task planning (not PRD-specific)
License
MIT
Edge Case Analysis Reference
This document provides detailed guidance for Step 2.5: Context-Aware Edge Case Analysis.
Codebase Pattern Scanning Commands
Run these searches to understand how the project handles common scenarios:
# Delete strategy (soft delete vs hard delete)
grep -r "softDelete\|isDeleted\|deletedAt\|removed" src/ --include="*.ts" --include="*.tsx"
# Error handling patterns
grep -r "toast\|notification\|alert\|snackbar\|message\." src/ --include="*.tsx"
# Empty state handling
grep -r "empty\|noData\|EmptyState\|placeholder" src/ --include="*.tsx"
# Pagination patterns
grep -r "pageSize\|limit\|offset\|pagination\|perPage" src/ --include="*.ts"
# Loading state patterns
grep -r "loading\|isLoading\|pending\|Skeleton" src/ --include="*.tsx"
# Validation patterns
grep -r "validate\|validator\|yup\|zod\|schema" src/ --include="*.ts"Requirement Type Classification
| Requirement Type | Keywords | Key Edge Cases |
|---|---|---|
| CRUD Operations | create, edit, delete, list | Concurrent edits, cascade delete, validation |
| State Workflow | status, approval, flow | Invalid transitions, rollback, concurrent state |
| Async Operations | submit, load, sync | Timeout, retry, race conditions |
| Data Display | list, report, dashboard | Empty data, pagination, sorting, filtering |
| Form Input | form, input, submit | Validation, required fields, format |
| File Operations | upload, download, export | Size limits, format validation, progress |
Smart Assumptions Output Format
Record inferred patterns in {scope}-prd-notes.md:
## Inferred Patterns (from codebase)
| Edge Case | Source | Pattern Applied |
|-----------|--------|-----------------|
| Delete strategy | `src/models/User.ts:45` uses `deletedAt` | Soft delete |
| Error display | `src/utils/toast.ts` global Toast | Toast notification |
| Empty state | `src/components/EmptyState.tsx` exists | Reuse EmptyState component |
| Pagination | `src/hooks/usePagination.ts:12` default 20 | 20 items per page |
| Loading | `src/components/Skeleton.tsx` exists | Use Skeleton component |When to Ask Users
Only ask about edge cases when:
1. No precedent in codebase - First time the project encounters this scenario 2. Multiple patterns exist - Codebase has inconsistent approaches 3. Business decision required - Technical analysis cannot determine the answer
Question Categories
| Category | Example Question | When to Ask |
|---|---|---|
| Data lifecycle | "Should deleted items be recoverable?" | No existing delete pattern found |
| Conflict resolution | "When two users edit simultaneously, who wins?" | Feature involves concurrent access |
| Failure handling | "If partial data saves, show error or partial success?" | Complex multi-step operation |
| Business rules | "Can users edit after submission?" | State machine not defined |
User Confirmation Format
## Edge Cases Requiring Confirmation
Based on the feature requirements, these edge cases need your input:
### 1. Concurrent Edit Handling
When two users edit the same record simultaneously:
- [ ] A: Last write wins (simpler, may lose data)
- [ ] B: Show conflict dialog (better UX, more complex)
- [ ] C: Lock record during edit (prevents conflicts, may block users)
### 2. Cascade Delete Behavior
When deleting a parent record with children:
- [ ] A: Block deletion, show warning
- [ ] B: Cascade delete all children
- [ ] C: Orphan children (set parent_id to null)
**Note**: Questions not listed above will follow existing codebase patterns.Edge Cases Section in Notes File
## Edge Cases
### Auto-handled (following codebase patterns)
- Empty list → Use existing `EmptyState` component
- Network error → Retry 3 times (from `src/utils/api.ts:23`)
- Form validation → Real-time with inline errors (from `src/hooks/useForm.ts`)
### Confirmed by User
- Concurrent edit: Last write wins (confirmed {date})
- Cascade delete: Block and warn (confirmed {date})
### Open Questions
- (List any remaining questions)Related skills
How it compares
Choose prd-planner over static PRD templates when planning spans multiple agent sessions and file-backed persistence is required.
FAQ
What is the 4-file pattern in prd-planner?
prd-planner uses a 4-file pattern that persists all PRD thinking on disk so research findings, synthesis notes, and technical decisions are not lost between agent sessions. The pattern replaces keeping requirements only in chat memory during PRD creation.
When should developers choose prd-planner over a generic PRD template?
Developers should choose prd-planner when agent-assisted PRD work spans multiple sessions and context switching causes lost research. prd-planner is built for coherent, file-backed PRD output rather than one-shot document generation.
Is Prd Planner safe to install?
skills.sh reports 2 of 3 security scanners passed. Review the Security Audits panel on this page before installing in production.