Welcome to the GitHub Copilot Katas! This hands-on workshop will take you from basic code completion to advanced AI-assisted development using GitHub Copilot.
Whether you're new to AI pair programming or looking to level up your skills, this workshop is designed to help you get the most out of GitHub Copilot.
Throughout this workshop, you'll work with two projects using GitHub Copilot as your AI pair programmer:
- β¨οΈ Generate code with inline completion and comment-driven suggestions
- π¬ Explore and refactor code through Chat in Ask Mode
- π€ Build full features autonomously with Agent Mode
- π Plan complex changes before coding with Plan Mode
- π Connect Copilot to external tools with MCP
- π Define coding standards with Custom Instructions
- π Build reusable Prompt Templates
- π€ Create specialized Custom Agents
- π§ Encode domain expertise as Skills
Before you begin, ensure you have:
- VS Code installed (Download)
- GitHub Copilot Chat extension installed
- A valid GitHub Copilot subscription (individual or organization)
The first workshop supports multiple programming languages. Choose one:
| Language | Requirements |
|---|---|
| JavaScript | Node.js 18+ |
| Python | Python 3.10+ |
| C# | .NET 8+ |
The workshop is divided into two parts covering core and advanced GitHub Copilot features:
Set up your environment and verify Copilot is working correctly.
Master the art of inline code suggestions, including:
- Autocomplete suggestions
- Code generation from comments
- Next edit suggestions (Copilot Edits)
- Tab completion strategies
Learn to use the Copilot Chat effectively:
- Chatbot interaction basics
- Useful slash commands (
/explain,/fix,/tests, etc.) - Adding context with
@workspace,@terminal,#file - Learning and refactoring code
Let Copilot take the wheel:
- Creating new files and features
- Generating unit tests
- Autonomous multi-step tasks
Plan before you build:
- Creating implementation plans with Copilot
- Iterating on plans before coding
- Executing plans step by step
- Combining planning with agent execution
Extend Copilot with external tools and data:
- Installing MCP servers from the gallery and configuring
mcp.json - Server types: stdio (local) and HTTP/SSE (remote)
- Using MCP tools, resources, prompts, and apps
- Input variables for secure API key management
- Server trust, management, and combining multiple servers
Teach Copilot your team's conventions:
- Repo-level instructions (
.github/copilot-instructions.md) - File-scoped instructions (
.instructions.mdwithapplyToglobs) - Auto-generating instructions with
/init - Verifying with the diagnostics view
Create reusable task templates:
- Building
.prompt.mdfiles with YAML frontmatter - Variables (
${file},${selection},${input:name}) - Configuring agent mode, model, and tools per prompt
- Building a prompt library for your team
Build specialized AI team members:
- Creating
.agent.mdfiles with YAML frontmatter - Agent tools, models, and visibility controls
- Handoffs for multi-agent workflows
- Agents dropdown and
/agentscommand
Encode deep domain expertise:
- Creating
SKILL.mdfiles in named directories - Progressive 3-level loading and automatic discovery
- Including resources (scripts, templates, data) alongside skills
/skillscommand and visibility controls
copilot-katas/
βββ README.md
βββ CHEATSHEET.md
βββ labs/
β βββ 00-getting-started.md
β βββ 01-inline-completion.md
β βββ 02-chat-window.md
β βββ 03-agent-mode.md
β βββ 04-plan-mode.md
β βββ 05-mcp.md
β βββ 06-instructions.md
β βββ 07-prompts.md
β βββ 08-agents.md
β βββ 09-skills.md
βββ starter-code/
β βββ javascript/ β Todo App (Labs 00-04)
β β βββ package.json
β β βββ index.html
β β βββ src/
β βββ python/ β Todo App (Labs 00-04)
β β βββ requirements.txt
β β βββ src/
β βββ csharp/ β Todo App (Labs 00-04)
β β βββ TodoApp.csproj
β β βββ src/
β βββ recipe-api/ β Recipe API (Labs 05-09)
β βββ package.json
β βββ README.md
β βββ src/
βββ trainer/
β βββ GUIDE.md
βββ solutions/
βββ (reference implementations)
This tutorial is designed to be:
- Self-paced: Work through exercises at your own speed
- Hands-on: Learn by doing, not just reading
- Discovery-based: The exercises guide you but don't always give exact answers
- Language-flexible: Use the programming language you're most comfortable with
Head over to Lab 00 - Getting Started to begin your journey!
For a quick reference of common Copilot shortcuts and commands, see CHEATSHEET.md.
Found an issue or have a suggestion? Feel free to open an issue or submit a pull request!
MIT License - feel free to use this material for your own training sessions.
