Skip to content

Select language

Current language: English

Install Spec Kit: specify-cli Setup and the /speckit-* Command Changes

Edit page

Spec Kit is GitHub’s open-source toolkit for Spec-Driven Development: write the specification first, then a plan and tasks, and finally let your AI coding assistant implement the tasks. Its command line is called specify and comes from the specify-cli package.

Many tutorials online still use the old install command, the --ai flag and command names like /speckit.specify, and copying them often fails. This page follows the official documentation to show the current correct way, and lists what has changed.

When this was checked

Written against the official Spec Kit documentation, checked on 2026-10-26. The project moves quickly, so trust specify --help on your machine and the official docs over this page when they differ.

Who this is for

  • People who want to try a spec-driven workflow inside an AI coding assistant such as Claude Code, GitHub Copilot, Gemini CLI, CodeBuddy CLI, Pi or Oh My Pi.
  • People who installed Spec Kit from an older tutorial and now get errors or missing commands.

Prerequisites

ItemRequirement
OSLinux, macOS, or Windows (PowerShell scripts work without WSL)
Python3.11 or higher
Package manageruv (recommended) or pipx
AI coding assistantAny supported assistant; the official docs list dozens of integrations
GitOptional, only needed when the git extension is enabled

Spec Kit itself does not need Node.js. If your assistant is installed through npm, see AI Agent CLI Installation first.

Install specify-cli

Option 1: From PyPI (shortest)

终端窗口
# Recommended: uv
uv tool install specify-cli
# Or pipx
pipx install specify-cli
# Or pip
pip install specify-cli

To pin a version: uv tool install specify-cli==0.12.11 (use the version from the releases page).

Option 2: From a GitHub release tag

The official docs list this as the recommended reproducible route. It needs uv:

终端窗口
uv tool install specify-cli --from git+https://github.com/github/spec-kit.git@vX.Y.Z

Replace vX.Y.Z with a tag from Releases. Keep the leading v, for example v0.12.11.

Verify the install

终端窗口
specify version
specify self check

specify version confirms the command works and prints its version. specify self check is read-only and tells you whether a newer release exists.

Initialize a project

终端窗口
specify init my-project --integration claude
cd my-project

--integration picks your AI assistant. Common values are claude, copilot, gemini, codebuddy, pi and omp. Useful options:

  • --script sh|ps|py: choose the script type. The default is ps on Windows and sh elsewhere.
  • --here --force: initialize inside an existing non-empty directory. --force acknowledges the merge warning, so commit or back up local changes first.
  • --non-interactive: for CI. Without --integration it defaults to GitHub Copilot, so do not be caught out by that default.

Command names: /speckit-*

After initialization, run these in your AI assistant’s chat, not in the terminal:

StepCommandWhat it does
1/speckit-constitutionWrites the project principles that later steps are checked against; once per project
2/speckit-specifyTurns a plain-language description of the feature into spec.md
3/speckit-clarifyAsks about gaps in the spec and folds the answers back in
4/speckit-planGenerates plan.md and other design artifacts for your tech stack
5/speckit-checklistGenerates a requirements-quality checklist
6/speckit-tasksGenerates a dependency-ordered tasks.md
7/speckit-analyzeRead-only check for conflicts and gaps across spec.md, plan.md and tasks.md
8/speckit-implementExecutes tasks.md in order
9/speckit-convergeChecks the code against the spec and appends tasks for any gaps; repeat implement and converge until it reports Converged

The shortest path is specify → plan → tasks → implement → converge. Only the full path adds constitution, clarify, checklist and analyze.

Your assistant may spell them differently

The official quickstart uses the hyphenated /speckit-* names (GitHub Copilot’s default skills mode). Older tutorials and the upgrade notes still show the dotted form such as /speckit.specify. The invocation format differs between assistants and modes, so go by the names that actually appear in your assistant’s command list after initialization.

What changed compared with older tutorials

Common in older tutorialsNow
Only uv tool install ... --from git+https://...specify-cli is also on PyPI, installable with uv, pipx or pip; installing from a GitHub tag is still supported
specify init --ai claudeThe official docs use --integration claude throughout
/speckit.specify, /speckit.planThe quickstart uses /speckit-specify and /speckit-plan, and adds /speckit-converge
/constitution propagates changes into templates and command filesIt now only updates .specify/memory/constitution.md; to restore the old propagation, run specify preset add constitution-sync
Git features always onNow an optional extension: specify extension add git
The active feature is inferred from the Git branch.specify/feature.json records the active feature directory

Upgrade

Upgrade the command line itself:

终端窗口
specify self check # read-only: is there a newer release?
specify self upgrade --dry-run # preview without upgrading
specify self upgrade # upgrade to the latest stable release
specify self upgrade --tag vX.Y.Z # pin a release tag

Upgrade the files inside an existing project, from the project directory:

终端窗口
specify integration status # list installed integrations and modified files
specify integration upgrade <key> # run once per installed integration
specify extension update # update all extensions

Pass --force to specify integration upgrade only when it reports locally modified managed files and you have reviewed the difference.

Common problems

  • command not found: uv: install uv first, then run the install command again.
  • No such option: --integration: an old specify (for example 0.1.6) is earlier on your PATH. Reinstall with the same tool you used originally, for example uv tool install --force specify-cli, then confirm with specify version.
  • Two copies installed: installing with uv, pipx and pip each leaves a separate copy. Upgrade with the same tool and do not mix them.
  • A PyPI install does not upgrade itself: the version stays where you installed it, so use the upgrade commands above.
  • Init refuses an existing directory: once you have committed or backed up, add --here --force.

Next steps

HagiCode

HagiCode is an agentic coding workspace. Rich, convenient UI interactions make planning, agent execution, and project work approachable and easy to navigate, creating an engaging development experience.

Explore an engaging development experience through rich, convenient UI interactions.

Visit HagiCodeRead the documentation
  • SmartOpenSpec workflows turn intent into an executable path, from proposal to design, tasks, and a shipped change.
  • EfficientMulti-agent execution keeps research, implementation, and review moving in parallel, across several repositories and the Agent CLIs you already use.
  • InterestingRich, convenient UI interactions make planning, agent execution, and project work approachable and easy to navigate.

Download for Windows

Get it from Microsoft StoreAll downloads

Turn ideas into shipped software.

HagiCode is an agentic coding workspace. OpenSpec workflows plan the change, multi-agent execution carries it out, and Hero Scenario makes the long run visible, so ideas become shipped software.

Smart
OpenSpec workflows turn intent into a path from proposal to shipped change.
Efficient
Multi-agent execution runs research, build, and review in parallel.
Fun
Rich UI interactions make planning, agent work, and projects easier to follow.