| name | spec-writer |
| description | Write and manage technical specifications in specs/ directory. Use when: creating new feature specs, planning refactors, documenting technical decisions, or updating spec status. Enforces proper structure, naming conventions, and pseudo-code style. |
Quick Reference
| Action | Command/Pattern |
|---|---|
| Create spec | specs/YYYYMMDD_HHMMSS_description.md |
| List recent | ls -lt specs/ | head -20 |
| Status values | PLANNING → IN PROGRESS → COMPLETED |
Spec Template
# Feature/Refactor Name
**Date**: YYYY-MM-DD
**Status**: 📋 PLANNING
**Related**: `other_spec.md` (optional)
## Problem Statement
What problem are we solving? Why does this matter?
## Solution
What are we trying to achieve? High-level approach.
## Implementation Plan
1. Step one
2. Step two
3. Step three
## Success Criteria
- [ ] Criterion 1
- [ ] Criterion 2
- [ ] Criterion 3
File Naming
Format: YYYYMMDD_HHMMSS_description.md
Examples:
20251230_143000_worker_autoscaling.md20251228_091500_data_quality_audit.md
Code in Specs
Use high-level pseudo-code, NOT full implementations.
# GOOD: Show structure and intent
class BulkDownloadService:
async def download_files(self, files: List[FileInfo]) -> Result:
# Separate large vs small files
# Use semaphore for concurrency control
# Download with resume capability
# Return success/failure status
# BAD: Full implementation with all imports, error handling, etc.
Guidelines:
- Show class structure and method signatures
- Use comments to explain intent
- Show data flow:
job_a → result → job_b - Avoid: imports, complete error handling, edge cases
Status Values
| Status | Meaning | When to Use |
|---|---|---|
| 📋 PLANNING | Not started | Initial creation |
| 📝 IN PROGRESS | Active work | Implementation started |
| ✅ COMPLETED | Done and tested | All criteria met |
| 📚 REFERENCE | Documentation only | Not an implementation spec |
Workflow
- Create: Write spec with PLANNING status
- Start: Update to IN PROGRESS when work begins
- Complete: Update to COMPLETED when all success criteria met
- Sync: Update related code/docs
Completion Checklist
When marking COMPLETED:
- All success criteria met
- Code follows the spec
- Tests added (if applicable)
- Related docs updated
- Add completion notes (date, deviations, results)