spec-writer
Spec Writer
Transform vague ideas into precise, implementable specifications that Claude Code can execute without ambiguity.
Purpose
Most AI coding failures happen because specifications are unclear. This skill extracts implicit requirements from conversations and outputs structured specs that eliminate guesswork.
Process
Phase 1: Context Extraction
Entry Check
IF user provided: problem statement + target users + success criteria
→ Proceed to Phase 2
ELSE
→ Gather missing information below (one question at a time)
Information Needed
| Item | Question | Why Required |
|---|---|---|
| Problem | "What problem are you solving?" | Defines scope boundaries |
| Users | "Who will use this?" | Shapes UX requirements |
| Success | "How will you know it works?" | Creates acceptance criteria |
| Constraints | "Any technical/business constraints?" | Prevents wasted effort |
Transition Criteria
All four items gathered + user confirmed → Phase 2
Phase 2: Requirement Analysis
Entry Check
IF Phase 1 complete:
→ Analyze and categorize requirements
ELSE
→ Return to Phase 1
Categorization Framework
FOR each requirement mentioned:
Classify as:
- MUST: Core functionality, non-negotiable
- SHOULD: Important but has workarounds
- COULD: Nice to have, time permitting
- WON'T: Explicitly out of scope (important to document)
Output: Requirements Table
| ID | Requirement | Priority | Rationale |
|---|---|---|---|
| R1 | [requirement] | MUST/SHOULD/COULD | [why this priority] |
Edge Case Discovery
FOR each MUST requirement:
Ask: "What happens when [edge case]?"
Common edge cases to probe:
- Empty/null inputs
- Maximum scale (1000x normal)
- Concurrent access
- Network failure
- Permission denied
- Invalid data format
Phase 3: User Story Generation
Entry Check
IF requirements table complete + edge cases documented:
→ Generate user stories
ELSE
→ Return to Phase 2
Story Format
AS A [user type]
I WANT TO [action]
SO THAT [benefit]
ACCEPTANCE CRITERIA:
- GIVEN [context]
WHEN [action]
THEN [expected result]
EDGE CASES:
- [edge case]: [expected behavior]
TECHNICAL NOTES:
- [implementation hints, if relevant]
Story Generation Rules
FOR each MUST requirement:
→ Generate 1 user story
→ Include 2-4 acceptance criteria
→ Include 1-3 edge cases
FOR each SHOULD requirement:
→ Generate 1 user story (simpler format)
→ Include 1-2 acceptance criteria
Phase 4: Technical Specification
Entry Check
IF user stories generated:
→ Ask: "Ready for technical spec, or need to adjust stories first?"
IF user confirms:
→ Generate technical specification
ELSE
→ Revise stories based on feedback
Technical Spec Structure
## Technical Specification: [Feature Name]
### Overview
[1-2 sentences describing the feature]
### Data Models
[If new data structures needed]
### API Endpoints
[If applicable]
| Method | Path | Request | Response |
|--------|------|---------|----------|
### State Changes
[What changes when this feature runs]
### Dependencies
[External services, libraries, existing code]
### Security Considerations
[Auth, validation, rate limits]
### Testing Strategy
- Unit: [what to unit test]
- Integration: [what to integration test]
- E2E: [critical user flows]
Phase 5: Output Delivery
Output Format Selection
IF user's project has existing spec format:
→ Match that format
ELSE IF user specified format preference:
→ Use requested format
ELSE
→ Use default markdown format below
Default Output Structure
# [Feature Name] Specification
## Summary
[One paragraph overview]
## Requirements
[Requirements table from Phase 2]
## User Stories
[Stories from Phase 3]
## Technical Specification
[Spec from Phase 4]
## Out of Scope
[Explicitly excluded items - prevents scope creep]
## Open Questions
[Unresolved items needing decisions]
Self-Check (Read before every response)
□ Am I gathering context or assuming? → Missing info = ask, never fill in
□ Am I asking one question at a time? → Multiple questions overwhelm users
□ Are requirements testable? → Vague requirements = implementation arguments later
□ Did I include edge cases? → Happy path only = bugs in production
□ Is the spec implementable by Claude Code? → Read it as if you'll code it: any ambiguity?
□ Did I document what's OUT of scope? → Scope creep starts with undefined boundaries
□ Are acceptance criteria specific? → "Works correctly" is not acceptance criteria → "Returns 200 with user object containing id, email" is
Integration with Other Skills
AFTER spec complete:
Suggest: "Spec ready. Next steps:"
- "Use /prd to expand into full PRD"
- "Use architect-planner to design structure"
- "Start coding with this spec as context"
More from vibery-studio/templates
udemy-crawler
Extract Udemy course content to markdown. Use when user asks to scrape/crawl Udemy course pages.
10devops
Deploy and manage cloud infrastructure on Cloudflare (Workers, R2, D1, KV, Pages, Durable Objects, Browser Rendering), Docker containers, and Google Cloud Platform (Compute Engine, GKE, Cloud Run, App Engine, Cloud Storage). Use when deploying serverless functions to the edge, configuring edge computing solutions, managing Docker containers and images, setting up CI/CD pipelines, optimizing cloud infrastructure costs, implementing global caching strategies, working with cloud databases, or building cloud-native applications.
8aesthetic
Create aesthetically beautiful interfaces following proven design principles. Use when building UI/UX, analyzing designs from inspiration sites, generating design images with ai-multimodal, implementing visual hierarchy and color theory, adding micro-interactions, or creating design documentation. Includes workflows for capturing and analyzing inspiration screenshots with chrome-devtools and ai-multimodal, iterative design image generation until aesthetic standards are met, and comprehensive design system guidance covering BEAUTIFUL (aesthetic principles), RIGHT (functionality/accessibility), SATISFYING (micro-interactions), and PEAK (storytelling) stages. Integrates with chrome-devtools, ai-multimodal, media-processing, ui-styling, and web-frameworks skills.
8code-review
Use when receiving code review feedback (especially if unclear or technically questionable), when completing tasks or major features requiring review before proceeding, or before making any completion/success claims. Covers three practices - receiving feedback with technical rigor over performative agreement, requesting reviews via code-reviewer subagent, and verification gates requiring evidence before any status claims. Essential for subagent-driven development, pull requests, and preventing false completion claims.
7frontend-dev-guidelines
Frontend development guidelines for React/TypeScript applications. Modern patterns including Suspense, lazy loading, useSuspenseQuery, file organization with features directory, MUI v7 styling, TanStack Router, performance optimization, and TypeScript best practices. Use when creating components, pages, features, fetching data, styling, routing, or working with frontend code.
7frontend-design
Create distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, artifacts, posters, or applications (examples include websites, landing pages, dashboards, React components, HTML/CSS layouts, or when styling/beautifying any web UI). Generates creative, polished code and UI design that avoids generic AI aesthetics.
7