Spec Kit

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:

  1. Constitution: Defines the project’s rules, values, and standards so all AI work aligns with team norms and the existing codebase.

  2. Spec: Describes what the feature is, why it exists, and how it fits into the system in clear, non-technical language.

  3. Clarify (Optional): Resolves ambiguities by asking questions, surfacing edge cases, and making assumptions explicit.

  4. Plan: Converts the clarified intent into a concrete technical approach, including architecture, components, and trade-offs.

  5. Tasks: Breaks the plan into ordered, executable units of work with clear dependencies and outcomes.

  6. Analyze (Optional): Verifies that the spec, plan, and tasks are complete, consistent, and fully aligned before implementation.

  7. 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

  1. Follow the official setup instructions in the Spec Kit GitHub repository to install and initialize it in your repository

    1. GitHub - github/spec-kit: 💫 Toolkit to help you get started with Spec-Driven Development

  • specify init .

  1. Review Spec Kit’s default files:

Once Spec Kit is initialized with Copilot, a bunch of prompt and agent files are added to the .github directory. Investigate everything that got created to familiarize yourself with what’s available to you:

In VS Code, each of these prompt files allows you to communicate directly with one of the corresponding agents defined in the /agents folder by simply typing /speckit.[prompt-name] in the Agent chat window. The prompt files forward whatever you input to the agent, and can be modified.

The agent has specialized instructions and context which allow it to assist you with each stage of the SDD process. Depending on the phase of the process you’re in, you can chat with the corresponding agent, which will be able to help you.

You can also directly access each agent using the Agent dropdown:

There is also a dedicated .specify folder with templates for different types of artifacts the AI will create, bash scripts which help orchestrate the SDD process, as well as a constitution.md file, which acts as a source of truth and alignment similar to copilot-instructions.md.

Each of the templates above will be used to structure the core documents produced by Spec Kit agents. These can be modified at any time to customize the process. The scripts are used to perform management actions like copying and creating documents, checking out git branches, and updating context.

 

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.

https://wiki.at.bitovi.com/wiki/spaces/AIEnabledDevelopment/pages/1829175318/Feature+Development+Workshop#MCP-Integration