Discover / Development

Spec Kit

by githubPython

Toolkit for spec-driven development with agent skills for planning, implementation, and handoff.

Claude Skillactive

Maturity: active because commit 1d ago, latest release v1.0.5. Derived from release and commit history, not a rating.

Stars
134k
Forks
12k
Downloads / mo
Last commit
2026-09-09
License
MIT
Open issues
306

Market and trust evidence

Edition not yet matched
Trust stateCrown eligibleEligible for install-ready promotion
Review methodenrichment-staticTop installable trust gate
Selection rank#41Among Claude Skills and MCP Servers
Partner auditunknownCrown eligible
SkillPilot static reviewsafe

Repository README static review. No skills.sh identity match for partner audits.

Partner audit summaryunknown

No partner audit was returned. Status remains unknown.

Trust analysis is a screening signal, not a security warranty. Read the ranking and trust methodology.

Install

Derived from the published package name in the repository, not from a model.

Video walkthroughs

Third-party YouTube uploads matched to this tool by title, channel and repository name. Not made, reviewed or endorsed by SkillPilot. View counts and publish months are as of the match date and the month is approximate. Nothing loads from YouTube until you press play.

What the repository ships

Has testsHas docsHas examplesSecurity policyCI configured

Detected from the actual files in the repository root.

Latest release v1.0.5

Published 2026-09-08

Install


uv tool install specify-cli --from git+https://github.com/github/spec-kit.git@v1.0.5
specify init my-project

Upcoming Deprecation

The core /speckit.taskstoissues command is planned to move out of Spec Kit core in a future release as GitHub-specific issue tracking transitions to a bundled github-issues extension. The command remains supported for now

