Localized reading guide
copilot-sdkPurpose, usage and source
Build applications powered by GitHub Copilot using the Copilot SDK. Use when creating programmatic integrations with Copilot across Node.js/TypeScript, Python, Go, or .NET. Covers session management, custom tools, streaming, hooks, MCP servers, BYOK providers, session persistence, custom agents, skills, and deployment patterns. Requires GitHub Copilot CLI installed and a GitHub Copilot subscription (unless using BYOK).
Source retrieved:
- Source repository
- microsoft/skills
- SKILL.md
.github/skills/copilot-sdk/SKILL.md- Repository stars
- 3,157
- Repository updated
- 2026-10-31
- Categories
- Development
- Last collected
License: MIT
Workflow excerpts are reading aids, not executable instructions from Codez. No third-party Skill was run to produce this page.
The purpose and workflow passages below are upstream material, organized and translated for reading. They are distinct from the separately labeled Codez editorial analysis.
What this Skill does
Build applications powered by GitHub Copilot using the Copilot SDK. Use when creating programmatic integrations with Copilot across Node.js/TypeScript, Python, Go, or .NET. Covers session management, custom tools, streaming, hooks, MCP servers, BYOK providers, session persistence, custom agents, skills, and deployment patterns. Requires GitHub Copilot CLI installed and a GitHub Copilot subscription (unless using BYOK).
How the upstream workflow works
Core Pattern: Client → Session → Message
All SDK usage follows: create a client, create a session, send messages.
Upstream passage · L44 ↗GitHub Copilot SDK
Build applications that programmatically interact with GitHub Copilot. The SDK wraps the Copilot CLI via JSON-RPC, providing session management, custom tools, hooks, MCP server integration, and streaming across Node.js, Python, Go, and .NET.
Upstream passage · L6 ↗Your App → SDK Client → [stdio/TCP] → Copilot CLI → Model Provider
↕
MCP ServersRequirements and setup
Prerequisites
GitHub Copilot CLI installed and authenticated (copilot --version) GitHub Copilot subscription (Individual, Business, or Enterprise) — not required for BYOK
Tool Requirements
Handler must return JSON-serializable data (not undefined) Parameters must follow JSON Schema format
Limits and quality checks
BYOK Limitations
Static credentials only — no native Entra ID, OIDC, or managed identity support No auto-refresh — expired tokens require creating a new session
Upstream passage · L574 ↗Start with a safe trial
- Check the supported host and the repository installation instructions. Keep the Skill directory and its referenced scripts, assets and documentation together; SKILL.md alone may omit dependencies.
- Give the agent your real input, desired output and acceptance criteria. Invocation syntax and available tools depend on the host; this site does not assume a universal install command.
- Try the source workflow in a disposable project or on a copy. Review operations that change files, remote services or billable resources before allowing them.
- Validate the output against the source quality checks and your own requirements. A successful trigger or a high repository Star count does not establish a correct result.
Read further in the source
- GitHub Copilot SDK
- Prerequisites
- Architecture
- Core Pattern: Client → Session → Message
- Streaming Responses
- Event Subscription
- Custom Tools
- Tool Requirements
- Hooks
- Pre-Tool Use Hook
- Post-Tool Use Hook
- User Prompt Submitted Hook
- Error Handling Hook
- MCP Server Integration
- MCP Config Fields
- MCP Debugging
- Methods (Priority Order)
- OAuth GitHub App
- Disable Auto-Login
- BYOK (Bring Your Own Key)
- Provider Configurations
- Azure Managed Identity with BYOK
- BYOK Limitations
- Session Persistence
- Resume Options
- What Gets Persisted
- Infinite Sessions
- Custom Agents
- System Message
- Skills Integration
Related Skills
Translation and scope
This reading guide selects passages from the pinned upstream SKILL.md. Translation is assisted. It is not a complete manual or a claim of tested compatibility. Read the original and its referenced files before use.
This introduction refers to the pinned version below; current repository activity and collection time are shown separately.
- Pinned source
- Read the original ↗
- Source retrieved
- Source commit
00d66a64919edca5bca2c673373444e36a4b5461- Source SHA-256
9bec8025d0ccf14b3c2f66754966781ba42d08a57b86b103bb9ef98d9f05c58b