spec-kit — Spec-Driven Development via specify
GitHub's spec-kit inverts the usual flow:
specifications become executable and directly drive implementation. This
skill is the routing-first wrapper around the upstream specify CLI — it
installs the tool, bootstraps a project for a chosen AI agent, and walks the
five-step SDD command pipeline.
When to use this skill
- The user asks to install
spec-kit, specify-cli, or "GitHub spec kit"
- The user wants to start a project with a Spec-Driven Development workflow
- The user types or asks about
/speckit.constitution, /speckit.specify,
/speckit.plan, /speckit.tasks, /speckit.implement, /speckit.clarify,
/speckit.analyze, or /speckit.checklist
- The user wants to share an executable spec across Claude Code, Copilot,
Gemini, Cursor, Codex, opencode, Qwen, Kiro, or another supported agent
- The user wants to discover community spec-kit extensions or presets
(
specify extension search, specify preset search)
When not to use this skill
- The user wants a vendor-neutral packet-first planning router that
classifies the next BMAD artifact → use
bmad
- The user needs a spec-first control loop with immutable seed and
drift-aware execution independent of GitHub spec-kit → use
ooo
- The user wants visual review/approval of an existing plan or diff →
use
plannotator
- The user wants pre-planning concept framing (problem, audience,
positioning) before any spec exists → use
bmad-idea
Prerequisites
| Requirement |
Notes |
| Linux / macOS / Windows |
Native or WSL on Windows |
| Python 3.11+ |
Required by specify-cli |
uv (recommended) or pipx |
Tool installation manager |
git |
Repo + plugin marketplace operations |
| One supported AI agent |
Claude Code, Copilot, Gemini, Codex, etc. |
Instructions
Step 1 — Install specify-cli
# Recommended: uv tool install (pins via Git ref)
uv tool install specify-cli --from git+https://github.com/github/spec-kit.git
# Pinned to a tag (reproducibility):
uv tool install specify-cli --from git+https://github.com/github/spec-kit.git@v0.0.10
# Alternative: pipx
pipx install git+https://github.com/github/spec-kit.git
# Verify
specify --version
specify integration list
Step 2 — Pick the target AI agent
specify integration list prints all supported agents. Common options:
| Agent |
--integration value |
| Claude Code |
claude |
| GitHub Copilot |
copilot |
| Google Gemini CLI |
gemini |
| OpenAI Codex CLI |
codex |
| Cursor CLI |
cursor |
| opencode |
opencode |
| Qwen CLI |
qwen |
| Kiro CLI |
kiro |
Step 3 — Initialize the project
# Create a new project directory and bootstrap it
specify init my-project --integration claude
# Bootstrap in the current directory
specify init . --integration copilot
# Force-overwrite into the current directory
specify init --here --force --integration gemini
This writes .specify/, agent-specific command files, and the constitution
template.
Step 4 — Drive the SDD command pipeline
Run these slash commands inside the chosen agent (Claude Code, Copilot,
Gemini, etc.). The agent reads files written by specify init.
| Command |
Purpose |
/speckit.constitution |
Establish project principles, non-negotiables |
/speckit.specify |
Capture requirements and user stories |
/speckit.plan |
Produce the technical implementation strategy |
/speckit.tasks |
Break the plan into actionable tasks |
/speckit.implement |
Execute the plan task by task |
Optional refinements:
/speckit.clarify — interview to resolve ambiguity in the spec
/speckit.analyze — review consistency between constitution, spec, plan
/speckit.checklist — generate quality checklists for review gates
Step 5 — Extensions and presets (community)
specify extension search
specify extension add <extension-name>
specify preset search
specify preset add <preset-name>
Browse community resources at https://github.github.io/spec-kit/community/.
Step 6 — Plugin-style installation alongside jeo-skills
This skill folder is plugin-installable through the standard jeo-skills
flow so the wrapper, references, and installer script land on disk for any
supported agent runtime:
# Project install (writes into .agents/skills/spec-kit/)
npx skills add https://github.com/akillness/jeo-skills --skill spec-kit
# Global install for every detected agent
npx skills add -g https://github.com/akillness/jeo-skills --skill spec-kit
# Target specific agents
npx skills add -g https://github.com/akillness/jeo-skills --skill spec-kit -a claude-code -a codex -y
The skill also ships scripts/install.sh as a
one-shot installer that detects uv / pipx and runs Step 1.
Output format
When the user asks spec-kit for help, return a compact brief:
# spec-kit Routing Brief
## Scope
- Target agent: claude | copilot | gemini | codex | cursor | opencode | ...
- Project state: new | existing-init | mid-pipeline | extension-only
- Pipeline stage: constitution | specify | plan | tasks | implement | clarify | analyze | checklist
## Recommended next move
- install-specify | specify-init | run-/speckit.<command> | add-extension
## Why
- 2-3 bullets grounded in the user's packet
## Route-outs
- `ooo` for vendor-neutral spec-first loops
- `bmad` for packet-first BMAD/BMM artifact selection
- `plannotator` for approval/review of an existing plan
Best practices
- Pin a Git ref (
@v0.0.10 or a commit SHA) when reproducibility is
important — main moves.
- One integration per repo unless the user explicitly wants multi-agent
parity; switching
--integration rewrites command files.
- Treat
/speckit.constitution as load-bearing — downstream
/speckit.plan and /speckit.tasks honor it, so update it first when
principles drift.
- Use
/speckit.clarify before /speckit.plan when the spec is
ambiguous instead of letting the plan paper over open questions.
- Hand off the artifact to
plannotator for explicit review before
/speckit.implement on level 2+ work.
- Route to
ooo when the user actually wants a vendor-neutral
spec-first loop with drift tracking instead of GitHub's pipeline.
References
1---2name: spec-kit3description: Run GitHub's Spec-Driven Development (SDD) workflow via the `specify` CLI — install spec-kit, initialize a project for one of 30+ AI coding agents (Claude Code, Copilot, Gemini, Cursor, Codex, Qwen, opencode, Kiro, etc.), and drive the constitution → specify → plan → tasks → implement command pipeline. Use when the user wants to bootstrap a Spec-Driven Development project, install `specify-cli`, generate executable specs before code, or invoke the `/speckit.*` slash commands (`/speckit.constitution`, `/speckit.specify`, `/speckit.plan`, `/speckit.tasks`, `/speckit.implement`, `/speckit.clarify`, `/speckit.analyze`, `/speckit.checklist`). Triggers on: spec-kit, speckit, specify, specify init, spec-driven, spec driven development, SDD, /speckit, executable spec.4---56# spec-kit — Spec-Driven Development via `specify`78GitHub's [spec-kit](https://github.com/github/spec-kit) inverts the usual flow:9**specifications become executable** and directly drive implementation. This10skill is the routing-first wrapper around the upstream `specify` CLI — it11installs the tool, bootstraps a project for a chosen AI agent, and walks the12five-step SDD command pipeline.1314## When to use this skill1516- The user asks to install `spec-kit`, `specify-cli`, or "GitHub spec kit"17- The user wants to start a project with a Spec-Driven Development workflow18- The user types or asks about `/speckit.constitution`, `/speckit.specify`,19 `/speckit.plan`, `/speckit.tasks`, `/speckit.implement`, `/speckit.clarify`,20 `/speckit.analyze`, or `/speckit.checklist`21- The user wants to share an executable spec across Claude Code, Copilot,22 Gemini, Cursor, Codex, opencode, Qwen, Kiro, or another supported agent23- The user wants to discover community spec-kit extensions or presets24 (`specify extension search`, `specify preset search`)2526## When not to use this skill2728- The user wants a **vendor-neutral packet-first planning router** that29 classifies the next BMAD artifact → use `bmad`30- The user needs a **spec-first control loop with immutable seed and31 drift-aware execution** independent of GitHub spec-kit → use `ooo`32- The user wants **visual review/approval of an existing plan or diff** →33 use `plannotator`34- The user wants **pre-planning concept framing** (problem, audience,35 positioning) before any spec exists → use `bmad-idea`3637## Prerequisites3839| Requirement | Notes |40|-------------|-------|41| Linux / macOS / Windows | Native or WSL on Windows |42| Python 3.11+ | Required by `specify-cli` |43| `uv` (recommended) or `pipx` | Tool installation manager |44| `git` | Repo + plugin marketplace operations |45| One supported AI agent | Claude Code, Copilot, Gemini, Codex, etc. |4647## Instructions4849### Step 1 — Install `specify-cli`5051```bash52# Recommended: uv tool install (pins via Git ref)53uv tool install specify-cli --from git+https://github.com/github/spec-kit.git5455# Pinned to a tag (reproducibility):56uv tool install specify-cli --from git+https://github.com/github/spec-kit.git@v0.0.105758# Alternative: pipx59pipx install git+https://github.com/github/spec-kit.git6061# Verify62specify --version63specify integration list64```6566### Step 2 — Pick the target AI agent6768`specify integration list` prints all supported agents. Common options:6970| Agent | `--integration` value |71|-------|------------------------|72| Claude Code | `claude` |73| GitHub Copilot | `copilot` |74| Google Gemini CLI | `gemini` |75| OpenAI Codex CLI | `codex` |76| Cursor CLI | `cursor` |77| opencode | `opencode` |78| Qwen CLI | `qwen` |79| Kiro CLI | `kiro` |8081### Step 3 — Initialize the project8283```bash84# Create a new project directory and bootstrap it85specify init my-project --integration claude8687# Bootstrap in the current directory88specify init . --integration copilot8990# Force-overwrite into the current directory91specify init --here --force --integration gemini92```9394This writes `.specify/`, agent-specific command files, and the constitution95template.9697### Step 4 — Drive the SDD command pipeline9899Run these slash commands **inside the chosen agent** (Claude Code, Copilot,100Gemini, etc.). The agent reads files written by `specify init`.101102| Command | Purpose |103|---------|---------|104| `/speckit.constitution` | Establish project principles, non-negotiables |105| `/speckit.specify` | Capture requirements and user stories |106| `/speckit.plan` | Produce the technical implementation strategy |107| `/speckit.tasks` | Break the plan into actionable tasks |108| `/speckit.implement` | Execute the plan task by task |109110Optional refinements:111112- `/speckit.clarify` — interview to resolve ambiguity in the spec113- `/speckit.analyze` — review consistency between constitution, spec, plan114- `/speckit.checklist` — generate quality checklists for review gates115116### Step 5 — Extensions and presets (community)117118```bash119specify extension search120specify extension add <extension-name>121122specify preset search123specify preset add <preset-name>124```125126Browse community resources at <https://github.github.io/spec-kit/community/>.127128### Step 6 — Plugin-style installation alongside jeo-skills129130This skill folder is plugin-installable through the standard jeo-skills131flow so the wrapper, references, and installer script land on disk for any132supported agent runtime:133134```bash135# Project install (writes into .agents/skills/spec-kit/)136npx skills add https://github.com/akillness/jeo-skills --skill spec-kit137138# Global install for every detected agent139npx skills add -g https://github.com/akillness/jeo-skills --skill spec-kit140141# Target specific agents142npx skills add -g https://github.com/akillness/jeo-skills --skill spec-kit -a claude-code -a codex -y143```144145The skill also ships [`scripts/install.sh`](scripts/install.sh) as a146one-shot installer that detects `uv` / `pipx` and runs Step 1.147148## Output format149150When the user asks `spec-kit` for help, return a compact brief:151152```markdown153# spec-kit Routing Brief154155## Scope156- Target agent: claude | copilot | gemini | codex | cursor | opencode | ...157- Project state: new | existing-init | mid-pipeline | extension-only158- Pipeline stage: constitution | specify | plan | tasks | implement | clarify | analyze | checklist159160## Recommended next move161- install-specify | specify-init | run-/speckit.<command> | add-extension162163## Why164- 2-3 bullets grounded in the user's packet165166## Route-outs167- `ooo` for vendor-neutral spec-first loops168- `bmad` for packet-first BMAD/BMM artifact selection169- `plannotator` for approval/review of an existing plan170```171172## Best practices1731741. **Pin a Git ref** (`@v0.0.10` or a commit SHA) when reproducibility is175 important — `main` moves.1762. **One integration per repo** unless the user explicitly wants multi-agent177 parity; switching `--integration` rewrites command files.1783. **Treat `/speckit.constitution` as load-bearing** — downstream179 `/speckit.plan` and `/speckit.tasks` honor it, so update it first when180 principles drift.1814. **Use `/speckit.clarify` before `/speckit.plan`** when the spec is182 ambiguous instead of letting the plan paper over open questions.1835. **Hand off the artifact to `plannotator`** for explicit review before184 `/speckit.implement` on level 2+ work.1856. **Route to `ooo`** when the user actually wants a vendor-neutral186 spec-first loop with drift tracking instead of GitHub's pipeline.187188## References189190- Upstream repo: <https://github.com/github/spec-kit>191- Documentation site: <https://github.github.io/spec-kit/>192- Community presets and extensions: <https://github.github.io/spec-kit/community/>193- Installer script: [`scripts/install.sh`](scripts/install.sh)194- Command reference: [`references/commands.md`](references/commands.md)195- Adjacent skills: `../ooo/SKILL.md`, `../bmad/SKILL.md`,196 `../plannotator/SKILL.md`, `../bmad-idea/SKILL.md`197- License: MIT (see upstream `LICENSE`)