What's Changed

  • chore: bump version to 1.0.5
  • Update OKF Knowledge Bundle Generator to v0.5.0 (#4475)
  • Update BrownKit extension to v1.2.0 (#4474)
  • chore(deps): bump the codeql-action group with 2 updates (#4436)
  • fix(tasks): require field constraints from data-model.md in generated tasks (#4430)
  • fix(workflows): reject falsy non-mapping step.yml in step add (#4321)
  • fix(cline): stop unrelated prose from suppressing the hook command note (#4150)
  • Add the August 2026 newsletter (#4442)
  • Update Linear Integration extension to v0.8.0 (#4428)
  • fix(presets): reject falsy non-mapping catalog config shapes (#4320)
  • docs(workflows): sync the reference copy with the shipped workflow (#4424)
  • fix(scripts): name setup-plan's feature directory key FEATURE_DIR (#4397)
  • fix(workflows): require a 'steps' body on while and do-while loops (#4149)
  • Add Evaluator Contract extension to community catalog (#4420)
  • fix: remove unused scope input from bundled speckit workflow (#4401)
  • feat(integrations): add Muse Code (muse) agent integration (#4413)
  • feat(workflows): add workflow slots (#4352)
  • fix(scripts): make bash branch-name sanitizing match the Python and PowerShell twins (#4286)
  • allow hyphen in command ref token names (#4356)
  • [extension] Add Axi Extension to community catalog (#4412)
  • chore: release 1.0.4, begin 1.0.5.dev0 development (#4411)

Tags

README

<div align="center">

<img src="https://raw.githubusercontent.com/github/spec-kit/main/media/logo_large.webp" alt="Spec Kit Logo" width="200" height="200"/>

<h1>🌱 Spec Kit</h1>

<h3><em>Define what to build before building it — with any AI coding agent.</em></h3>

</div>

<p align="center">

<strong>An open source toolkit for building high-quality software with any AI coding agent — a ready-to-use spec-driven process (or bring your own), endlessly extensible, community-driven, and built for your whole organization.</strong>

</p>

<p align="center">

<a href="https://github.com/github/spec-kit/releases/latest"><img src="https://img.shields.io/github/v/release/github/spec-kit" alt="Latest Release"/></a>

<a href="https://github.com/github/spec-kit/stargazers"><img src="https://img.shields.io/github/stars/github/spec-kit?style=social" alt="GitHub stars"/></a>

<a href="https://github.com/github/spec-kit/blob/main/LICENSE"><img src="https://img.shields.io/github/license/github/spec-kit" alt="License"/></a>

<a href="https://github.github.io/spec-kit/"><img src="https://img.shields.io/badge/docs-GitHub_Pages-blue" alt="Documentation"/></a>

</p>

<p align="center">

<strong>English</strong> ·

<a href="./README.zh-CN.md">简体中文</a>

</p>

[!NOTE]

One year of Spec Kit — and 1.0.0

One year after the first commit, Spec Kit has reached 1.0.0 — not because the work is finished or its shape is frozen, but because the project has grown into something coherent, useful, and shaped by far more people than those who started it.

The lead maintainer's personal anniversary post, Spec Kit Turns One — and Ships 1.0.0, defines what 1.0.0 actually means for the project: it is now just a number. As agents make adapting to change dramatically cheaper, the value moves from stability to adaptability.

To everyone who has used Spec Kit, challenged its assumptions, reported a problem, contributed code or documentation, created an extension or preset, shared an idea, or helped someone else get started: thank you. This milestone belongs to the community that carried the project through its first year and continues to shape where it goes next.


Table of Contents

  • 🤔 What is Spec-Driven Development?
  • 🐞 Bug Fixing with Spec Kit
  • 💡 Assessing Ideas with Spec Kit
  • ⚡ Get Started
  • 📽️ Video Overview
  • 🌍 Community
  • 🤖 Supported AI Coding Agent Integrations
  • 🔧 Specify CLI Reference
  • 🧩 Making Spec Kit Your Own: Extensions & Presets
  • 📦 Bundles: Role-Based Setups
  • 📚 Core Philosophy
  • 🪞 Does Spec Kit Use Spec Kit?
  • 🌟 Development Phases
  • 🎯 Experimental Goals
  • 🔧 Prerequisites
  • 📖 Learn More
  • 💬 Support
  • 🙏 Acknowledgements
  • 📄 License

🤔 What is Spec-Driven Development?

Spec-Driven Development flips the script on traditional software development. For decades, code has been king — specifications were just scaffolding we built and discarded once the "real work" of coding began. Spec-Driven Development changes this: specifications become executable, directly generating working implementations rather than just guiding them.

SDD Quickstart

Replace vX.Y.Z with the latest release tag, keeping the leading v.


uv tool install specify-cli --from git+https://github.com/github/spec-kit.git@vX.Y.Z
specify init my-project --integration copilot
cd my-project

Launch your coding agent in the project directory, then:

  1. Establish your project principles once (/speckit-constitution). This is a one-time step per project.
  2. Specify what you want to build (/speckit-specify).
  3. Plan how you will build it (/speckit-plan).
  4. Break down the plan into actionable tasks (/speckit-tasks).
  5. Implement the tasks (/speckit-implement).
  6. Converge the implementation against the spec, plan, and tasks (/speckit-converge).

[!NOTE]

Repeat steps 4 and 5 until /speckit-converge reports Converged.

🐞 Bug Fixing with Spec Kit

Bug fixes are risky when an agent jumps straight from a report to a patch without validating the diagnosis or confirming that the fix resolves the original symptom. The bundled, opt-in bug extension provides a repeatable assess → fix → test workflow that keeps each fix scoped, evidence-based, and documented from root cause through verification.

Bug Fix Quickstart

Replace vX.Y.Z with the latest release tag, keeping the leading v.


uv tool install specify-cli --from git+https://github.com/github/spec-kit.git@vX.Y.Z
specify init my-project --integration copilot
cd my-project
specify extension add bug

Launch your coding agent in the project directory, then:

  1. Assess the bug (/speckit-bug-assess "<bug report>" slug=login-crash).
  2. Fix the assessed cause (/speckit-bug-fix slug=login-crash).
  3. Test the fix (/speckit-bug-test slug=login-crash).

💡 Assessing Ideas with Spec Kit

Good ideas deserve evidence before commitment, whether or not they become software. The bundled, opt-in assess extension turns a raw idea into a documented go / needs-clarification / kill decision through an independent intake → research → define → shape → decide workflow.

Idea Assessment Quickstart

Replace vX.Y.Z with the latest release tag, keeping the leading v.


uv tool install specify-cli --from git+https://github.com/github/spec-kit.git@vX.Y.Z
specify init my-project --integration copilot
cd my-project
specify extension add assess

Launch your coding agent in the project directory, then:

  1. Intake the idea (/speckit-assess-intake "<idea>" slug=offline-mode).
  2. Research supporting and opposing evidence (/speckit-assess-research slug=offline-mode).
  3. Define the problem, goals, and success metrics (/speckit-assess-define slug=offline-mode).
  4. Shape possible solutions and their trade-offs (/speckit-assess-shape slug=offline-mode).
  5. Decide whether to proceed, clarify, or stop (/speckit-assess-decide slug=offline-mode).

[!NOTE]

Idea assessment is standalone. If you choose to build an idea with a go decision, you can hand it off to /speckit-specify.

⚡ Get Started

1. Install Specify CLI

Requires uv (install uv). Replace vX.Y.Z with the latest release tag from Releases — keep the leading v (for example, v0.12.11, not 0.12.11):


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

Prefer installing from PyPI? The specify-cli package is also published there:


uv tool install specify-cli

See the Installation Guide for alternative methods, verification, upgrade, and troubleshooting.

2. Initialize a project


specify init my-project --integration copilot
cd my-project

For CI or AI agent harnesses (no keyboard, or a PTY that cannot send arrow keys), pass --non-interactive so init never hangs on a picker. Combine with --force when initializing into a non-empty directory:


specify init my-project --non-interactive --ignore-agent-tools
specify init --here --force --non-interactive --integration claude

To check for updates or upgrade the installed CLI, use the self-management commands. See the Upgrade Guide for detailed scenarios and customization options.


# Check whether a newer release is available (read-only — does not modify anything)
specify self check

# Preview what would run, without actually upgrading
specify self upgrade --dry-run

# Upgrade in place to the latest stable release (auto-detects uv tool vs pipx install)
specify self upgrade

# Or pin a specific release tag (replace vX.Y.Z[suffix] with your desired release tag)
specify self upgrade --tag vX.Y.Z[suffix]

Bare specify self upgrade executes immediately, matching the no-prompt behavior of commands like pip install -U and npm update. For uv tool installs, it runs uv tool install specify-cli --force --from <git ref> under the hood so pinned release tags work, including dev, alpha/beta/rc, or build metadata suffixes. uvx (ephemeral) runs and source checkouts are detected and produce path-specific guidance instead of running an installer. Set SPECIFY_UPGRADE_TIMEOUT_SECS to cap how long the installer subprocess may run (default: no timeout — interrupt with Ctrl+C if needed).

3. Establish project principles

Launch your coding agent in the project directory. Most agents expose spec-kit as /speckit. slash commands; Codex CLI and Command Code in skills mode use $speckit- instead; GitHub Copilot CLI uses /agents to select the agent or address it directly in a prompt.

Use the /speckit.constitution command to create your project's governing principles and development guidelines that will guide all subsequent development.


/speckit.constitution Create principles focused on code quality, testing standards, user experience consistency, and performance requirements

4. Create the spec

Use the /speckit.specify command to describe what you want to build. Focus on the what and why, not the tech stack.


/speckit.specify Build an application that can help me organize my photos in separate photo albums. Albums are grouped by date and can be re-organized by dragging and dropping on the main page. Albums are never in other nested albums. Within each album, photos are previewed in a tile-like interface.

5. Create a technical implementation plan

Use the /speckit.plan command to provide your tech stack and architecture choices.


/speckit.plan The application uses Vite with minimal number of libraries. Use vanilla HTML, CSS, and JavaScript as much as possible. Images are not uploaded anywhere and metadata is stored in a local SQLite database.

6. Break down into tasks

Use /speckit.tasks to create an actionable task list from your implementation plan.


/speckit.tasks

7. Execute implementation

Use /speckit.implement to execute all tasks and build your feature according to the plan.


/speckit.implement

For detailed step-by-step instructions, see our comprehensive guide.

📽️ Video Overview

Want to see Spec Kit in action? Watch our video overview!

Spec Kit video header

🌍 Community

Explore community-contributed resources on the Spec Kit docs site:

  • Extensions — commands, hooks, and capabilities
  • Presets — template and terminology overrides
  • Bundles — role and team stacks composed from existing components
  • Walkthroughs — end-to-end SDD scenarios
  • Friends — projects that extend or build on Spec Kit

[!NOTE]

Community contributions are independently created and maintained by their respective authors. Review source code before installation and use at your own discretion.

Want to contribute? See the Extension Publishing Guide, the Presets Publishing Guide, or the Community Bundles guide.

🤖 Supported AI Coding Agent Integrations

Spec Kit works with 30+ AI coding agents — both CLI tools and IDE-based assistants. See the full list with notes and usage details in the Supported AI Coding Agent Integrations guide.

Run specify integration list to see all available integrations in your installed version.

Available Slash Commands

After running specify init, your AI coding agent will have access to these slash commands for structured development. For integrations that support skills mode, passing --integration <agent> --integration-options="--skills" installs agent skills instead of slash-command prompt files.

Core Commands

Essential commands for the Spec-Driven Development workflow:

| Command | Agent Skill | Description |

| ------------------------ | ---------------------- | -------------------------------------------------------------------------- |

| /speckit.constitution | speckit-constitution | Create or update project governing principles and development guidelines |

| /speckit.specify | speckit-specify | Define what you want to build (requirements and user stories) |

| /speckit.plan | speckit-plan | Create technical implementation plans with your chosen tech stack |

| /speckit.tasks | `speck

Truncated. Read the full README on GitHub ↗

Related tools