Feature Development Workshop
This workshop teaches you how to use GitHub Copilot and Spec Kit to design, plan, and implement a real feature in an existing codebase using Spec Driven Development (SDD).
By the end of this workshop, you will:
Apply Spec Driven Development to design and deliver features with AI
Use Spec Kit to turn a plain-English feature idea into requirements, a technical plan, and executable tasks
Integrate MCP servers (Jira, GitHub, Figma) to enrich specs with real product and design context
Implement a complete feature using GitHub Copilot Agent mode
Pre-requisites: GitHub Copilot with Agent mode (or equivalent AI coding assistant), an existing codebase, a feature idea to implement, and optionally a Jira or GitHub issue (ideally with Figma design links); otherwise, a detailed written description of the feature.
Introduction to Spec Driven Development
Spec Driven Development (SDD) is an approach to building software where you start by clearly defining what you want to build before deciding how to build it. Instead of immediately writing code, you first create a plain-English specification that describes the feature’s purpose, behavior, constraints, and how it fits into the existing system.
This spec then becomes the foundation for everything that follows. It is progressively refined into explicit requirements, a technical design and implementation plan, and finally a set of concrete tasks. Each step adds precision while preserving the original intent, creating a clear line from product idea to shipped code.
SDD is especially powerful when working with AI coding assistants. AI performs best when given clear context, goals, and constraints. A well-written spec provides that context, dramatically improving the quality, consistency, and correctness of the code the AI produces. Instead of prompting the AI to “write some code,” you guide it through a structured reasoning process.
By separating design from implementation, SDD also reduces common AI pitfalls:
Hallucinated requirements or architecture
Misalignment with existing codebases
Rework caused by unclear intent or missing constraints
In practice, SDD trades a small amount of upfront design time for significantly better AI output and smoother feature delivery—especially in real-world, non-trivial codebases.
In this workshop, you’ll use Spec Driven Development as a collaboration model with AI — letting the AI help design the solution, validate assumptions, generate tests, and implement code — while you stay focused on intent, correctness, and decision-making.
Traditional AI Coding | Spec Driven Development |
|---|---|
Starts with code | Starts with intent |
Implicit requirements | Explicit requirements |
AI guesses context | AI is given structured context |
Frequent rework | Fewer surprises, better alignment |
Harder to scale to large features | Scales well to complex systems |
Introduction to Spec Kit
In this section, you’ll learn about a popular framework for implementing Spec Driven Development, Spec Kit. You’ll then augment the process to integrate it with MCP servers so you can read feature descriptions from Jira/GitHub issues.
Start here to get learn the basics about Spec Kit and get it set up in your codebase
MCP Integration
Once you have Spec Kit set up in your codebase and you’ve created a constitution. The next step is to run through the full SDD workflow, where you’ll generate an actual feature.
One thing that’s good to do before you begin is to connect Spec Kit with a project management platform like Jira or GitHub. This will allow you to source feature descriptions directly from the source.
Spec Kit has a /speckit.specify command that allows you to define the feature you want to implement, and then creates a spec.md file along with detailed requirements.
Ex.
/speckit.specify generate a new feature in the codebase which allows users to change their profile picture.
This is the simplest way to kick off the spec creation process. However often times, you’ll have a detailed ticket in Jira or GitHub which describes the feature you want to implement, and you’ll want to pass /speckit.specify more context than can fit into a few sentences in a prompt.
This is where MCP comes in. MCP allows your Coding agent to connect to external services like Jira or GitHub and read tickets and inspect linked assets like Figma designs.
✏️ MCP Setup in VS Code
Create a
.vscode/mcp.jsonfile.
Add MCP servers for your project management service (GitHub, Jira, etc).
Test the MCP servers
Ask Copilot to grab info about a Jira/GitHub issue or inspect a Figma design.
Modify your Spec Kit
/speckit.specifyprompt to automatically look out for Jira/GitHub/Figma links and use the corresponding MCP servers
✏️ Implementing a Feature
Now that Spec Kit is setup and you can integrate with MCP servers to source information about the features you want to implement, it’s time to start the SDD process. Follow along with each step below to work through the full SpecKit workflow:
https://wiki.at.bitovi.com/wiki/spaces/AIEnabledDevelopment/pages/1844969633 - generate a set of standards and rules for the spec driven development process
https://wiki.at.bitovi.com/wiki/spaces/AIEnabledDevelopment/pages/1847263243 - create a high level spec for the feature you want to implement along with a requirements document
https://wiki.at.bitovi.com/wiki/spaces/AIEnabledDevelopment/pages/1847689218 - answer targeted questions about the spec to help clear up any inconsistencies
https://wiki.at.bitovi.com/wiki/spaces/AIEnabledDevelopment/pages/1847066635 - generate a detailed technical implementation plan
https://wiki.at.bitovi.com/wiki/spaces/AIEnabledDevelopment/pages/1845264564 - create a list of implementation tasks that need to be completed to generate the feature
https://wiki.at.bitovi.com/wiki/spaces/AIEnabledDevelopment/pages/1847656463 - have the Agent analyze all of the files generate so far for consistency and completeness
https://wiki.at.bitovi.com/wiki/spaces/AIEnabledDevelopment/pages/1847099402 - build the feature
8. Manually test the new feature
Test the new feature yourself to confirm it’s what you’re looking for.
If there are any minor problems with the implementation, ask the
/specify.implementagent to fix them.If the feature is completely different from what you expected, it can sometimes help to completely re-start the process with updated requirements. Ideally you should be checking all the documents the Agents generate as you go through the SDD process to make sure there are no major inconsistencies at the implementation phase.
Conclusion
In this workshop, you learned how to use Spec Driven Development with GitHub Spec Kit to work with AI in a more deliberate and reliable way—starting from intent, refining clarity, planning before coding, and then executing with confidence. This structured approach helps eliminate guesswork, reduces rework, and produces higher-quality AI-generated code.
By integrating real product and design context through MCP servers and running the full Spec Kit workflow end to end, you now have a repeatable process you can apply to future features and larger systems. Treat the spec as the source of truth, and use Spec Kit as both a development tool and a thinking framework for building with AI.