Meet GitHub Spec-Kit: An Open Source Toolkit for Spec-Driven Development with AI Coding Agents
If you have spent time using AI coding agents — GitHub Copilot, Claude Code, Gemini CLI — you have probably run into this situation: you describe what you want, the agent generates a block of code that looks correct, compiles, and then subtly misses the actual intent. This “vibe-coding” approach can work for quick prototypes but becomes less reliable when building mission-critical applications or working with existing codebases. The issue, as GitHub frames it, is not the coding agent’s ability — it is the approach. Developers have been treating coding agents like search engines, when they should be treated more like literal-minded pair programmers who excel at pattern recognition but still need unambiguous instructions. To address this, GitHub has open sourced Spec-Kit — a toolkit designed to bring Spec-Driven Development (SDD) to AI coding workflows. The project currently has 90k+ stars and 8k+ forks on GitHub, and has become one of the faster-growing developer tooling repositories in recent memory. What is Spec-Driven Development? Spec-Driven Development inverts the traditional power structure of software development. Specifications do not serve code — code serves specifications. The Product Requirements Document (PRD) is not a guide for implementation; it is the source that generates implementation. In practice, this means you write a structured specification first — describing what you want to build and why, without specifying the tech stack — and then feed that into an AI coding agent as a grounding document. The spec becomes the source of truth that tools and AI agents use to generate, test, and validate code. The result is less guesswork, fewer surprises, and higher-quality code. This is distinct from “documentation-first” as traditionally practiced. SDD is not about writing exhaustive, dry requirements documents that nobody reads. It is not about waterfall planning or trying to predict the future through extensive planning exercises. And it is not about creating more bureaucracy that slows engineering teams down. The spec remains a living artifact — updated as requirements evolve, rather than filed away after project kickoff. What Spec-Kit Actually Includes Spec-Kithas two key components: the Specify CLI, a helper command-line tool that bootstraps projects for SDD by downloading official templates for the coding agent and platform of your choice; and a set of templates and helper scripts that establish the foundation for the SDD experience — defining what a spec looks like, what a technical plan encompasses, and how it all breaks down into individual tasks that an AI agent can execute. The CLI is written in Python and requires Python 3.11+. Installation via uv is the recommended method: Copy CodeCopiedUse a different Browser uv tool install specify-cli –from git+https://github.com/github/spec-kit.git@vX.Y.Z specify init <PROJECT_NAME> Once initialized, the agent has access to a set of slash commands that map directly to the SDD workflow. The core commands are: /speckit.constitution — establishes the project’s non-negotiable governing principles /speckit.specify — captures what you want to build, focused on the “what” and “why” without tech stack details /speckit.plan — generates the technical implementation plan given your chosen stack /speckit.tasks — breaks the plan into an actionable, dependency-ordered task list /speckit.taskstoissues — converts the generated task list into GitHub issues for tracking and execution /speckit.implement — executes those tasks using the AI coding agent There are also three optional commands for enhanced quality and validation: /speckit.clarify — surfaces underspecified areas through structured, sequential questioning before a technical plan is created (recommended before /speckit.plan to reduce rework downstream) /speckit.analyze — runs cross-artifact consistency and coverage analysis after /speckit.tasks and before /speckit.implement /speckit.checklist — generates custom quality checklists that validate requirements completeness, clarity, and consistency An important addition is constitution.md. In the SDD context, a constitution document establishes a set of non-negotiable principles for a project — testing conventions, CLI-first requirements, organizational design system standards. These are captured once and referenced throughout every subsequent development phase. GitHub Spec Kit How to Use GitHub Spec Kit: A Step-by-Step Guide Spec-Driven Development (SDD) with AI coding agents — from installing the CLI to running your first implementation. Follows the official workflow from the github/spec-kit repository. Step 1 of 10 Step 1 — Prerequisites Make sure you have the right tools installed Before installing the Specify CLI, you need four things on your machine. Spec Kit is cross-platform and works on Linux, macOS, and Windows. Python 3.11+ — download from python.org uv (recommended) or pipx for package management — install uv from docs.astral.sh/uv Git — download from git-scm.com A supported AI coding agent — Claude Code, GitHub Copilot, Gemini CLI, Cursor, Windsurf, Codex CLI, or any of the 29 supported integrations Why uv? It manages tool installations globally, keeps them in your PATH, and makes upgrading easy with uv tool list, uv tool upgrade, and uv tool uninstall. It’s the officially recommended method. 1 / 10 ← Back Next → Step 2 — Installation Install the Specify CLI from GitHub The only official Spec Kit package is published directly from the GitHub repository. Do not install from PyPI — any package there with the same name is not maintained by the Spec Kit team. # Persistent install (recommended) — replace vX.Y.Z with latest tag uv tool install specify-cli –from git+https://github.com/github/spec-kit.git@vX.Y.Z # Or using pipx pipx install git+https://github.com/github/spec-kit.git@vX.Y.Z # Verify installation specify version Check the Releases page for the latest tag (e.g. v0.8.4). Installing from main may include unreleased changes. One-time usage (no install): Run uvx –from git+https://github.com/github/spec-kit.git@vX.Y.Z specify init <PROJECT> to try without a persistent install. 2 / 10 ← Back Next → Step 3 — Initialize Bootstrap your project with specify init Navigate to your project folder and run specify init. The CLI detects which AI coding agent you have installed and sets up the right directory structure, templates, and commands automatically. # New project in a new folder specify init my-photo-app # Initialize inside an existing directory specify init . –integration claude # Skills mode for Claude Code and Codex CLI specify init . –integration codex –integration-options=”–skills” # Check all required tools are present specify check After this, your project



