copilot-sdk
Build agentic applications with GitHub Copilot SDK. Use when embedding AI agents in apps, creating custom tools, implementing streaming responses, managing sessions, connecting to MCP servers, or creating custom agents. Triggers on Copilot SDK, GitHub SDK, agentic app, embed Copilot, programmable agent, MCP server, custom agent.
npx skills add github/awesome-copilot --skill copilot-sdk --agent copilot
Same command for any agent — swap --agent for claude-code, codex, cursor.
Weekly change comes from our own snapshots, not the repository page — it measures attention, not adoption.
What it does
Embeds Copilot's agentic workflows into applications using multiple runtimes (Python, TypeScript, Go, or .NET). It provides a production-tested agent runtime you invoke programmatically, letting you define agent behavior while Copilot handles planning, tool invocation, file edits, and more. It supports streaming responses, session management, and integration with custom tools and MCP servers.
How it works
- Prerequisites include installing the GitHub Copilot CLI and a language runtime (Node.js, Python, Go, or .NET).
- It offers installation examples for Node.js/TypeScript, Python, Go, and .NET packages.
- Quick Start shows creating a CopilotClient, starting a session, configuring model and permission handling, and sending prompts with sendAndWait, including streaming mode.
- Streaming mode enables real-time output via event handling (SessionEvent) for assistant.message_delta and session idle events.
- Tools can be defined (e.g., get_weather) with a description, parameters schema, and a handler; tools are passed to sessions so Copilot can invoke them during reasoning.
- Tools work by Copilot calling your tool with parameters, the SDK running your handler, and returning the result for Copilot to incorporate.
- Interactive CLI and multi-language examples illustrate how to build a full assistant that can call defined tools.
- MCP Server Integration shows connecting to MCP servers (GitHub) by providing MCP server configurations in the session.
- Custom Agents section indicates the ability to define specialized AI personas or agents, then run sessions with those configurations.
When to use it
- When embedding AI agents in apps and needing an orchestrated runtime for planning, tool invocation, and edits.
- When you want streaming responses for improved UX.
- When you need to define and expose custom tools that Copilot can invoke during reasoning.
- When you must connect to MCP servers for pre-built tools or data access (e.g., GitHub resources).
What it can touch
- Tools defined via define_tool or Tool definitions are passed to Copilot during session creation.
- Sessions can be configured with MCPServers (e.g., github) for external data access.
- The SDK interacts with the Copilot engine, issuing prompts, receiving responses, and invoking tool handlers.
Caveats
- Licensing is MIT.
- Requires a Copilot CLI installation and authentication.
- Detailed behavior depends on the Copilot SDK and model (e.g., gpt-4.1) and may vary with streaming and tool availability.
- The skill description and examples do not guarantee specific outcomes; outcomes depend on Copilot planning and tool results.
# GitHub Copilot SDK Embed Copilot's agentic workflows in any application using Python, TypeScript, Go, or .NET. ## Overview The GitHub Copilot SDK exposes the same engine behind Copilot CLI: a production-tested agent runtime you can invoke programmatically. No need to build your own orchestration - you define agent behavior, Copilot handles planning, tool invocation, file edits, and more. ## Prerequisites 1. **GitHub Copilot CLI** installed and authenticated ([Installation guide](https://docs.github.com/en/copilot/how-tos/set-up/install-copilot-cli)) 2. **Language runtime**: Node.js 18+, Python 3.8+, Go 1.21+, or .NET 8.0+ Verify CLI: `copilot --version` ## Installation ### Node.js/TypeScript ```bash mkdir copilot-demo && cd copilot-demo npm init -y --init-type module npm install @github/copilot-sdk tsx ``` ### Python ```bash pip install github-copilot-sdk ``` ### Go ```bash mkdir copilot-demo && cd copilot-demo go mod init copilot-demo go get github.com/github/copilot-sdk/go ``` ### .NET ```bash dotnet new console -n CopilotDemo && cd CopilotDemo dotnet add package GitHub.Copilot.SDK ``` ## Quick Start ### TypeScript ```typescript import { CopilotClient, approveAll } from "@githu
- Overview
- Prerequisites
- Installation
- Node.js/TypeScript
- Python
- Go
- .NET
- Quick Start
- TypeScript
- .NET (C#)
- Streaming Responses
- Custom Tools
- TypeScript (JSON Schema)
- Python (Pydantic)
mkdir copilot-demo && cd copilot-demo npm init -y --init-type module npm install @github/copilot-sdk tsx pip install github-copilot-sdk go mod init copilot-demo go get github.com/github/copilot-sdk/go dotnet new console -n CopilotDemo && cd CopilotDemo dotnet add package GitHub.Copilot.SDK copilot --server --port 4321
What does the copilot-sdk skill do?
Build agentic applications with GitHub Copilot SDK. Use when embedding AI agents in apps, creating custom tools, implementing streaming responses, managing sessions, connecting to MCP servers, or creating custom agents. Triggers on Copilot SDK, GitHub SDK, agentic app, embed Copilot, programmable agent, MCP server, custom agent.
How do I install it?
Run `npx skills add github/awesome-copilot --skill copilot-sdk --agent claude-code` — it drops the skill into your project so the agent can pick it up. Swap the --agent value for codex, cursor or copilot if you use one of those.
Where does this skill come from?
From github/awesome-copilot, a repository with 37,432 stars. We read it straight from the repository tree rather than a submitted listing, so what you see here is what is actually published.
Is a popular skill a good skill?
Not necessarily. Stars measure attention, not adoption — a repository can trend for a week and be abandoned. That is why we show the weekly change from our own snapshots next to the total, instead of a single flattering number.