Skip to content

What Is GitHub Spec Kit? Spec-Driven Development, Setup, Commands and Cost

You prepare your project with `specify init`; the coding agent writes a spec before touching code, then moves on to a plan, a task list and the implementation. GitHub Spec Kit (github/spec-kit) is an MIT-licensed open-source tool; the terminal is only used to install it and set up the project (`uv tool install specify-cli`, `specify init`), while the real steps are called as `/speckit-*` skills in the agent's chat, not as terminal commands. It needs Python 3.11+, with no account and no fee. The documentation lists 41 agents plus a "bring your own agent" option; the current version is 1.2.0 (October 13, 2026).

What it does
Has your coding agent write a spec first, then a plan and tasks
Type
Kit: CLI + templates + agent skills
Where
Claude Code, Codex, Cursor, Copilot, Gemini CLI and ~40 agents
Requirements
Python 3.11+, uv (recommended)
Process
Review at every step; can feel heavy for small jobs
Turkish
Not stated in the official documentation
Cost
Free (MIT); the agent's own fees are separate

What does Spec Kit do, and what's inside?

Instead of telling the AI "build this," you first have it put what you want and why into a written spec; the plan, the task list and the implementation follow in order. That way the agent doesn't write code on guesswork; it works from a document you approved. There are three independent processes: spec-driven development (the core), bug fixing and idea assessment (optional extensions).

The core steps are called as skills in the agent's chat. The table below summarizes the order in the documentation; the syntax varies by agent (see below).

StepWhat it does
constitutionWrites the project's governing principles (the constitution); once per project.
specifyWrites the feature spec and user stories: what and why, not the technology.
clarify (optional)Asks up to five questions about unclear points and writes the answers into the spec.
planTechnical implementation plan and design files; the technology choice is made here.
checklist (optional)A checklist for requirement quality.
tasksA dependency-ordered task list (tasks.md).
analyze (optional)Read-only: a consistency report across the spec, plan and tasks.
implementRuns the tasks in phase order; the agent writes the code.
convergeCompares the code with the spec, plan and tasks; it only adds missing tasks to tasks.md and does not edit code.

Who it's for: People who want to build a new feature or app with an agent, but in a controlled way. The documentation itself suggests a shorter path for small jobs: for a small feature, specify, plan, tasks, implement and converge are enough.

How do you install Spec Kit?

Requirements: Python 3.11 or later, uv (recommended; pipx and pip are also documented) and a supported coding agent. Git is only needed if the git extension is enabled. The commands are taken verbatim from the official documentation.

1. Install uv› curl -LsSf https://astral.sh/uv/install.sh | sh
2. Install Spec Kit› uv tool install specify-cli
3. Set up the project (Claude Code example)› specify init my-project --integration claude

On macOS, brew install uv is also documented. If you want to inspect the install script before running it, open the URL in your browser.

After installing, specify version shows the version, specify self check checks whether a new version is available (read-only), and specify self upgrade upgrades in place. Optional extensions: specify extension add bug, assess, git, github.

You name your agent with --integration; the keys are in the documentation's table. In a non-interactive run with no key given, GitHub Copilot is selected.

How do you use Spec Kit?

Open your agent in the project folder and call the steps there, one at a time, reviewing each result. The README states clearly that these are agent skills, not terminal commands. The syntax varies by agent:

AgentCall syntax
Claude Code, Copilot and most agents/speckit-specify (the dotted /speckit.specify also appears in the docs)
Codex CLI$speckit-specify
Kimi Code/skill:speckit-specify
Have it write the spec"/speckit-specify I want a page where users can book and cancel appointments. Don't pick a technology; only write what I want and why I want it."
Plan and tasks"/speckit-plan Use Next.js and Supabase. Then produce the task list with /speckit-tasks."
Implement and check"/speckit-implement Work through the tasks in order. When done, use /speckit-converge to check that the code matches the spec."

To start, only have it write a spec with specify and read the output. At the end of each step, review the file (spec.md, tasks.md) yourself; that's where the real value is.

