speckit
Specification-driven development workflow tools for creating, analyzing, and implementing feature specifications with automated planning and validation
Best use case
speckit is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
Specification-driven development workflow tools for creating, analyzing, and implementing feature specifications with automated planning and validation
Teams using speckit should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/speckit/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How speckit Compares
| Feature / Agent | speckit | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
Specification-driven development workflow tools for creating, analyzing, and implementing feature specifications with automated planning and validation
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
SKILL.md Source
# SpecKit - Specification-Driven Development Tools SpecKit provides a comprehensive workflow for specification-driven development, from initial feature description to implementation planning. ## Overview SpecKit follows a structured workflow: 1. **Specify** - Create feature specifications from natural language 2. **Clarify** - Identify and resolve underspecified areas 3. **Plan** - Generate implementation plans and design artifacts 4. **Validate** - Analyze specifications for consistency and quality 5. **Implement** - Execute implementation plans with task tracking ## Available Commands ### Core Workflow | Command | Purpose | Usage | |---------|---------|--------| | `speckit.specify` | Create or update feature specification | `/speckit.specify "feature description"` | | `speckit.clarify` | Identify underspecified areas and ask clarification questions | `/speckit.clarify` | | `speckit.plan` | Generate implementation plans and design artifacts | `/speckit.plan` | | `speckit.implement` | Execute implementation plan with task tracking | `/speckit.implement` | ### Analysis & Validation | Command | Purpose | Usage | |---------|---------|--------| | `speckit.analyze` | Cross-artifact consistency and quality analysis | `/speckit.analyze` | | `speckit.tasks` | Generate actionable, dependency-ordered task list | `/speckit.tasks` | | `speckit.checklist` | Generate custom validation checklist | `/speckit.checklist` | ### Project Setup | Command | Purpose | Usage | |---------|---------|--------| | `speckit.constitution` | Create or update project constitution and principles | `/speckit.constitution` | ## Standard Feature Development ```bash /speckit.specify "Add user authentication system" /speckit.clarify # if needed /speckit.plan /speckit.tasks /speckit.implement ``` ## File Structure ``` specs/ ├── [number]-[feature-name]/ │ ├── spec.md # Main specification │ ├── plan.md # Implementation plan │ ├── tasks.md # Task breakdown │ └── checklists/ │ └── custom.md # Custom validation checklist └── constitution.md # Project constitution ``` ## Best Practices - Write specifications in business language, not technical implementation details - Include clear acceptance criteria and success metrics - Complete the specify → clarify → plan → implement cycle for each feature - Use `speckit.analyze` regularly to maintain quality - Maintain project constitution as the single source of truth for principles ## Complete Reference For exhaustive patterns, examples, and advanced usage see: **[`references/full-reference.md`](references/full-reference.md)**