📋 Table of Contents
Before we dive in, did you know there is a way to code and ship faster?
Millions of developers use Wispr Flow to dictate code, write docs, and give coding agents better context. 89% of messages sent with zero edits. 4x faster than typing. Free on Mac, Windows, and iPhone. Try Wispr Flow free.
Okay, back to the guide!
✅ Before You Start
Python 3.11+ installed (
python3 --version)Git installed (
git --version)uvinstalled (recommended) — fast Python package manager (install guide)OR
pipxas an alternative touvAt least one supported AI coding agent: Claude Code, GitHub Copilot, Gemini CLI, Codex CLI, Cursor, or 25+ others
A project directory ready to initialize
⚠️ Do NOT install from PyPI. The only official package is installed directly from GitHub as shown below. Any PyPI package with the same name is unaffiliated and unmaintained.
🛠️ Installation
macOS / Linux
bash
# Option 1: Persistent install with uv (recommended)
# Replace vX.Y.Z with the latest tag — check https://github.com/github/spec-kit/releases
uv tool install specify-cli --from git+https://github.com/github/[email protected]
# Option 2: Persistent install with pipx
pipx install git+https://github.com/github/[email protected]
# Option 3: One-time use (no install required)
uvx --from git+https://github.com/github/[email protected] specify init my-project
# Verify install
specify versionWindows
powershell
# Option 1: Persistent install with uv
uv tool install specify-cli --from git+https://github.com/github/spec-kit.git@vX.Y.Z
# Option 2: Persistent install with pipx
pipx install git+https://github.com/github/spec-kit.git@vX.Y.Z
# Verify
specify versionEnterprise / Air-Gapped Environments
bash
# On a connected machine: download wheel bundles
pip download git+https://github.com/github/[email protected] -d ./spec-kit-wheels
# Transfer wheels to air-gapped machine, then:
pip install --no-index --find-links ./spec-kit-wheels specify-cliFull air-gapped guide: docs/installation.md
Upgrade
bash
# uv
uv tool install specify-cli --force --from git+https://github.com/github/[email protected]
# pipx
pipx install --force git+https://github.com/github/[email protected]🚀 Setup Step by Step
Step 1 — Initialize your project
bash
# New project
specify init my-project --integration copilot
# Existing project directory
specify init . --integration copilot
# or
specify init --here --integration copilot
# Force init into non-empty directory
specify init . --force --integration copilot
# For Claude Code specifically
specify init . --integration copilot
# For Codex CLI in skills mode
specify init . --integration codex --integration-options="--skills"⚠️ Run specify check after init to verify all dependencies are detected correctly.
Step 2 — Establish your project constitution
Open your AI coding agent inside the project directory. You'll see /speckit.constitution, /speckit.specify, /speckit.plan, /speckit.tasks, and /speckit.implement available as slash commands.
Run this first:
/speckit.constitution Create principles focused on code quality, testing standards, user experience consistency, and performance requirements. Include governance for how these principles should guide technical decisions and implementation choices.This creates .specify/memory/constitution.md — the governing document every subsequent AI action references.
Step 3 — Write your spec
/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. Photos are previewed in a tile interface within each album.Focus on what and why. Do NOT mention tech stack here. The agent creates a branch (001-feature-name) and a spec.md in .specify/specs/001-feature-name/.
Step 4 — Clarify before planning
/speckit.clarifyThis runs structured Q&A to surface ambiguities. Answer all questions. Only skip this for quick spikes or exploratory prototypes (and say so explicitly so the agent doesn't block).
Step 5 — Generate technical plan
/speckit.plan The application uses Vite with vanilla HTML, CSS, and JavaScript. Images are not uploaded anywhere. Metadata is stored in a local SQLite database.Outputs: plan.md, data-model.md, api-spec.json, research.md, quickstart.md. Check research.md to verify the tech stack is correct.
Step 6 — Generate tasks
/speckit.tasksCreates tasks.md with:
Tasks organized by user story
Dependency ordering
Parallel execution markers
[P]Exact file paths per task
Step 7 — Implement
/speckit.implementThe agent validates all prerequisites (constitution, spec, plan, tasks) then executes in order. Make sure all required CLI tools for your stack (e.g., dotnet, npm, python) are installed locally.
Step 8 — (Optional) Add extensions
bash
# Search available extensions
specify extension search
# Install a specific extension
specify extension add spec-kit-jira
specify extension add spec-kit-security-review
specify extension add spec-kit-qaBrowse all 80+ community extensions: speckit-community.github.io/extensions
💬 Prompts to Use It
Constitution
/speckit.constitution Create principles for a SaaS B2B product: API-first, 100% test coverage on business logic, strict TypeScript, no external state management libraries, all UI components accessible to WCAG 2.1 AA.Specify
/speckit.specify Build a team task manager where users can create projects, add team members, assign tasks, and move tasks between Kanban columns (To Do, In Progress, In Review, Done) with drag-and-drop. Users are predefined — no auth required. Comments per task are unlimited. Users can edit/delete their own comments only.Clarify
/speckit.clarifyPlan
/speckit.plan Use Next.js 14 App Router, TypeScript, Supabase for auth and database, Tailwind CSS, shadcn/ui components. Deploy to Vercel.Analyze (run after tasks, before implement)
/speckit.analyzeImplement with checkpoint
/speckit.implementAfter implementation, ask Claude Code to check browser console errors and fix them before closing the feature.
Research prompt for fast-moving frameworks
Go through the implementation plan and identify areas that need research because [framework] is rapidly changing. For each area, spawn a parallel research task and update research.md with specific version details we'll use.📋 Commands Table
specify init <name> Bootstrap a new project with spec-kit structure.
specify init . Initialize in the current directory.
specify init --here --integration copilot Init here and set GitHub Copilot as the agent.
specify check Verify all prerequisites and installed tools.
specify version Show installed version.
specify extension search Browse available community extensions.
specify extension add <name> Install an extension.
specify preset search Browse available community presets.
specify preset add <name> Install a preset.
specify integration list List all supported AI agent integrations.
/speckit.constitution Create or update your project governing principles.
/speckit.specify Define what to build — requirements and user stories.
/speckit.clarify Structured gap-filling before planning.
/speckit.plan Create the technical implementation plan.
/speckit.analyze Cross-artifact consistency check before implementing.
/speckit.tasks Generate ordered task breakdown.
/speckit.taskstoissues Convert tasks to GitHub Issues.
/speckit.implement Execute all tasks and build the feature.
/speckit.checklist Generate a quality checklist for requirements.
🗓️ Daily Workflow
Starting a new feature:
specify init --here --integration copilot(first time only)/speckit.constitution→ set your project principles once/speckit.specify→ describe the feature/speckit.clarify→ resolve ambiguities/speckit.plan→ give it the tech stack/speckit.tasks→ break it into tasks/speckit.implement→ build it
Iterating on an existing feature:
Run
/speckit.clarifyagain if requirements changeUpdate
spec.mdmanually, then re-run/speckit.planand/speckit.tasksUse
spec-kit-iterateextension for mid-implementation spec updates
Team collaboration:
Use
/speckit.taskstoissuesto push tasks to GitHub IssuesUse
spec-kit-jiraorspec-kit-azure-devopsextensions for enterprise project boardsPR descriptions auto-generated with
spec-kit-pr-bridgeextension
💡 Tips
Don't spec the how.
/speckit.specifyworks best when you describe user behavior, not implementation details. Save the tech stack for/speckit.plan.Run
/speckit.clarifyevery time. Skipping it is the #1 source of rework. 10 minutes of structured Q&A saves hours of implementation drift.Check
research.mdbefore implementing. Especially for fast-moving frameworks (.NET Aspire, Next.js App Router, etc.). Ask the agent to do parallel web research for the specific versions you're using.Catch over-engineering early. After
/speckit.plan, ask: "Is anything here over-engineered for this spec?" Claude Code adds components you didn't ask for — the plan review step is where you catch it.Extensions are modular. Install only what your project needs.
spec-kit-security-reviewfor anything user-facing.spec-kit-qafor projects with acceptance criteria.spec-kit-jirafor enterprise teams.Parallel tasks with
[P]intasks.mdcan be handed to multiple agents simultaneously if you're using an orchestration extension likespec-kit-maqa.
🔧 Troubleshooting
command not found: uv Install uv first: curl -LsSf https://astral.sh/uv/install.sh | sh
command not found: specify Restart your terminal after installing, or run source ~/.bashrc.
Installed the wrong package from PyPI Uninstall it with pip uninstall specify-cli, then reinstall directly from GitHub using the commands in the Installation section.
Agent doesn't show /speckit.* commands Run specify check — a prerequisite is likely missing. Re-run specify init with the correct --integration flag.
specify init defaults to Copilot unexpectedly You're in a non-interactive session like CI or a pipe. Pass the flag explicitly: specify init . --integration copilot
Git auth fails on Linux Install Git Credential Manager:
wget https://github.com/git-ecosystem/git-credential-manager/releases/download/v2.6.1/gcm-linux_amd64.2.6.1.deb
sudo dpkg -i gcm-linux_amd64.2.6.1.deb
git config --global credential.helper managerAgent adds components you didn't ask for Ask it directly: "Read the constitution and the spec. Is anything in this plan over-engineered or not in the spec? List everything."
Tasks are out of order Your research.md has gaps. Ask the agent to re-audit the plan with dependency ordering before re-running /speckit.tasks.
⚡ Quick Reference
# Full new project flow
uv tool install specify-cli --from git+https://github.com/github/[email protected]
specify init my-project --integration copilot
specify check
specify version
# In your agent:
/speckit.constitution # Step 1: Principles
/speckit.specify # Step 2: What to build
/speckit.clarify # Step 3: Resolve gaps
/speckit.plan # Step 4: Tech stack + architecture
/speckit.analyze # Step 5: Cross-check artifacts
/speckit.tasks # Step 6: Task breakdown
/speckit.implement # Step 7: Build it
# Extensions
specify extension search
specify extension add <name>
specify integration list
# Maintenance
uv tool install specify-cli --force --from git+https://github.com/github/[email protected]@bestapps.ai — we find tools before everyone else