Which agents does Spec Kit work with?

Claude CodeYesKey claude; skills are installed under .claude/skills.
GitHub CopilotYesKey copilot; the default in non-interactive runs.
Codex CLIYesKey codex; the call is $speckit-<command>.
Cursor, Gemini CLI, Zed, Kimi Code, opencode, Qwen Code and othersYesThe integration documentation lists 41 agents and a generic option.
Kiro, Junie, opencode v2PartlyThere are open issues on the generated commands (#4797, #4794, #4639).

The list is compiled from the integration documentation. The prerequisites list in the installation documentation only counts 6 agents, but the integration documentation appears more up to date.

What does Spec Kit write, and what does it touch?

Writes files

specify init writes .specify/ (scripts, templates) and the agent's skill files into the project folder. By default, features produce spec, plan and task files under specs/.

Who writes the code

implement writes or changes the project's code files according to the tasks; the agent does this. analyze is read-only, and converge does not delete or edit code.

Extensions that write externally

The optional git extension creates branches and can commit before a step (most hooks are optional and ask for confirmation). The github extension opens issues in the origin repository through the GitHub MCP server; it is the only part that writes externally.

Data leaving your machine

Spec Kit does not send data on its own. Because the steps run inside the agent, your spec and code go to your agent's provider.

During the steps, the agent runs the scripts under .specify/ (bash, PowerShell or Python) in its shell. Review the installed scripts and the agent's permission settings. GitHub Security Advisories shows no published advisories. That does not mean "safe." Security vulnerabilities are reported to opensource-security@github.com.

Is Spec Kit free?

Yes. It is MIT-licensed open source; there is no pricing page, account or API key. Only the coding agent you use may have its own subscription or API fees, and those are separate.

Allowed
  • MIT: free to use, modify and use in commercial work
Not allowed
  • Community extensions and presets are third-party code; the default community catalog is for discovery only

Source: README and LICENSE. This is not legal advice.

Common problems and fixes

What's happeningWhat to do
/speckit-specify doesn't work in the terminalThese are agent skills, not terminal commands. Open the agent in the project and type it there; the syntax varies by agent.
command not found: uvInstall uv first, open a new terminal and verify with uv --version.
specify init shows a warning in a non-empty folderCommit or back up your local changes, then run specify init --here --force --integration <key>.
Reported by users Commands misbehave in Kiro, Junie or opencode v2Open issues #4797, #4794, #4639; no fix documented.
Reported by users In Codex, the hook line says /speckit- but it should be $speckit-Open issue #4954 (October 13, 2026).

How do you uninstall Spec Kit?

  1. Remove the CLI: uv tool uninstall specify-cli (if you installed with pipx, pipx uninstall specify-cli).
  2. Remove the integration: specify integration uninstall <key> deletes the integration's own files.
  3. Project files: You delete the files in .specify/, specs/ and the agent's skill folder yourself.
  4. Extension: specify extension remove <name> removes the extension's own files and leaves your files alone.

Frequently asked questions

What is Spec Kit and what is it for?

It is GitHub's MIT-licensed open-source tool. It has your coding agent prepare a written spec before writing code, then moves it through a plan, a task list and the implementation.

Is Spec Kit free?

Yes. It is MIT-licensed, with no pricing page or account. Only the coding agent you use may have its own fees.

Do you run it in the terminal or in the agent?

Both: the terminal is only for installation and specify init. The /speckit-* steps are called in the agent's chat, one at a time, reviewing each result.

Is it too heavy for a small job?

The documentation itself suggests a shorter path: for a small feature, specify, plan, tasks, implement and converge are enough. Only specify is required before planning; clarify, checklist and analyze are optional gates.

Which files does the setup write, and does it run scripts?

init writes .specify/ and the agent's skill files into the project folder. The scripts are chosen as bash, PowerShell or Python; the agent runs them in its shell during the steps.

Related guides

Sources

Not clear in the official sources: Which extensions (especially agent-context) come by default with init · whether the old wheel install ran package code · Turkish language support · OSV scan. Each is covered in the relevant section.