Product Spec Writer
Purpose
Help founders, PMs, and product teams produce thorough, well-structured product specification documents — PRDs, feature specs, and user stories — through a guided discovery process. Outputs are always markdown files. The skill also audits existing specs for anti-patterns and gaps.
Output discipline
Deliver only what the user will actually use. Never leak internal scaffolding into the output:
- No reference citations the reader can't see ("§3.2", "per the knowledge base", "KB §1.4").
- No mode or process narration ("Mode: Generate", "I have everything I need", "following the skill's methodology").
- No skill-handoff chatter inside the deliverable.
Apply frameworks silently — name one only when it helps the reader, not to show your work. When context is missing, state your assumption in one line and proceed; don't interrogate.
Modes
| Mode |
Trigger |
Output |
| Write |
"Write a PRD for X", "Spec this out", "I need a feature spec" |
Full spec document (.md) after discovery |
| Audit |
"Review my PRD", "Audit this spec", "What's missing?" |
Anti-pattern report + improvement recommendations |
| Decompose |
"Break this into stories", "Write user stories for X" |
User stories with acceptance criteria (.md) |
Step 1: Diagnose the Request
Determine which mode and document type the user needs:
- PRD → strategic initiative, new product area, major feature set
- Feature Spec → specific capability within a larger initiative
- User Stories → atomic delivery increments from an existing spec
- Audit → user provides an existing document for review
Infer from context; if genuinely missing, state your assumption and proceed.
Step 2: Discovery
Discovery sharpens the spec. Run through these rounds, adapting to what the user has already shared. Infer from context; if genuinely missing, state your assumption and proceed.
Round 1: Problem & Context
Ask about (skip what's already been answered):
- What problem are we solving? Who experiences it, how painful is it, what evidence exists?
- Who are the users/personas? End users, admins, buyers, other stakeholders?
- What's the business context? Why now? What's the strategic driver — churn, expansion, competitive pressure, regulatory, new segment?
- What exists today? Current state, workarounds, competitor approaches?
Round 2: Scope & Constraints
- What's in scope for V1? What must ship vs. what can wait?
- What are explicit non-goals? What will this NOT do?
- What are the constraints? Technical (integrations, APIs, infra), regulatory, timeline, team capacity?
- What are the dependencies? Other teams, systems, external vendors, customer migrations?
Round 3: Success & Risk
- How will we measure success? Primary metrics, leading indicators, baselines?
- What are the guardrail metrics? What must NOT regress (latency, error rates, security, admin burden)?
- What are the known risks and open questions? Technical unknowns, market assumptions, political risks?
- What's the rollout approach? Flag, pilot, GA? Migration needed?
Round 4: Behavioral Detail (for Feature Specs)
- What are the key user flows? Entry points, happy path, major branches?
- What system states matter? Empty, loading, partial, error, success, permission-denied?
- What are the edge cases? Limits, conflicts, timeouts, concurrent access, boundary conditions?
- What are the non-functional requirements? Performance, security, accessibility, audit logging?
Discovery Rules
- Ask 3–5 questions per round. Don't dump all questions at once.
- Summarize what you've learned after each round before moving on.
- If the user says "that's enough" or "just write it", proceed with what you have and note assumptions explicitly in the document.
- For User Stories mode, Rounds 1–2 may be shorter if a parent PRD/spec already exists.
- For Audit mode, skip discovery — go straight to Step 4.
Step 3: Write the Document
After discovery, produce a markdown file. Use the appropriate structure below.
PRD Structure
# PRD: [Initiative Name]
## Overview
Elevator pitch: one paragraph combining the problem, who it affects, and the proposed value.
## Background & Context
Market context, customer segments, existing behavior, research, competitive landscape.
## Problem Statement
Who is affected, what frictions they experience, evidence, why solving this matters now.
## Goals & Success Metrics
| Metric | Baseline | Target | Timeframe |
|--------|----------|--------|-----------|
| ... | ... | ... | ... |
### Guardrail Metrics
Metrics that must not regress.
## Personas & Use Cases
### Persona 1: [Role]
- Context, goals, pain points
- Key use cases / scenarios
## Scope
### In Scope (V1)
- ...
### Non-Goals
- ...
## Requirements Overview
### Functional Requirements
- FR1: ...
- FR2: ...
### Non-Functional Requirements
- NFR1: ...
- NFR2: ...
## Constraints & Dependencies
| Constraint/Dependency | Type | Impact | Owner |
|----------------------|------|--------|-------|
| ... | ... | ... | ... |
## Risks & Open Questions
| Risk/Question | Severity | Mitigation/Owner | Status |
|--------------|----------|-------------------|--------|
| ... | ... | ... | ... |
## Rollout Plan
Phasing, migration, feature flags, measurement plan post-launch.
## Appendix
Supporting research, data, competitive screenshots, prior art.
Feature Spec Structure
# Feature Spec: [Feature Name]
**Parent PRD:** [Link or reference]
**Status:** Draft | In Review | Approved
**Author:** | **Reviewers:**
## Purpose
What this feature does and which user problem it solves. Link to parent PRD.
## User Flows
### Flow 1: [Primary Flow Name]
Step-by-step walkthrough with entry points, decision points, and outcomes.
### Flow 2: [Secondary/Alternate Flow]
...
## System States & Behaviors
| State | Trigger | UI Behavior | System Behavior |
|-------|---------|-------------|-----------------|
| Empty | No data exists | ... | ... |
| Loading | Request in flight | ... | ... |
| Success | Operation complete | ... | ... |
| Error | Request fails | ... | ... |
| Permission Denied | User lacks access | ... | ... |
## Functional Requirements
- **FR1:** [Requirement] — [Rationale]
- **FR2:** ...
## Non-Functional Requirements
- **Performance:** ...
- **Security:** ...
- **Accessibility:** ...
- **Observability:** ...
## Edge Cases & Constraints
| Edge Case | Expected Behavior | Notes |
|-----------|-------------------|-------|
| ... | ... | ... |
## Acceptance Criteria
- [ ] Given [context], when [action], then [outcome]
- [ ] ...
## Data & Permissions
Data model notes, permission matrix, billing implications, audit logging.
## Open Questions
| Question | Owner | Due | Resolution |
|----------|-------|-----|------------|
| ... | ... | ... | ... |
User Stories Structure
# User Stories: [Feature/Initiative Name]
**Parent Spec:** [Link or reference]
## Story 1: [Short Title]
**As a** [role], **I want** [capability], **so that** [value].
**Acceptance Criteria:**
- [ ] Given [context], when [action], then [outcome]
- [ ] Given [edge case], when [action], then [outcome]
**Notes:** Implementation hints, design references, dependencies.
---
## Story 2: [Short Title]
...
Apply INVEST (Independent, Negotiable, Valuable, Estimable, Small, Testable) to every story. If a story violates INVEST, split it using these patterns:
- By workflow step
- By happy path vs. edge cases
- By CRUD operation
- By persona/role
- By integration surface (UI vs. API vs. background job)
- By rollout phase
Writing Rules
- Be specific and quantified. Replace "fast" with "< 2 seconds p95". Replace "large" with a number.
- Every requirement should be testable. If you can't write an acceptance criterion for it, rewrite it.
- Note assumptions explicitly when discovery was incomplete.
- Include section references back to parent documents (PRD → feature spec → stories).
Step 4: Audit Mode
When the user provides an existing spec for review, evaluate against these anti-pattern checklists.
PRD Anti-Patterns
Feature Spec Anti-Patterns
User Story Anti-Patterns
Output a structured audit report with severity ratings (Critical / Major / Minor) and specific rewrite suggestions.
Handoff Rules
- Metrics design → hand off to
data-analysis skill for metric hierarchies, funnel design, or dashboard specs
- Messaging sections (value props, positioning in PRD overview) → hand off to
copywriter-skill or product-position
- Technical architecture mentioned in constraints → hand off to
software-architect
- Pricing/packaging implications → hand off to
pricing skill
- UI/UX flows need detailed design → hand off to
ux-design or ui-design
When handing off, tell the user which skill to invoke and what context to carry over.
Reference Knowledge Base
For deep background on spec writing methodology, anti-patterns, depth calibration frameworks, and cross-functional alignment principles, read:
→ references/spec-writing-guide.md
Consult this reference when:
- You need to explain WHY a certain section matters to the user
- The user asks about spec writing best practices or theory
- You're running an audit and need to justify a recommendation
- The user asks about depth calibration (how much spec is enough)
1---2name: product-spec3description: Use when the user needs to scope, write, or audit a product spec — a PRD, feature spec, user stories, acceptance criteria, or a "spec this out"/"break this into stories"/"definition of done" request — or wants an existing spec reviewed for gaps and anti-patterns. Triggers whenever a feature idea needs to become structured requirements that align a team on what to build. For the analytics behind success metrics, use data-analysis; for the technical design, use software-architect.4---56# Product Spec Writer78## Purpose910Help founders, PMs, and product teams produce thorough, well-structured product specification documents — PRDs, feature specs, and user stories — through a guided discovery process. Outputs are always markdown files. The skill also audits existing specs for anti-patterns and gaps.1112## Output discipline1314Deliver only what the user will actually use. Never leak internal scaffolding into the output:15- No reference citations the reader can't see ("§3.2", "per the knowledge base", "KB §1.4").16- No mode or process narration ("Mode: Generate", "I have everything I need", "following the skill's methodology").17- No skill-handoff chatter inside the deliverable.1819Apply frameworks silently — name one only when it helps the reader, not to show your work. When context is missing, state your assumption in one line and proceed; don't interrogate.2021## Modes2223| Mode | Trigger | Output |24|------|---------|--------|25| **Write** | "Write a PRD for X", "Spec this out", "I need a feature spec" | Full spec document (.md) after discovery |26| **Audit** | "Review my PRD", "Audit this spec", "What's missing?" | Anti-pattern report + improvement recommendations |27| **Decompose** | "Break this into stories", "Write user stories for X" | User stories with acceptance criteria (.md) |2829---3031## Step 1: Diagnose the Request3233Determine which mode and document type the user needs:3435- **PRD** → strategic initiative, new product area, major feature set36- **Feature Spec** → specific capability within a larger initiative37- **User Stories** → atomic delivery increments from an existing spec38- **Audit** → user provides an existing document for review3940Infer from context; if genuinely missing, state your assumption and proceed.4142---4344## Step 2: Discovery4546Discovery sharpens the spec. Run through these rounds, adapting to what the user has already shared. Infer from context; if genuinely missing, state your assumption and proceed.4748### Round 1: Problem & Context4950Ask about (skip what's already been answered):51521. **What problem are we solving?** Who experiences it, how painful is it, what evidence exists?532. **Who are the users/personas?** End users, admins, buyers, other stakeholders?543. **What's the business context?** Why now? What's the strategic driver — churn, expansion, competitive pressure, regulatory, new segment?554. **What exists today?** Current state, workarounds, competitor approaches?5657### Round 2: Scope & Constraints58595. **What's in scope for V1?** What must ship vs. what can wait?606. **What are explicit non-goals?** What will this NOT do?617. **What are the constraints?** Technical (integrations, APIs, infra), regulatory, timeline, team capacity?628. **What are the dependencies?** Other teams, systems, external vendors, customer migrations?6364### Round 3: Success & Risk65669. **How will we measure success?** Primary metrics, leading indicators, baselines?6710. **What are the guardrail metrics?** What must NOT regress (latency, error rates, security, admin burden)?6811. **What are the known risks and open questions?** Technical unknowns, market assumptions, political risks?6912. **What's the rollout approach?** Flag, pilot, GA? Migration needed?7071### Round 4: Behavioral Detail (for Feature Specs)727313. **What are the key user flows?** Entry points, happy path, major branches?7414. **What system states matter?** Empty, loading, partial, error, success, permission-denied?7515. **What are the edge cases?** Limits, conflicts, timeouts, concurrent access, boundary conditions?7616. **What are the non-functional requirements?** Performance, security, accessibility, audit logging?7778### Discovery Rules7980- Ask 3–5 questions per round. Don't dump all questions at once.81- Summarize what you've learned after each round before moving on.82- If the user says "that's enough" or "just write it", proceed with what you have and note assumptions explicitly in the document.83- For **User Stories** mode, Rounds 1–2 may be shorter if a parent PRD/spec already exists.84- For **Audit** mode, skip discovery — go straight to Step 4.8586---8788## Step 3: Write the Document8990After discovery, produce a markdown file. Use the appropriate structure below.9192### PRD Structure9394```markdown95# PRD: [Initiative Name]9697## Overview98Elevator pitch: one paragraph combining the problem, who it affects, and the proposed value.99100## Background & Context101Market context, customer segments, existing behavior, research, competitive landscape.102103## Problem Statement104Who is affected, what frictions they experience, evidence, why solving this matters now.105106## Goals & Success Metrics107| Metric | Baseline | Target | Timeframe |108|--------|----------|--------|-----------|109| ... | ... | ... | ... |110111### Guardrail Metrics112Metrics that must not regress.113114## Personas & Use Cases115### Persona 1: [Role]116- Context, goals, pain points117- Key use cases / scenarios118119## Scope120### In Scope (V1)121- ...122123### Non-Goals124- ...125126## Requirements Overview127### Functional Requirements128- FR1: ...129- FR2: ...130131### Non-Functional Requirements132- NFR1: ...133- NFR2: ...134135## Constraints & Dependencies136| Constraint/Dependency | Type | Impact | Owner |137|----------------------|------|--------|-------|138| ... | ... | ... | ... |139140## Risks & Open Questions141| Risk/Question | Severity | Mitigation/Owner | Status |142|--------------|----------|-------------------|--------|143| ... | ... | ... | ... |144145## Rollout Plan146Phasing, migration, feature flags, measurement plan post-launch.147148## Appendix149Supporting research, data, competitive screenshots, prior art.150```151152### Feature Spec Structure153154```markdown155# Feature Spec: [Feature Name]156157**Parent PRD:** [Link or reference]158**Status:** Draft | In Review | Approved159**Author:** | **Reviewers:**160161## Purpose162What this feature does and which user problem it solves. Link to parent PRD.163164## User Flows165### Flow 1: [Primary Flow Name]166Step-by-step walkthrough with entry points, decision points, and outcomes.167168### Flow 2: [Secondary/Alternate Flow]169...170171## System States & Behaviors172| State | Trigger | UI Behavior | System Behavior |173|-------|---------|-------------|-----------------|174| Empty | No data exists | ... | ... |175| Loading | Request in flight | ... | ... |176| Success | Operation complete | ... | ... |177| Error | Request fails | ... | ... |178| Permission Denied | User lacks access | ... | ... |179180## Functional Requirements181- **FR1:** [Requirement] — [Rationale]182- **FR2:** ...183184## Non-Functional Requirements185- **Performance:** ...186- **Security:** ...187- **Accessibility:** ...188- **Observability:** ...189190## Edge Cases & Constraints191| Edge Case | Expected Behavior | Notes |192|-----------|-------------------|-------|193| ... | ... | ... |194195## Acceptance Criteria196- [ ] Given [context], when [action], then [outcome]197- [ ] ...198199## Data & Permissions200Data model notes, permission matrix, billing implications, audit logging.201202## Open Questions203| Question | Owner | Due | Resolution |204|----------|-------|-----|------------|205| ... | ... | ... | ... |206```207208### User Stories Structure209210```markdown211# User Stories: [Feature/Initiative Name]212213**Parent Spec:** [Link or reference]214215## Story 1: [Short Title]216**As a** [role], **I want** [capability], **so that** [value].217218**Acceptance Criteria:**219- [ ] Given [context], when [action], then [outcome]220- [ ] Given [edge case], when [action], then [outcome]221222**Notes:** Implementation hints, design references, dependencies.223224---225226## Story 2: [Short Title]227...228```229230Apply **INVEST** (Independent, Negotiable, Valuable, Estimable, Small, Testable) to every story. If a story violates INVEST, split it using these patterns:231- By workflow step232- By happy path vs. edge cases233- By CRUD operation234- By persona/role235- By integration surface (UI vs. API vs. background job)236- By rollout phase237238### Writing Rules239240- Be specific and quantified. Replace "fast" with "< 2 seconds p95". Replace "large" with a number.241- Every requirement should be testable. If you can't write an acceptance criterion for it, rewrite it.242- Note assumptions explicitly when discovery was incomplete.243- Include section references back to parent documents (PRD → feature spec → stories).244245---246247## Step 4: Audit Mode248249When the user provides an existing spec for review, evaluate against these anti-pattern checklists.250251### PRD Anti-Patterns252- [ ] **Solution-prescribing:** Jumps to implementation without articulating the problem or alternatives253- [ ] **Vague goals:** Objectives like "improve UX" without metrics or baselines254- [ ] **Missing non-goals:** No scope boundaries, inviting creep255- [ ] **No evidence:** Problem statement based on opinions, not data or research256- [ ] **No strategy linkage:** Can't trace back to product/company goals257- [ ] **Missing personas:** Requirements without clear "for whom"258- [ ] **No success metrics:** No way to know if the initiative worked259- [ ] **Missing constraints:** No mention of technical, regulatory, or timeline limits260261### Feature Spec Anti-Patterns262- [ ] **Happy path only:** No error states, edge cases, or limits defined263- [ ] **Imprecise language:** "fast", "large", "usually", "most" without quantification264- [ ] **Mixed responsibilities:** Bundles unrelated behaviors that can't ship independently265- [ ] **Over-designed UI:** Prescribes pixels instead of behaviors and states266- [ ] **No acceptance criteria:** No testable conditions for completion267- [ ] **Missing non-functionals:** No performance, security, or accessibility expectations268- [ ] **No permission model:** Feature ignores roles, tenancy, or access control269270### User Story Anti-Patterns271- [ ] **Task disguised as story:** "Refactor billing module" — no user, no value272- [ ] **Epic masquerading as story:** Multi-week effort that violates INVEST273- [ ] **No acceptance criteria:** Behavior must be inferred from title274- [ ] **No parent link:** Can't trace back to a spec or PRD275- [ ] **Missing edge cases in AC:** Only tests the happy path276277Output a structured audit report with severity ratings (Critical / Major / Minor) and specific rewrite suggestions.278279---280281## Handoff Rules282283- **Metrics design** → hand off to `data-analysis` skill for metric hierarchies, funnel design, or dashboard specs284- **Messaging sections** (value props, positioning in PRD overview) → hand off to `copywriter-skill` or `product-position`285- **Technical architecture** mentioned in constraints → hand off to `software-architect`286- **Pricing/packaging** implications → hand off to `pricing` skill287- **UI/UX flows** need detailed design → hand off to `ux-design` or `ui-design`288289When handing off, tell the user which skill to invoke and what context to carry over.290291---292293## Reference Knowledge Base294295For deep background on spec writing methodology, anti-patterns, depth calibration frameworks, and cross-functional alignment principles, read:296297→ `references/spec-writing-guide.md`298299Consult this reference when:300- You need to explain WHY a certain section matters to the user301- The user asks about spec writing best practices or theory302- You're running an audit and need to justify a recommendation303- The user asks about depth calibration (how much spec is enough)