prd
Product Requirements Document (PRD)
Generate comprehensive, production-grade PRDs that bridge the gap between business vision and technical execution.
When to Use This Skill
Trigger when:
- User wants to "write a PRD", "create product requirements", or "document a feature"
- Transitioning from Intake to PRD solidification phase
- User provides initial ideas, demos, or prototypes needing formalization
- User asks to "plan a feature", "define scope", or "clarify requirements"
Produces:
prd/PRD.md- the main Product Requirements Document
Workflow
Decision Point: Discovery or Draft?
Ask clarifying questions FIRST when:
- User provides only vague idea ("build something cool")
- Critical details missing (who, what success looks like)
- Multiple reasonable interpretations possible
Skip to drafting when:
- User provides sufficient detail in initial request
- Clear problem statement + target users + success criteria provided
- User explicitly says "just write it" or provides complete context
Phase 1: Discovery (If Needed)
Gather context through targeted questions. Keep it brief - 3-5 questions max.
Typical Questions:
- Problem: What pain point are we solving?
- Why now: Why important at this time?
- Success: How will we measure success?
- Scope: What's in/out of scope?
- Users: Who are the target users?
Phase 2: Analysis & Synthesis
Synthesize understanding:
- Map key user flows
- Identify core business processes
- Define module boundaries
- List key pages/scenes
- Identify risks and dependencies
Phase 3: PRD Drafting
Generate document using the standard schema below, then:
- Write the completed PRD to
prd/PRD.md(createprd/directory if needed) - Report the file path to the user
- Ask if any section needs adjustment
PRD Schema (Use These Exact Section Names)
1. Background & Goals
Must include:
- Problem statement (what pain point?)
- Why now (why important at this time?)
- Success criteria (3-5 measurable KPIs)
2. User Personas
Must include:
- Primary users identified
- Their characteristics/jobs
- Current workflow pain points
3. Core Business Processes
Must include:
- Primary workflow steps
- Decision points
- Key user interactions
DO NOT include: Detailed state machines, API calls, database schemas
4. Module Boundaries
Must include:
- What modules/components involved
- How modules interact (high-level)
- External dependencies
DO NOT include: Technical implementation details, code structure
5. Pages & Scenes Inventory
Must include:
- List of key pages/scenes
- Entry conditions
- Exit conditions
6. Success Criteria
Must include:
- Quantitative metrics (not vague "fast", "easy")
- How each metric measured
Example:
- BAD: "The system should be fast"
- GOOD: "Search returns within 200ms for 10k records"
7. Scope / Non-Scope
Must include:
- What's built in this phase
- What's NOT built (explicitly)
8. Risks & Dependencies
Must include:
- Technical risks
- External dependencies
- Key assumptions
Quality Standards
Include (Do)
- Business context and motivation
- User roles and workflows
- Clear measurable success metrics
- Explicit scope boundaries
- Known risks and dependencies
Exclude (Don't)
These belong in SPEC, NOT PRD:
- Field types or data structures
- Database table designs
- API response structures
- Internal state machines
- Detailed error codes
- Technical architecture details
- Code-level implementation
Example: What Goes Where
| Content | PRD | SPEC |
|---|---|---|
| Problem statement | ✅ | ✅ |
| User personas | ✅ | ✅ |
| User flows | ✅ | ✅ |
| Success metrics | ✅ | ✅ |
| Module boundaries | ✅ | ✅ |
| Page inventory | ✅ | ❌ |
| API contracts | ❌ | ✅ |
| Database schema | ❌ | ✅ |
| State machines | ❌ | ✅ |
| Technical architecture | ❌ | ✅ |
Expert Insights
"The most important section is the first part - what is the background and context? What is the problem, why does it matter, and why does it matter now?" - Maggie Crowley
"Whenever we're devising a new product, we start by writing a press release describing it in a way that speaks to the customer." - Bill Carr
"We tend to keep them pretty light. I like to have the minimal amount of context that ensures everyone's on the same page." - Eric Simons
"If you're not prototyping and building to see what you want to build, you're doing it wrong." - Aparna Chennapragada
Common Mistakes to Avoid
- Starting with solution - Always lead with problem and context
- No success criteria - Every PRD needs measurable KPIs
- Including technical details - Save API/schema for SPEC phase
- Vague scope - Explicitly state what's NOT included
- Missing "Why Now" - Justify timing, not just what and how
- Over-detailing - Keep PRD lightweight; save depth for SPEC
Completion Criteria
Ensure at completion:
- Background clearly states problem and why now
- User personas identified
- Core business processes documented
- Module boundaries defined (high-level only)
- Pages/scenes inventory complete
- Success criteria are measurable
- Scope/non-scope explicitly listed
- Risks and dependencies documented
- NO technical implementation details
Output Location
Default to prd/PRD.md
Follow user's specified location if provided.
Always write to disk. Do not output the PRD only in the conversation.
More from go-sphere/skills
ent-seed-sql-generator
Generate deterministic INSERT SQL seed data from Go Ent schemas and mixed inputs. This skill is REQUIRED whenever you need to create seed SQL for development or testing - it handles entity inference, relationship integrity, stable IDs, and dialect-specific SQL generation including JSON, arrays, and complex types. Use this skill for any task involving seed data, test fixtures, demo initialization, or database population from Ent schema definitions, even if the user doesn't explicitly mention "seed" or "SQL".
27pure-admin-crud-generator
Generate CRUD pages and router modules for pure-admin-thin from local swagger API definitions. MUST be used whenever you need to scaffold admin list/edit/detail pages, dashboard views, or route configurations from existing API methods in src/api/swagger/Api.ts. This skill replaces manual Vue page creation - use it for any admin panel development task involving API-driven pages.
25proto-api-generator
Design proto3 + HTTP API contracts for go-sphere scaffold projects from prompts, input folders, or requirement docs with mock data. Use when defining service APIs, selecting between entpb/shared/custom messages, and enforcing scaffold conventions, router-safety rules, and service-local error placement. This skill is REQUIRED for any proto API design task in go-sphere scaffold - always use it instead of writing proto files from scratch.
21sphere-feature-workflow
Implement end-to-end feature changes in go-sphere scaffold projects by following sphere-layout conventions and generation workflow. Use when adding or modifying APIs, protobuf contracts, Ent schemas, bind/map registration, service logic, or cross-layer refactors that must stay protocol-first and avoid manual edits to generated files. This skill is REQUIRED for any task involving go-sphere proto files, Ent schemas, service implementations, or generation commands (make gen/proto, make gen/docs, make gen/wire).
19proto-service-generator
Generate or complete Go service implementations from protobuf-generated HTTP interfaces in go-sphere scaffold projects. Use when you need to create `internal/service/<module>/*.go` files, add missing method implementations to existing services, or generate compilable stubs for new proto endpoints. Trigger for: service implementation, proto handler, append-only update, interface assertion, CRUD via Ent, stub method generation.
18ent-schema-generator
Design and generate Go + Ent database schemas for sphere-layout projects from requirements. Use when users describe data models, entity relationships, database tables, or schema changes — including prompts, Markdown docs, existing proto/service files, or demo behavior. Produces implementation-ready schema plans with field definitions, ID strategies, relation designs, indexes, entproto annotations, and bind/render/service integration guidance.
16