CLI tool
github/spec-kit avatar
github/spec-kit

Spec Kit: A Python CLI That Turns AI Coding Agents Into Spec-Driven Developers

Toolkit to help you get started with Spec-Driven Development. Spec Kit Define what to build before building it, with any AI coding agent.

137,002 stars12,273 forksPythonMIT

At a glance

What is it?
Spec Kit is an open source toolkit from GitHub that installs a spec-driven workflow into any AI coding agent. The specify-cli tool scaffolds a project, adds slash commands for specifying, planning, and converging, and ships with opt-in extensions for bug fixing and idea assessment.
Who is it for?
Adopt Spec Kit if you want a structured, repeatable process for turning ideas into software with AI agents, especially if you value specs that are executable rather than discarded. Skip it if your team prefers lightweight, ad-hoc agent prompting or if you cannot standardize on uv.
Can I use it commercially?
Yes. MIT is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
Is it still maintained?
Yes. The repository received new commits within the last day.
What is it written in?
Mainly Python, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on September 15, 2026, and from our analysis. They are not legal advice.

DEEP OPEN-SOURCE ANALYSIS

What Spec Kit Actually Solves

Spec Kit targets a specific failure mode: AI coding agents that jump from a prompt to a patch without a shared definition of what should be built. The README describes the problem directly: bug fixes are risky when an agent skips validating the diagnosis, and ideas get built without evidence. Spec Kit provides a spec-driven process where specifications become executable, generating working implementations rather than just guiding them. The intended users are teams and organizations that use AI coding agents and want a repeatable workflow that is not tied to one vendor. The toolkit is built for your whole organization, according to the README, which suggests a focus on consistency across multiple developers and projects.

How the Workflow Is Structured

The core workflow is a sequence of slash commands that the agent executes inside a project directory. After initialization, you establish project principles once with /speckit-constitution, then specify what to build with /speckit-specify, plan with /speckit-plan, break down tasks with /speckit-tasks, implement with /speckit-implement, and finally converge with /speckit-converge. The README instructs you to repeat the implement and converge steps until converge reports Converged. This is a loop, not a linear pipeline, which is a notable design choice. It treats convergence as a verification gate: the agent must reconcile the implementation against the spec, plan, and tasks before the work is considered done. The loop is the mechanism that makes the spec executable, because the agent cannot move on until the spec and the code agree.

Installation and First Steps

Installation requires uv, the Python package manager. The README gives two commands. First, install the CLI from the Git repository at a specific release tag: uv tool install specify-cli --from git+https://github.com/github/spec-kit.git@vX.Y.Z. Alternatively, install from PyPI with uv tool install specify-cli. Then initialize a project with specify init my-project --integration copilot, which creates a directory and sets up the integration for GitHub Copilot. The README shows copilot as the example integration, but the project supports other AI coding agents, as listed in the table of contents. After initialization, you launch your coding agent in the project directory and start issuing the slash commands. The version tag matters: the README repeatedly warns to keep the leading v, so v1.0.1 not 1.0.1.

Opt-In Extensions for Bugs and Ideas

Beyond the core workflow, Spec Kit ships two bundled extensions that you add explicitly. The bug extension adds a three-step assess, fix, test workflow. You run /speckit-bug-assess with a bug report and a slug, then /speckit-bug-fix with the same slug, then /speckit-bug-test. The slug ties the steps together, which keeps each fix scoped and documented. The assess extension handles idea evaluation with five steps: intake, research, define, shape, decide. It produces a documented go, needs-clarification, or kill decision. The README notes that idea assessment is standalone, and a go decision can hand off to /speckit-specify. These extensions are opt-in, which means the core toolkit stays minimal and you only add what you need. That is a sensible design, but it also means you have to learn two additional command sets if you want the full process.

Where Spec Kit Falls Short

The most obvious limitation is the dependency on uv. The README states that uv is required, and every installation path goes through it. Teams that do not use uv or cannot install it will have to change their toolchain first. A second limitation is that the workflow is command-heavy. The slash commands are numerous: constitution, specify, plan, tasks, implement, converge, plus the extension commands. That is a lot of ceremony for a small fix or a trivial feature. For a one-line change, running the full specify, plan, tasks, implement, converge loop is overkill. The README positions Spec Kit for building high-quality software, which implies a bias toward larger efforts. The bug extension does offer a lighter path, but it still requires three separate commands. A third concern is that convergence depends on the agent's ability to honestly assess its own work. The loop only works if the agent reports non-convergence when it should, and the README gives no mechanism to verify that beyond trusting the agent.

The 1.0.0 Release and What It Signals

Spec Kit reached version 1.0.0 one year after its first commit. The release notes, quoted in the README, say the version is now just a number and that the value moves from stability to adaptability. That is an unusual stance for a 1.0.0 release. Most projects use 1.0.0 to signal a stable API. Here, the maintainer explicitly says the shape is not frozen, and the focus is on adapting to change because agents make change cheaper. This is a meaningful signal for adopters. It means the command set, the extension API, and the workflow may shift in future releases without a major version bump being treated as a breaking change. If your organization needs a stable process that you can document and train against, this adaptability is a double-edged sword. You get a project that evolves quickly, but you also get a moving target.

Alternatives and the Difference in Approach

The closest alternative is not another spec tool but a plain AI coding agent with no workflow at all. That is the baseline Spec Kit is trying to improve. The difference is that a plain agent reacts to a single prompt, while Spec Kit enforces a multi-step process with intermediate artifacts. Another alternative is a general project management tool like Jira or Linear, where specs live as tickets and the agent pulls from them. That approach separates the spec from the code, so the spec is not executable. Spec Kit's key difference is that the spec, plan, and tasks live inside the project and the agent must converge against them. A third alternative is a custom prompt template that you paste into your agent. That gives you the same structure but without the CLI scaffolding, the extension system, or the community presets. The trade-off is that a custom template is free and fully controlled, but it is also undocumented and unshared.

Maintenance, Upgrades, and License

The project is licensed under MIT, which is permissive and imposes few restrictions on commercial use. The README does not mention a contributor agreement or a CLA, so the license is the main legal consideration. For maintenance, the release cadence is active: three releases in a three-day window, from v0.16.5 to v1.0.1. That suggests a project under active development, but it also means you should pin your installation to a specific tag, as the README instructs. Upgrading is not described in detail, but the install command uses a tag, so upgrading means changing the tag and reinstalling. There is no mention of a migration guide or a changelog in the README. That is a gap. If you adopt Spec Kit, you will need to track releases manually and test whether your custom extensions or presets still work after an upgrade. The README mentions extensions and presets as a way to make the toolkit your own, but it does not document how to maintain them across versions.

Editorial conclusion

Adopt Spec Kit if you want a structured, repeatable process for turning ideas into software with AI agents, especially if you value specs that are executable rather than discarded. Skip it if your team prefers lightweight, ad-hoc agent prompting or if you cannot standardize on uv. Before adopting, verify that your AI coding agent supports the required slash commands and that the bundled extensions match your workflow, then test the converge loop on a small project to see if the overhead pays off.

Official sources

  1. Official documentation
  2. Official README
  3. Project repository
  4. Release notes
Community notes

Community notes