Spec Editor
Create and manage specification files that define features for implementation.
Quick Start
Specs live in specs/<name>.md. To create a new spec:
bash
# Check existing specs ls specs/
Then create or edit the spec file following the template below.
Spec Template
Every spec should follow this structure:
markdown
# <Feature Name> ## Overview Brief description of what this feature does and why it's needed. ## Requirements - Requirement 1 - Requirement 2 ## Implementation Details Used libraries, algorithms, data structures, etc. ## Related specs - Bidirectional mention of any related specs
Rules
- •Be Specific: Each requirement should be testable and unambiguous
- •Stay Focused: One spec per feature; split large features into multiple specs
- •Use Existing Patterns: Reference existing code patterns in the codebase
- •Define Boundaries: Clearly state what is in and out of scope
- •Include Examples: Concrete examples clarify intent better than abstract descriptions
Workflows
Creating a New Spec
- •Gather requirements from the user
- •Identify the feature name (use kebab-case for filename)
- •Write the spec following the template
- •Save to
specs/<feature-name>.md - •Review with user for completeness
Updating an Existing Spec
- •Read the current spec
- •Identify what needs to change
- •Make targeted updates
- •Preserve sections that don't need changes
Reviewing a Spec
Check for:
- •Clear, testable requirements
- •Complete implementation details
- •Realistic scope
- •Concrete examples
- •Defined testing approach