Refactor high-complexity React components in Dify frontend. Use when `pnpm analyze-component...
npx skills add ncklrs/startup-os-skills --skill "product-specs-writer"
Install specific skill from multi-skill repository
# Description
Expert product specification and documentation writer. Use when creating PRDs, user stories, acceptance criteria, technical specifications, API documentation, edge case analysis, design handoff docs, feature flag plans, or success metrics. Covers the full spectrum from high-level requirements to implementation-ready specifications.
# SKILL.md
name: product-specs-writer
description: Expert product specification and documentation writer. Use when creating PRDs, user stories, acceptance criteria, technical specifications, API documentation, edge case analysis, design handoff docs, feature flag plans, or success metrics. Covers the full spectrum from high-level requirements to implementation-ready specifications.
Product Specs Writer
Comprehensive product documentation expertise β from strategic PRDs to implementation-ready specifications that engineering teams can actually build from.
Philosophy
Great product specs bridge the gap between vision and execution. They're not bureaucratic documents; they're communication tools that align teams and prevent expensive misunderstandings.
The best product specifications:
1. Start with the why β Context before requirements
2. Are testable β Every requirement has clear acceptance criteria
3. Anticipate questions β Edge cases, errors, and constraints documented upfront
4. Evolve with the product β Living documents, not static artifacts
5. Respect the reader β Engineers, designers, and stakeholders can all understand them
How This Skill Works
When invoked, apply the guidelines in rules/ organized by:
prd-*β Product Requirements Documents, vision, scopestories-*β User stories, personas, jobs-to-be-donecriteria-*β Acceptance criteria, definition of donetechnical-*β Technical specifications, architecture decisionsapi-*β API specifications, contracts, versioningedge-*β Edge cases, error handling, failure modesdesign-*β Design handoff, component specs, interactionsrollout-*β Feature flags, rollout plans, experimentsmetrics-*β Success metrics, KPIs, measurement plansmaintenance-*β Documentation lifecycle, versioning, deprecation
Core Frameworks
Specification Hierarchy
βββββββββββββββββββββββββββββββββββββββββββ
β VISION β β Why are we building this?
β (Problem & Opportunity) β
βββββββββββββββββββββββββββββββββββββββββββ€
β PRD β β What are we building?
β (Requirements & Constraints) β
βββββββββββββββββββββββββββββββββββββββββββ€
β USER STORIES β β Who benefits and how?
β (Personas & Journeys) β
βββββββββββββββββββββββββββββββββββββββββββ€
β ACCEPTANCE CRITERIA β β How do we know it's done?
β (Testable Conditions) β
βββββββββββββββββββββββββββββββββββββββββββ€
β TECHNICAL SPECS β β How do we build it?
β (Architecture & Implementation) β
βββββββββββββββββββββββββββββββββββββββββββ
Document Types by Audience
| Document | Primary Audience | Purpose | Update Frequency |
|---|---|---|---|
| PRD | Leadership, PM, Design | Align on what and why | Per milestone |
| User Stories | Engineering, QA | Define scope and value | Per sprint |
| Acceptance Criteria | QA, Engineering | Define done | Per story |
| Technical Spec | Engineering | Define how | Per feature |
| API Spec | Frontend, External devs | Define contracts | Per version |
| Design Handoff | Engineering | Define UI/UX | Per component |
| Rollout Plan | Engineering, Ops | Define deployment | Per release |
| Success Metrics | Leadership, Data | Define success | Per quarter |
The INVEST Criteria (User Stories)
| Criteria | Question | Example |
|---|---|---|
| Independent | Can it be built alone? | No dependencies on unfinished stories |
| Negotiable | Is scope flexible? | Details can be refined with engineering |
| Valuable | Does user benefit? | Clear value proposition stated |
| Estimable | Can we size it? | Enough detail to estimate effort |
| Small | Fits in a sprint? | Can be completed in 1-5 days |
| Testable | Can we verify it? | Has clear acceptance criteria |
Specification Completeness Checklist
PRD Completeness:
βββ Problem Statement β‘ Clearly defined user pain
βββ Success Metrics β‘ Measurable outcomes defined
βββ User Stories β‘ All personas covered
βββ Scope β‘ In-scope and out-of-scope clear
βββ Constraints β‘ Technical and business limits stated
βββ Dependencies β‘ External dependencies identified
βββ Risks β‘ Known risks and mitigations
βββ Timeline β‘ Milestones and deadlines set
βββ Open Questions β‘ Unknowns explicitly listed
Technical Spec Completeness:
βββ Architecture β‘ System design documented
βββ Data Model β‘ Schema and relationships defined
βββ API Contracts β‘ Endpoints and payloads specified
βββ Edge Cases β‘ Failure modes documented
βββ Security β‘ Auth, encryption, compliance covered
βββ Performance β‘ SLAs and benchmarks defined
βββ Monitoring β‘ Observability strategy clear
βββ Rollback Plan β‘ Recovery procedures documented
Error Handling Taxonomy
| Error Type | Example | Documentation Required |
|---|---|---|
| Validation | Invalid email format | Error message, field highlighting |
| Authorization | User lacks permission | Error state, escalation path |
| Resource | Item not found | Empty state, recovery action |
| System | Database timeout | Retry strategy, user feedback |
| Business Logic | Insufficient balance | Error explanation, next steps |
| External | Third-party API down | Fallback behavior, degraded mode |
Specification Templates
Minimal PRD Structure
# Feature: [Name]
## Problem
What user problem are we solving?
## Solution
High-level approach (1-2 paragraphs)
## Success Metrics
- Primary: [Metric] from X to Y
- Secondary: [Metric] from X to Y
## User Stories
- As a [user], I want [goal] so that [benefit]
## Scope
**In scope:** [List]
**Out of scope:** [List]
## Open Questions
- [ ] Question 1
- [ ] Question 2
User Story Template
**As a** [persona/user type]
**I want** [capability/action]
**So that** [benefit/value]
**Acceptance Criteria:**
- Given [context], when [action], then [result]
- Given [context], when [action], then [result]
**Edge Cases:**
- What if [edge case]? Then [behavior]
**Out of Scope:**
- [Explicit exclusion]
Anti-Patterns
- Spec by committee β Over-collaboration produces vague documents
- Premature optimization β Specifying implementation details too early
- Missing the why β Requirements without context for decisions
- Kitchen sink scope β Trying to solve everything in one release
- One-way documentation β Specs that don't get updated as learnings emerge
- Assumption blindness β Not documenting implicit assumptions
- Designer/Engineer telephone β No direct communication, only docs
- Success theater β Metrics chosen because they're easy, not meaningful
- Spec as contract β Treating specs as unchangeable legal documents
- Documentation debt β Outdated specs worse than no specs
# Supported AI Coding Agents
This skill is compatible with the SKILL.md standard and works with all major AI coding agents:
Learn more about the SKILL.md standard and how to use these skills with your preferred AI coding agent.