Skip to main content Home Creators diegosouzapw awesome-omni-skill github-copilot-sdk
github-copilot-sdk Comprehensive knowledge of GitHub Copilot SDK for embedding Copilot's agentic workflows in Python, TypeScript, Go, and .NET applications. Auto-activates for Copilot SDK integration, CopilotClient usage, session management, streaming responses, custom tools, and MCP server connections.
Jump to install Skills Marketplace Discover and explore AI skills built by the community.
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Copy promptShow prompt details A direct command skips the review prompt. Inspect the source before running it.
npx skills add https://github.com/diegosouzapw/awesome-omni-skill --skill github-copilot-sdkThe command stays on one line. Scroll horizontally to inspect it before copying.
Prefer a local copy? Download the files currently available to SkillsMP.
Download Zip Downloading... More from this repository Token-efficient tracking for AI orchestration. CLI-first for status updates (~50 tokens), agent fallback for complex ops (~1KB). Use when: updating task status, querying blockers, creating progress files, validating phases.
AshAi extension guidelines for integrating AI capabilities with Ash Framework. Use when implementing vectorization/embeddings, exposing Ash actions as LLM tools, creating prompt-backed actions, or setting up MCP servers. Covers semantic search, LangChain integration, and structured outputs.
This skill should be used when solving hard questions, complex architectural problems, or debugging issues that benefit from GPT-5 Pro or GPT-5.1 thinking models with large file context. Use when standard Claude analysis needs deeper reasoning or extended context windows.
Related occupations SOC
Based on SOC occupation classification
name github-copilot-sdk description Comprehensive knowledge of GitHub Copilot SDK for embedding Copilot's agentic workflows in Python, TypeScript, Go, and .NET applications. Auto-activates for Copilot SDK integration, CopilotClient usage, session management, streaming responses, custom tools, and MCP server connections. version 1.0.0 last_updated "2025-01-25T00:00:00.000Z" source_urls ["https://github.com/github/copilot-sdk","https://github.com/github/awesome-copilot/blob/main/collections/copilot-sdk.md"] activation_keywords ["copilot sdk","github copilot sdk","copilot client","github copilot client","copilot session","copilot streaming","copilot custom tools","copilot mcp","embed copilot","copilot api"] auto_activate true token_budget 2000
GitHub Copilot SDK - Comprehensive Skill
Overview
The GitHub Copilot SDK enables developers to embed Copilot's agentic workflows programmatically in their applications. It exposes the same engine behind Copilot CLI as a production-tested agent runtime you can invoke from code.
When to Use the Copilot SDK
Use the Copilot SDK when:
Building applications that need Copilot's AI capabilities
Implementing custom AI assistants with tool-calling abilities
Creating integrations that leverage Copilot's code understanding
Connecting to MCP (Model Context Protocol) servers for standardized tools
Need streaming responses in custom UIs
Don't use when:
GitHub Copilot CLI is sufficient (use CLI directly)
No programmatic integration needed (use Copilot in VS Code)
Building simple chat without tools (use standard LLM API)
Language Support
SDK Installation Node.js/TypeScript npm install @github/copilot-sdkPython pip install github-copilot-sdkGo go get github.com/github/copilot-sdk/go.NET dotnet add package GitHub.Copilot.SDK
Prerequisites
GitHub Copilot CLI installed and authenticated
Active Copilot subscription (free tier available with limits)
Quick Start
Minimal Example (TypeScript)
import { CopilotClient } from "@github/copilot-sdk" ;
const client = new CopilotClient ();
const session = await client.createSession ({ model : "gpt-4.1" });
response = session. ({ : });
. (response?. . );
client. ();
const
await
sendAndWait
prompt
"What is 2 + 2?"
console
log
data
content
await
stop
Minimal Example (Python) import asyncio
from copilot import CopilotClient
async def main ():
client = CopilotClient()
await client.start()
session = await client.create_session({"model" : "gpt-4.1" })
response = await session.send_and_wait({"prompt" : "What is 2 + 2?" })
print (response.data.content)
await client.stop()
asyncio.run(main())
Add Streaming const session = await client.createSession ({
model : "gpt-4.1" ,
streaming : true ,
});
session.on ((event ) => {
if (event.type === "assistant.message_delta" ) {
process.stdout .write (event.data .deltaContent );
}
});
await session.sendAndWait ({ prompt : "Tell me a joke" });
Add Custom Tool import { defineTool } from "@github/copilot-sdk" ;
const getWeather = defineTool ("get_weather" , {
description : "Get weather for a city" ,
parameters : {
type : "object" ,
properties : {
city : { type : "string" , description : "City name" },
},
required : ["city" ],
},
handler : async ({ city }) => ({
city,
temperature : `${Math .floor(Math .random() * 30 ) + 50 } °F` ,
condition : "sunny" ,
}),
});
const session = await client.createSession ({
model : "gpt-4.1" ,
tools : [getWeather],
});
Core Concepts
Architecture Your Application → SDK Client → JSON-RPC → Copilot CLI (server mode)
The SDK manages the CLI process lifecycle automatically or connects to an external CLI server.
Key Components
CopilotClient : Entry point - manages connection to Copilot CLI
Session : Conversation context with model, tools, and history
Tools : Custom functions Copilot can invoke
Events : Streaming responses and tool call notifications
MCP Integration : Connect to Model Context Protocol servers
Session Configuration const session = await client.createSession ({
model : "gpt-4.1" ,
streaming : true ,
tools : [myTool],
mcpServers : {
github : {
type : "http" ,
url : "https://api.githubcopilot.com/mcp/" ,
},
},
systemMessage : {
content : "You are a helpful assistant." ,
},
customAgents : [
{
name : "code-reviewer" ,
displayName : "Code Reviewer" ,
description : "Reviews code for best practices" ,
prompt : "Focus on security and performance." ,
},
],
});
Navigation Guide
When to Read Supporting Files reference.md - Read when you need:
Complete API reference for all 4 languages
All method signatures with parameters and return types
Session configuration options
Event types and handling
External CLI server connection
examples.md - Read when you need:
Working copy-paste code for all 4 languages
Error handling patterns
Multiple sessions management
Interactive assistant implementation
Custom agent definition examples
patterns.md - Read when you need:
Production-ready architectural patterns
Streaming UI integration
MCP server integration patterns
Rate limiting and retry patterns
Structured output extraction
drift-detection.md - Read when you need:
Understanding how this skill stays current
Validation workflow
Update procedures
Quick Reference
Common Event Types Event Type (TS/Go) Python Enum assistant.message_deltaSessionEventType.ASSISTANT_MESSAGE_DELTAsession.idleSessionEventType.SESSION_IDLEtool.invocationSessionEventType.TOOL_EXECUTION_STARTtool.resultSessionEventType.TOOL_EXECUTION_COMPLETE
Python : Import from copilot.generated.session_events import SessionEventType
Default Tools The SDK operates in --allow-all mode by default, enabling:
File system operations
Git operations
Web requests
All first-party Copilot tools
Integration with Amplihack Use the Copilot SDK to build custom agents within amplihack:
from copilot import CopilotClient
async def create_code_review_agent ():
client = CopilotClient()
await client.start()
session = await client.create_session({
"model" : "gpt-4.1" ,
"streaming" : True ,
"systemMessage" : {
"content" : "You are an expert code reviewer."
}
})
return session
Next Steps
Start Simple : Basic send/receive with default model
Add Streaming : Real-time responses for better UX
Add Tools : Custom functions for your domain
Connect MCP : Use GitHub MCP server for repo access
Build UI : Integrate into your application
For complete API details, see reference.md.
For working code in all languages, see examples.md.
For production patterns, see patterns.md.