Spec Kit
Introduction to Spec Kit
Spec Kit is GitHub’s framework for applying Spec Driven Development in practice using AI agents such as GitHub Copilot. It provides a structured, opinionated workflow that guides both humans and AI from an initial feature idea through to a complete implementation—without skipping critical thinking and design steps.
Rather than treating AI as a code generator, Spec Kit treats AI as a reasoning and execution partner. It enforces a clear separation between intent, clarification, planning, and execution, ensuring that implementation decisions are grounded in explicit understanding instead of assumptions inferred during coding.
Spec Kit operationalizes Spec Driven Development by breaking feature work into well-defined phases, each with a clear purpose and output. These phases create a durable chain of artifacts that progressively refine intent into executable work.
The Spec Kit Workflow
Spec Kit’s workflow consists of the following phases:
Constitution: Defines the project’s rules, values, and standards so all AI work aligns with team norms and the existing codebase.
Spec: Describes what the feature is, why it exists, and how it fits into the system in clear, non-technical language.
Clarify (Optional): Resolves ambiguities by asking questions, surfacing edge cases, and making assumptions explicit.
Plan: Converts the clarified intent into a concrete technical approach, including architecture, components, and trade-offs.
Tasks: Breaks the plan into ordered, executable units of work with clear dependencies and outcomes.
Analyze (Optional): Verifies that the spec, plan, and tasks are complete, consistent, and fully aligned before implementation.
Implement: Executes the tasks by writing tests and code, iterating until the requirements are met with human oversight.
Running Spec Kit with an AI Agent
Spec Kit is designed to be run directly through an AI agent such as GitHub Copilot in Agent mode. Instead of manually managing documents or templates, you interact with the agent using slash commands (/speckit.*) that guide the AI through each phase of Spec Driven Development.
Each command:
Executes a specific phase of the workflow
Uses previously generated artifacts as context
Produces a concrete output (spec, clarifications, plan, tasks, etc.)
You remain in control by reviewing, refining, and adding context as needed, while the AI handles the structured reasoning and execution.
How the Spec Kit Commands Work
Spec Kit commands are stateful. The agent maintains awareness of:
The Constitution
Outputs from prior Spec Kit phases
The current codebase and repository context
Because of this, most Spec Kit commands can be run with no additional prompt text at all—the agent already has what it needs from earlier steps.
That said, you can always include additional instructions or context alongside a command to steer the output.
For example:
Clarifying a specific edge case
Adding constraints that were missed earlier
Referencing external context (Jira issues, Figma designs, docs)
Each Spec Kit command can be run directly from the terminal and kicks off a phase of the SDD process. You can also provide additional context
/speckit.constitution/speckit.specify <description of the features you want spec kit to implement>The description here can also be a link to a Jira ticket or GitHub issue (you’ll need to set up those MCP servers first though).
/speckit.clarify/speckit.plan/speckit.tasks/speckit.analyze/speckit.implement
Conversational Control Between Commands
Between any two Spec Kit commands, you can talk to the AI normally:
Ask questions
Challenge decisions
Refine outputs
Add missing context
These conversations become part of the agent’s working context, influencing subsequent phases without needing to rerun earlier commands.
In practice, Spec Kit works best as a guided conversation punctuated by structured commands—you provide intent and oversight, and the AI handles the disciplined progression from idea to implementation.
✏️ Setup
Follow the official setup instructions in the Spec Kit GitHub repository to install and initialize it in your repository
Review Spec Kit’s default files:
Next Steps
Now that you understand how Spec Kit implements SDD, and have it initialized in your codebase, continue to the next step, where you’ll configure MCP servers so you can use Jira/GitHub Issues as the source for your specs and feature development.
Feature Development Workshop | MCP Integration