GitHub Spec Kit: Stop Vibe Coding and Start Building with Specs
If you’ve ever passed a vague prompt to your coding agent and watched it confidently build the wrong thing, spec-kit is for you.
GitHub just released an open source toolkit called spec-kit — over 68,000 stars in just weeks — that introduces a structured, spec-driven workflow for AI-assisted development. The idea is simple: instead of describing what you want in a single prompt and hoping for the best, you first build an executable specification and then let your agent implement against it. It works with Claude Code, Cursor, Copilot, Windsurf, Codex and more than 15 additional agents.
Here’s how to get started.
Install the CLI
Spec-kit comes with a CLI called specify. Install it once with uv:
uv tool install specify-cli --from git+https://github.com/github/spec-kit.git
Then initialize a new project for your preferred agent:
specify init my-project --ai claude
# or for Cursor
specify init my-project --ai cursor-agent
# or in the current directory
specify init . --ai claude
This generates a .specify/ directory with templates, scripts, and slash commands connected to your agent.
The workflow: 7 commands that replace ad-hoc prompting
After running specify init, your agent has access to these slash commands:
/speckit.constitution — Start here. Define the principles that govern your project: code quality standards, testing requirements, architecture constraints. This file guides every subsequent decision the agent makes.
/speckit.specify — Describe what you want to build and why. Focus on behavior and user stories, not the tech stack. Be explicit. The more detail you put here, the less rework later.
/speckit.clarify — Run this before planning. The agent asks structured questions about under-specified areas and records the answers. Skipping this step is exactly how you end up with a beautiful app that does the wrong thing.
/speckit.plan — This is where you specify the tech stack and architecture. The agent generates an implementation plan, API contracts, data model, and research documents based on your spec.
/speckit.tasks — Break the plan into ordered, actionable tasks. Mark parallel tasks with [P], specify exact file paths, and incorporate TDD checkpoints.
/speckit.implement — Execute the task list. The agent validates that the constitution, spec, plan, and tasks are all in place before writing a single line of code.
/speckit.checklist / /speckit.analyze — Optional quality controls: consistency verification between artifacts and custom validation checklists before implementation.
Why this matters
The problem with AI-assisted coding isn’t the agent’s capability — it’s the structure. A capable agent with a vague prompt produces capable but wrong output. Spec-kit forces the spec to exist as a real artifact before any code is written, which means your agent has something concrete to implement against instead of interpolating from your intent.
It also makes AI-assisted development repeatable. The spec lives in your repository. A new team member — or a new agent session — can read it and understand exactly what the system is supposed to do and why.
The toolkit explicitly covers three scenarios: greenfield projects (0 to 1), iterative feature development in existing codebases (brownfield), and creative exploration where you want to prototype multiple approaches in parallel.
Try it
uv tool install specify-cli --from git+https://github.com/github/spec-kit.git
specify init my-project --ai claude
Then open Claude Code in that directory, run /speckit.constitution and describe your project’s principles. The rest of the workflow flows naturally.
Spec-kit won’t stop you from vibe coding if that’s what you want. But for anything you actually plan to ship, it gives your agent what was missing: a real spec to work from.
Are you already using a specs workflow before implementing with your agent? Or do you start straight from the prompt?
Source: github/spec-kit
