spec-manager
Manage specification files for spec-driven development. Use when creating, updating, or deleting spec files. Supports feat, fix, docs, refactor, and chore scopes.
When & Why to Use This Skill
The Spec Manager skill is a specialized tool designed to streamline Spec-Driven Development (SDD) by automating the lifecycle of technical specification files. It enforces a standardized workflow for creating, updating, and organizing specs across various scopes like features, bug fixes, and refactoring. By utilizing XML-based templates and a strict 'one spec = one task' principle, it ensures consistency, prevents duplicate work, and maintains a clear, actionable roadmap for AI agents and human developers alike.
Use Cases
- Feature Planning: Automatically generate structured 'feat' specifications with predefined XML tags to define new requirements and desired states before implementation.
- Standardized Bug Fixing: Create 'fix' specs to document the scope of a bug and the intended resolution, ensuring that every patch follows a consistent documentation standard.
- Codebase Refactoring: Manage 'refactor' specifications to plan structural changes, focusing strictly on the final state to avoid confusion with legacy code descriptions.
- Project Documentation Management: Use the 'docs' and 'chore' scopes to systematically maintain project metadata, READMEs, and maintenance tasks within the same spec-driven framework.
- Workflow Auditing: List and review all existing specs organized by scope to identify project progress, detect redundant tasks, and maintain a clean development history.
| name | spec-manager |
|---|---|
| description | Manage specification files for spec-driven development. Use when creating, updating, or deleting spec files. Supports feat, fix, docs, refactor, and chore scopes. |
| allowed-tools | Read, Write, Glob, Grep, Bash, AskUserQuestion |
Spec Manager
Manages specification files in specs/{scope}/{work-name}.md for spec-driven development workflow.
Principles
- One spec = one task (unless frontend + backend work together)
- No "before" sections - Focus only on the final desired state
- XML tag format - Use XML tags for structure (varies by scope)
- Minimal code examples - Avoid code in specs; if necessary, keep it brief and illustrative
- Check for duplicates - Always verify if similar specs exist before creating
Operations
Create
- Analyze request and infer scope (feat/fix/docs/refactor/chore)
- Search
specs/{scope}/for similar existing specs - If found, ask: "Create new", "Update existing", or "Cancel"
- If ambiguous scope, ask user to confirm
- Generate filename (lowercase-with-hyphens)
- Use appropriate template based on scope
- Fill in XML tags based on user request
Update
- List existing specs in relevant scope
- Let user select which to update
- Verify update aligns with original purpose
- If purpose changed significantly, suggest new spec
- Apply changes while maintaining XML structure
Delete
- List all specs organized by scope
- Let user select spec(s) to delete
- Confirm and remove
List
Display all specs organized by scope directory structure.
Templates
See templates directory for scope-specific XML tag structures:
feat→ templates/feat-template.mdfix→ templates/fix-template.mddocs→ templates/docs-template.mdrefactor→ templates/refactor-template.mdchore→ templates/chore-template.md
Each template uses different XML tags appropriate to its scope.