Spec Generator Skill
Generate a complete specification suite that transforms ideas into actionable implementation plans.
Purpose
This skill helps you create professional, comprehensive specification documents that include:
- Requirements (requirements.md) - User stories with acceptance criteria
- Technical Design (design.md) - Architecture, components, and interactions
- Task Breakdown (tasks.md) - Granular, actionable implementation tasks
Perfect for product teams, developers, and AI coding agents to understand requirements, system architecture, and execution steps.
📋 Phase 1: REQUIREMENTS Generation
Objective
Create clear, testable requirements using user stories and acceptance criteria.
Instructions
Identify the Core User Story
- Write in format: "As a [user], I want to [action], so that [benefit]"
- Focus on user value, not implementation
Define Acceptance Criteria using EARS Format
- Use WHEN/THEN structure for clarity
- Make criteria specific and testable
- Cover both success and failure scenarios
Specify Constraints and Boundaries
- Input requirements and validation rules
- Output expectations
- Performance requirements
- Security considerations
- Error handling requirements
Template Structure
# Requirements: [Feature Name]
## Overview
Brief description of what this feature does and why it matters.
## User Stories
### Story 1: [Title]
**As a** [user type]
**I want** [action]
**So that** [benefit]
### Story 2: [Title]
...
## Acceptance Criteria
### Criterion 1: [Name]
**WHEN** [trigger condition or scenario]
**THE SYSTEM SHALL** [expected behavior]
**GIVEN** [precondition]
**WHEN** [action]
**THEN** [expected outcome]
### Criterion 2: [Name]
...
## Constraints & Requirements
### Functional Requirements
- REQ-001: [Requirement description]
- REQ-002: ...
### Non-Functional Requirements
- Performance: [specific metrics]
- Security: [security requirements]
- Scalability: [scalability needs]
### Input Requirements
- Input format: [specification]
- Validation rules: [rules]
- Data sources: [sources]
### Output Requirements
- Output format: [specification]
- Success conditions: [conditions]
- Failure conditions: [conditions]
## Edge Cases
1. [Edge case 1]
2. [Edge case 2]
...
## Out of Scope
- [What this feature explicitly does NOT include]
🏗️ Phase 2: DESIGN Generation
Objective
Create a technical design that shows HOW the system will work.
Instructions
High-Level Architecture
- Describe the overall system structure
- Identify major components and their roles
- Show data flow and integration points
Component Design
- Break down into logical modules/components
- Define responsibilities for each component
- Specify interfaces and contracts
Interaction Design
- Create sequence diagrams (text format)
- Show component interactions
- Define API contracts and data structures
Technical Decisions
- List key technical choices
- Document trade-offs
- Explain rationale for decisions
Risk Analysis
- Identify potential risks
- Suggest mitigation strategies
Template Structure
# Technical Design: [Feature Name]
## Overview
High-level summary of the technical approach.
## Architecture
### System Architecture
[Describe the overall architecture - layers, boundaries, external dependencies]
[Text-based architecture diagram] ┌─────────────┐ │ Frontend │ ├─────────────┤ │ API Layer │ ├─────────────┤ │ Business │ │ Logic │ ├─────────────┤ │ Data │ │ Layer │ └─────────────┘
### Component Breakdown
#### Component A: [Name]
- **Purpose**: [What it does]
- **Responsibilities**:
- [Responsibility 1]
- [Responsibility 2]
- **Dependencies**: [What it depends on]
- **Interfaces**: [Public APIs/methods]
#### Component B: [Name]
...
## Data Model
### Entities
Entity: [Name] Fields:
- field1: type (description)
- field2: type (description) Relationships:
- relationship description
### Data Flow
1. [Step 1: data enters system]
2. [Step 2: transformation]
3. [Step 3: output]
## Sequence Diagrams
### Primary Flow: [Scenario Name]
User → Frontend: [action] Frontend → API: [request] API → Service: [call] Service → Database: [query] Database → Service: [result] Service → API: [response] API → Frontend: [data] Frontend → User: [display]
### Alternative Flow: [Scenario Name]
...
## API Contracts
### Endpoint 1: [Name]
- **Method**: POST/GET/etc
- **Path**: /api/v1/resource
- **Request Body**:
```json
{
"field1": "type",
"field2": "type"
}
- Response:
{
"status": "success",
"data": {}
}
- Error Codes: 400, 401, 500
Endpoint 2: [Name]
...
Technical Decisions
Decision 1: [Title]
- Context: [Why this decision is needed]
- Options Considered:
- Option A: [pros/cons]
- Option B: [pros/cons]
- Decision: [Chosen option]
- Rationale: [Why this was chosen]
- Trade-offs: [What we're accepting]
Decision 2: [Title]
...
Error Handling Strategy
- [How errors are caught and handled]
- [Logging strategy]
- [User-facing error messages]
Security Considerations
- Authentication: [approach]
- Authorization: [approach]
- Data protection: [approach]
- Input validation: [approach]
Performance Considerations
- Expected load: [metrics]
- Optimization strategy: [approach]
- Caching strategy: [if applicable]
- Database indexing: [if applicable]
Risks & Mitigations
Risk 1: [Title]
- Impact: High/Medium/Low
- Probability: High/Medium/Low
- Mitigation: [Strategy]
Risk 2: [Title]
...
Future Considerations
- [What might change]
- [Extensibility points]
- [Technical debt to consider]
---
## ✅ Phase 3: TASK BREAKDOWN Generation
### Objective
Break down the design into granular, actionable tasks suitable for implementation.
### Instructions
1. **Create Sequential Tasks**
- Order tasks by dependencies
- Each task should be completable independently once dependencies are met
- Aim for tasks that take 2-8 hours
2. **For Each Task Include**:
- Clear description of what needs to be done
- Expected output/deliverable
- Input requirements
- Dependencies on other tasks
- Acceptance criteria for completion
- Complexity/time estimate (optional)
3. **Organize by Categories**:
- Data/Schema tasks
- Backend/API tasks
- Frontend/UI tasks
- Integration tasks
- Testing tasks
- Documentation tasks
4. **Review and Organize Tasks**:
- Ensure tasks are properly sequenced by dependencies
- Verify each task has clear acceptance criteria
- Confirm tasks are appropriately sized (2-8 hours each)
### Template Structure
```markdown
# Task Breakdown: [Feature Name]
## Task Overview
Total estimated tasks: [number]
Estimated total effort: [time/complexity]
## Task Dependencies Graph
Task 1 → Task 3 → Task 5 Task 2 → Task 4 → Task 5
---
## 📦 Phase 1: Foundation Tasks
### Task #1: [Task Title]
**Category**: Data/Schema
**Description**:
[Detailed description of what needs to be done]
**Expected Output**:
- [Deliverable 1: e.g., schema.json file]
- [Deliverable 2: e.g., migration script]
**Input Requirements**:
- [What you need before starting]
**Dependencies**:
- None (or list dependent tasks)
**Acceptance Criteria**:
- [ ] [Criterion 1]
- [ ] [Criterion 2]
- [ ] [Criterion 3]
**Complexity**: Low/Medium/High
**Estimated Time**: [2-4 hours]
**Implementation Notes**:
- [Any specific guidance]
- [Gotchas to watch out for]
---
### Task #2: [Task Title]
...
## 📦 Phase 2: Backend/API Tasks
### Task #3: [Task Title]
...
## 📦 Phase 3: Frontend/UI Tasks
### Task #5: [Task Title]
...
## 📦 Phase 4: Integration Tasks
### Task #7: [Task Title]
...
## 📦 Phase 5: Testing Tasks
### Task #9: [Task Title]
**Category**: Testing
**Description**:
Write unit tests for [component]
**Expected Output**:
- Test file with >80% coverage
- All edge cases covered
**Test Cases**:
1. [Test case 1]
2. [Test case 2]
...
---
## 📦 Phase 6: Documentation & Deployment
### Task #11: [Task Title]
...
---
## Summary
### Critical Path
[List the sequence of tasks that must be completed in order]
### Parallel Work Opportunities
[Tasks that can be done simultaneously]
### Risk Items
[Tasks with high uncertainty or complexity]
### Definition of Done
- [ ] All tasks completed
- [ ] All tests passing
- [ ] Documentation updated
- [ ] Code reviewed
- [ ] Deployed to staging
🚀 Usage Instructions
How to Use This Skill
Provide the Feature Request
- Describe what you want to build
- Include any context, constraints, or requirements
- Mention target users and use cases
Let the Skill Work
- The skill will guide you through all three phases
- Ask clarifying questions if needed
- Iterate on each document
Review and Refine
- Review generated documents
- Request modifications or additions
- Ensure all stakeholders understand
Track Implementation Progress
- Use the generated tasks as a checklist
- Mark tasks as completed as you implement them
- Update task status and notes as needed
Example Invocation
Use spec-builder to generate a full spec for:
"Implement user authentication with 2FA, email verification,
and session expiry handling in our web app."
What You'll Get
After running this skill, you'll have three comprehensive documents:
- requirements.md - Clear user stories and acceptance criteria
- design.md - Technical architecture and component design
- tasks.md - Detailed implementation tasks ready for developers
These documents are optimized for:
- Human developers to understand the system
- AI coding agents (Cursor, Copilot) to implement tasks
- Product teams to validate requirements
- Stakeholders to review scope and approach
💡 Best Practices
When Creating Requirements
- Focus on WHAT, not HOW
- Make acceptance criteria testable
- Include both positive and negative cases
- Consider accessibility and internationalization
When Creating Design
- Start high-level, then drill down
- Document WHY decisions were made
- Consider scalability from the start
- Think about error cases and edge conditions
When Creating Tasks
- Keep tasks small and focused
- Make dependencies explicit
- Include clear acceptance criteria
- Provide enough context for independent work
Quality Checklist
- ✅ Can a developer implement this without asking questions?
- ✅ Can QA create test cases from the requirements?
- ✅ Can an AI agent understand the task breakdown?
- ✅ Are trade-offs and risks documented?
- ✅ Is the scope clear (what's included and excluded)?
📝 Output File Organization
After running this skill, organize output files as:
project-root/
├── .claude/
│ └── specs/
│ └── [feature-name]/
│ ├── requirements.md
│ ├── design.md
│ └── tasks.md
Or place them in a dedicated specs directory:
project-root/
├── docs/
│ └── specs/
│ └── [feature-name]/
│ ├── requirements.md
│ ├── design.md
│ └── tasks.md
� Iteratrion and Updates
This skill can also help you:
- Refine existing specs: Provide an existing spec document and ask to improve it
- Update for changes: When requirements change, update all three documents
- Generate partial specs: Only generate requirements or design if that's what you need
- Compare approaches: Generate multiple design options for evaluation
🎯 Success Metrics
A good spec generated by this skill should:
- Be Complete: Cover all aspects from requirements to implementation
- Be Clear: Anyone can understand without additional context
- Be Actionable: Tasks can be implemented immediately
- Be Testable: Acceptance criteria are specific and measurable
- Be Maintainable: Easy to update as requirements evolve
Example Output Snippets
Requirements Example
## User Story
**As a** registered user
**I want** to enable 2FA for my account
**So that** my account is more secure
## Acceptance Criteria
**WHEN** a user enables 2FA
**THE SYSTEM SHALL** generate a QR code with TOTP secret
**GIVEN** 2FA is enabled
**WHEN** user logs in with correct password
**THEN** system prompts for 6-digit code
**AND** code must be entered within 30 seconds
Design Example
## Component: AuthenticationService
**Purpose**: Handle user authentication flows
**Responsibilities**:
- Verify user credentials
- Manage 2FA enrollment and verification
- Handle session creation and expiry
**Interface**:
- `login(username, password): SessionToken`
- `verify2FA(userId, code): boolean`
- `enrollIn2FA(userId): QRCode`
Task Example
### Task #3: Implement 2FA Enrollment API
**Description**: Create API endpoint for users to enroll in 2FA
**Expected Output**:
- POST /api/v1/auth/2fa/enroll endpoint
- Returns QR code and backup codes
- Stores TOTP secret securely
**Acceptance Criteria**:
- [ ] Endpoint returns 200 with QR code data
- [ ] Secret is encrypted before storage
- [ ] 10 backup codes generated
- [ ] Rate limiting applied (5 requests/hour)
🆘 Troubleshooting
Q: The generated spec is too detailed A: Ask to generate a "lightweight" or "minimal" version
Q: Need more technical depth A: Request "detailed technical design with code examples"
Q: Tasks are too large A: Ask to "break down tasks into smaller sub-tasks of 2-4 hours each"
Q: Need specific format A: Specify your organization's format: "Use our company's standard template"
Version History
- v1.0.0 (2025-12-20): Initial release with three-phase spec generation