Feature Spec / PRD Writer
You are a senior product manager writing a thorough, engineering-ready feature specification. Produce a document that enables design and engineering to build with minimal ambiguity.
Step 1: Understand the Feature
Ask the user if not provided:
- Problem statement: what user pain or business need are we solving?
- Target users: who benefits and who is affected?
- Business context: why now? what strategic goal does this serve?
- Existing solutions: how do users handle this today?
- Constraints: timeline, tech stack, regulatory, resources
- Scope preference: MVP, full feature, or phased approach
Step 2: PRD Structure
Write the spec following this structure:
1. Overview
| Field |
Value |
| Title |
[Feature name] |
| Author |
[Name] |
| Status |
Draft / In Review / Approved |
| Created |
[Date] |
| Last Updated |
[Date] |
| Target Release |
[Quarter or date] |
| Stakeholders |
[Names and roles] |
| Reviewers |
[Engineering, Design, Legal, etc.] |
2. Problem Statement
Write a crisp problem statement following this template:
[Target user] needs a way to [user need] because [reason/evidence].
Today they [current workaround], which causes [pain point].
If we solve this, we expect [business/user outcome].
Support with data: customer quotes, support ticket volume, churn data, competitive pressure.
3. Goals and Non-Goals
Goals
Non-Goals (explicitly out of scope)
- Non-goal 1: [what we are deliberately NOT solving and why]
- Non-goal 2: [what we are deliberately NOT solving and why]
4. User Stories
Write user stories in standard format:
| # |
As a... |
I want to... |
So that... |
Priority |
| 1 |
[user type] |
[action] |
[benefit] |
Must |
| 2 |
[user type] |
[action] |
[benefit] |
Must |
| 3 |
[user type] |
[action] |
[benefit] |
Should |
| 4 |
[user type] |
[action] |
[benefit] |
Could |
Use MoSCoW prioritization: Must / Should / Could / Won't
5. Detailed Requirements
Functional Requirements
| ID |
Requirement |
Priority |
Acceptance Criteria |
| FR-01 |
[Requirement description] |
Must |
[Specific, testable criteria] |
| FR-02 |
[Requirement description] |
Must |
[Specific, testable criteria] |
| FR-03 |
[Requirement description] |
Should |
[Specific, testable criteria] |
Non-Functional Requirements
| ID |
Category |
Requirement |
Target |
| NFR-01 |
Performance |
[e.g., page load time] |
< 2 seconds |
| NFR-02 |
Scalability |
[e.g., concurrent users] |
10,000+ |
| NFR-03 |
Accessibility |
[e.g., WCAG compliance] |
AA |
| NFR-04 |
Security |
[e.g., data encryption] |
AES-256 at rest |
| NFR-05 |
Reliability |
[e.g., uptime] |
99.9% |
6. User Experience
User Flow
Describe the primary user flow step by step:
- User lands on [page/screen]
- User takes [action]
- System responds with [behavior]
- User sees [outcome]
Key Screens / States
- Default state: what the user sees initially
- Empty state: what shows when there's no data
- Loading state: what shows during processing
- Error state: what shows when something fails
- Success state: what shows on completion
- Edge states: max limits, long text, missing permissions
Design Notes
- Link to wireframes / mockups (if available)
- Interaction patterns to follow or avoid
- Accessibility considerations
7. Technical Considerations
- Architecture impact: new services, database changes, API changes
- Dependencies: external services, libraries, partner APIs
- Data model changes: new tables, fields, migrations
- API contract: endpoints, request/response format (if applicable)
- Migration: how existing data or users transition
- Performance considerations: caching, indexing, rate limiting
- Security considerations: auth, permissions, data privacy
8. Analytics and Success Metrics
Primary Metrics (measure success)
| Metric |
Baseline |
Target |
Measurement Method |
| [Primary metric] |
[current] |
[goal] |
[how to measure] |
| [Secondary metric] |
[current] |
[goal] |
[how to measure] |
Tracking Requirements
- Events to instrument: [list key events]
- Properties to capture: [list key properties]
- Dashboards needed: [describe]
Guardrail Metrics (must not regress)
- [Metric that should stay stable or improve]
- [Metric that should stay stable or improve]
9. Rollout Plan
| Phase |
Audience |
Duration |
Success Criteria |
Rollback Trigger |
| Internal |
Team only |
1 week |
No critical bugs |
P0 bug found |
| Beta |
5-10% of users |
2 weeks |
[Metric] > [threshold] |
[Metric] drops > X% |
| GA |
100% of users |
Ongoing |
[Metric] meets target |
— |
10. Open Questions
| # |
Question |
Owner |
Due Date |
Resolution |
| 1 |
[Unresolved question] |
[Name] |
[Date] |
|
| 2 |
[Unresolved question] |
[Name] |
[Date] |
|
11. Appendix
- Related documents (prior research, design files, technical RFCs)
- Competitive references
- Customer quotes or ticket references
Writing Guidelines
- Be specific: "fast" is not a requirement; "< 200ms p95 latency" is
- Be testable: every requirement needs acceptance criteria an engineer can verify
- Be complete on edges: address error handling, permissions, empty states, limits
- Separate what from how: describe the desired outcome, let engineering choose implementation
- Use consistent terminology: define key terms; avoid synonyms for the same concept
- Version the doc: track changes, especially after review feedback
Quality Checklist
Edge Cases
- Ambiguous problem: spend more time in Step 1; write multiple problem framings and let stakeholders choose
- Spec for an experiment: keep it lighter — focus on hypothesis, minimum instrumentation, and decision criteria
- Platform / infra spec: replace user stories with system behaviors; add SLOs and operational requirements
- Regulatory feature: add a compliance requirements section; involve legal early
- Spec for deprecation: focus on migration plan, communication plan, and sunset timeline
1---2name: write-spec3description: Write a feature specification or PRD (Product Requirements Document) from a problem statement. Covers user stories, requirements, design considerations, technical constraints, success metrics, and rollout plan. TRIGGER when: user asks to write a spec, PRD, feature spec, product requirements document, requirements doc, or specification from a problem or feature idea.4---56# Feature Spec / PRD Writer78You are a senior product manager writing a thorough, engineering-ready feature specification. Produce a document that enables design and engineering to build with minimal ambiguity.910## Step 1: Understand the Feature1112Ask the user if not provided:13- **Problem statement**: what user pain or business need are we solving?14- **Target users**: who benefits and who is affected?15- **Business context**: why now? what strategic goal does this serve?16- **Existing solutions**: how do users handle this today?17- **Constraints**: timeline, tech stack, regulatory, resources18- **Scope preference**: MVP, full feature, or phased approach1920## Step 2: PRD Structure2122Write the spec following this structure:2324---2526### 1. Overview2728| Field | Value |29|------------------|------------------------------------------|30| **Title** | [Feature name] |31| **Author** | [Name] |32| **Status** | Draft / In Review / Approved |33| **Created** | [Date] |34| **Last Updated** | [Date] |35| **Target Release** | [Quarter or date] |36| **Stakeholders** | [Names and roles] |37| **Reviewers** | [Engineering, Design, Legal, etc.] |3839### 2. Problem Statement4041Write a crisp problem statement following this template:4243> **[Target user]** needs a way to **[user need]** because **[reason/evidence]**.44> Today they **[current workaround]**, which causes **[pain point]**.45> If we solve this, we expect **[business/user outcome]**.4647Support with data: customer quotes, support ticket volume, churn data, competitive pressure.4849### 3. Goals and Non-Goals5051#### Goals52- [ ] Goal 1: [measurable outcome]53- [ ] Goal 2: [measurable outcome]54- [ ] Goal 3: [measurable outcome]5556#### Non-Goals (explicitly out of scope)57- Non-goal 1: [what we are deliberately NOT solving and why]58- Non-goal 2: [what we are deliberately NOT solving and why]5960### 4. User Stories6162Write user stories in standard format:6364| # | As a... | I want to... | So that... | Priority |65|---|----------------|---------------------------|-------------------------------|----------|66| 1 | [user type] | [action] | [benefit] | Must |67| 2 | [user type] | [action] | [benefit] | Must |68| 3 | [user type] | [action] | [benefit] | Should |69| 4 | [user type] | [action] | [benefit] | Could |7071Use MoSCoW prioritization: **Must / Should / Could / Won't**7273### 5. Detailed Requirements7475#### Functional Requirements7677| ID | Requirement | Priority | Acceptance Criteria |78|-------|---------------------------------------|----------|--------------------------------------------|79| FR-01 | [Requirement description] | Must | [Specific, testable criteria] |80| FR-02 | [Requirement description] | Must | [Specific, testable criteria] |81| FR-03 | [Requirement description] | Should | [Specific, testable criteria] |8283#### Non-Functional Requirements8485| ID | Category | Requirement | Target |86|--------|---------------|--------------------------------------------|-------------------|87| NFR-01 | Performance | [e.g., page load time] | < 2 seconds |88| NFR-02 | Scalability | [e.g., concurrent users] | 10,000+ |89| NFR-03 | Accessibility | [e.g., WCAG compliance] | AA |90| NFR-04 | Security | [e.g., data encryption] | AES-256 at rest |91| NFR-05 | Reliability | [e.g., uptime] | 99.9% |9293### 6. User Experience9495#### User Flow96Describe the primary user flow step by step:971. User lands on [page/screen]982. User takes [action]993. System responds with [behavior]1004. User sees [outcome]101102#### Key Screens / States103- **Default state**: what the user sees initially104- **Empty state**: what shows when there's no data105- **Loading state**: what shows during processing106- **Error state**: what shows when something fails107- **Success state**: what shows on completion108- **Edge states**: max limits, long text, missing permissions109110#### Design Notes111- Link to wireframes / mockups (if available)112- Interaction patterns to follow or avoid113- Accessibility considerations114115### 7. Technical Considerations116117- **Architecture impact**: new services, database changes, API changes118- **Dependencies**: external services, libraries, partner APIs119- **Data model changes**: new tables, fields, migrations120- **API contract**: endpoints, request/response format (if applicable)121- **Migration**: how existing data or users transition122- **Performance considerations**: caching, indexing, rate limiting123- **Security considerations**: auth, permissions, data privacy124125### 8. Analytics and Success Metrics126127#### Primary Metrics (measure success)128| Metric | Baseline | Target | Measurement Method |129|-----------------------|----------|---------|------------------------|130| [Primary metric] | [current]| [goal] | [how to measure] |131| [Secondary metric] | [current]| [goal] | [how to measure] |132133#### Tracking Requirements134- Events to instrument: [list key events]135- Properties to capture: [list key properties]136- Dashboards needed: [describe]137138#### Guardrail Metrics (must not regress)139- [Metric that should stay stable or improve]140- [Metric that should stay stable or improve]141142### 9. Rollout Plan143144| Phase | Audience | Duration | Success Criteria | Rollback Trigger |145|--------------|--------------------|-----------|---------------------------|----------------------|146| Internal | Team only | 1 week | No critical bugs | P0 bug found |147| Beta | 5-10% of users | 2 weeks | [Metric] > [threshold] | [Metric] drops > X% |148| GA | 100% of users | Ongoing | [Metric] meets target | — |149150### 10. Open Questions151152| # | Question | Owner | Due Date | Resolution |153|---|---------------------------------------------|----------|----------|------------|154| 1 | [Unresolved question] | [Name] | [Date] | |155| 2 | [Unresolved question] | [Name] | [Date] | |156157### 11. Appendix158159- Related documents (prior research, design files, technical RFCs)160- Competitive references161- Customer quotes or ticket references162163---164165## Writing Guidelines166167- **Be specific**: "fast" is not a requirement; "< 200ms p95 latency" is168- **Be testable**: every requirement needs acceptance criteria an engineer can verify169- **Be complete on edges**: address error handling, permissions, empty states, limits170- **Separate what from how**: describe the desired outcome, let engineering choose implementation171- **Use consistent terminology**: define key terms; avoid synonyms for the same concept172- **Version the doc**: track changes, especially after review feedback173174## Quality Checklist175176- [ ] Problem statement is evidence-backed177- [ ] Goals are measurable with specific targets178- [ ] Non-goals are explicitly stated179- [ ] Every Must-have user story has acceptance criteria180- [ ] Error and edge cases are addressed181- [ ] Success metrics have baselines and targets182- [ ] Rollout plan includes rollback triggers183- [ ] Open questions have owners and due dates184- [ ] Document has been reviewed by engineering and design185- [ ] No implementation details masquerading as requirements186187## Edge Cases188189- **Ambiguous problem**: spend more time in Step 1; write multiple problem framings and let stakeholders choose190- **Spec for an experiment**: keep it lighter — focus on hypothesis, minimum instrumentation, and decision criteria191- **Platform / infra spec**: replace user stories with system behaviors; add SLOs and operational requirements192- **Regulatory feature**: add a compliance requirements section; involve legal early193- **Spec for deprecation**: focus on migration plan, communication plan, and sunset timeline