Dev & Engineering ✓ Microsoft · Official github-copilotcopilot-sdkjson-rpcmcpstreamingsession-persistencecustom-tools

GitHub Copilot SDK Builder

Build programmable GitHub Copilot applications and agent workflows through one multi-language SDK.

FollowSkills review · FSRS-2.0
Use with care
49/ 100 5-point scale 2.5 / 5
1 2 3 4 5 6
1Trust13 / 25 · 2.6/5

The document discloses stdio/TCP, MCP, model providers, tokens, session persistence, and tool execution, and includes permission-hook examples, a denial example, session deletion, and cleanup guidance. However, the remote MCP example uses bearer credentials with tools:["*"], persistence stores full conversations and tool results, and user confirmation, least privilege, sensitive-data boundaries, and rollback are incomplete, so points are deducted.

2Reliability8 / 20 · 2.0/5

The skill provides multi-language core flows, timeout and retry behavior, error hooks, and abnormal-case guidance; the repository also contains related tests and evaluation workflows. Static review cannot verify dependency versions, API correctness, cross-language key paths, or runtime failure behavior, and the supplied skill text is truncated at Client Configuration, so the score remains below the static ceiling.

3Adaptability8 / 15 · 2.7/5

Audience, supported languages, prerequisites, core scenarios, and deployment modes are reasonably clear. Non-fit boundaries, trigger precision, version compatibility, and Chinese-language guidance are limited; core use depends on GitHub Copilot CLI, subscriptions, or remote endpoints, with no mainland-China reachability guidance, so points are deducted.

4Convention8 / 15 · 2.7/5

Information is organized progressively across prerequisites, installation, architecture, examples, permissions, security, persistence, and deployment. MIT licensing, official provenance, a README catalog, and security-reporting guidance are present. However, the repository declares work-in-progress status, while skill versioning, changelog, maintenance ownership, update path, FAQ coverage, and complete documentation boundaries are weak; the SKILL.md also appears incomplete.

5Effectiveness7 / 15 · 2.3/5

The skill covers clients, sessions, streaming, tools, hooks, MCP, BYOK, persistence, agents, and deployment, with directly reusable examples in four languages. Correctness, current SDK compatibility, complete outputs, and comparative benefit are not statically demonstrated, so effectiveness is capped at 7.

6Verifiability5 / 10 · 2.5/5

The evidence includes the selected skill, MIT license, README, CI evaluation workflows, test code, and error-classification tests, providing some auditability. There are no executed results, coverage reports, or third-party corroboration for this skill, and no reproduction was performed, so the static ceiling of 5 applies.

Evidence confidence:Low Reviewed Jul 20, 2026 Reviewed revision 9ccaf7c3704a
Before you use it
  • Before using remote MCP, shell access, or persistent sessions, restrict tool sets, isolate working directories, review token propagation, and obtain per-action user confirmation; do not use tools:["*"] or environment-token examples directly in production.
  • The examples depend on GitHub Copilot CLI, a subscription, or external model endpoints; verify current SDK versions, regional network reachability, authentication permissions, and language-specific API compatibility first.
  • The repository is marked work in progress, and the supplied SKILL.md is incomplete at Client Configuration; documentation and CI presence should not be treated as proof of production readiness.
See the full review method →

What does this skill do, and when should you use it?

This skill helps developers build applications that interact programmatically with GitHub Copilot through the Copilot SDK and CLI. It covers Node.js/TypeScript, Python, Go, and .NET, including sessions, streaming, custom tools, hooks, MCP, BYOK, persistence, custom agents, and deployment. It is suited to teams embedding Copilot capabilities into backend services, desktop applications, or automated workflows. A GitHub Copilot CLI installation and authentication are normally required, along with a Copilot subscription unless BYOK is used.

Provides installation and client/session examples for four languages; explains stdio and TCP communication with the Copilot CLI; configures streaming events, custom tools, permission handlers, lifecycle hooks, and error handling; connects local or HTTP MCP servers; configures GitHub credentials or BYOK providers including OpenAI, Azure, Anthropic, and Ollama; creates, resumes, lists, and deletes sessions; and covers custom agents, skill directories, infinite sessions, and Docker Compose deployment.

  1. A Node.js, Python, Go, or .NET team adding programmable Copilot sessions to a backend service.
  2. An interactive application that needs to display model output incrementally as it arrives.
  3. A development team exposing business APIs, weather data, or other functions as custom tools for Copilot.
  4. An application that must approve tool calls, modify arguments, redact results, or record session metrics.
  5. An agent application that needs local or remote MCP server integrations.
  6. A multi-user service that must isolate sessions or resume conversations after an application restart.

What are this skill's strengths and limitations?

Pros
  • Supports Node.js/TypeScript, Python, Go, and .NET.
  • Covers sessions, streaming, custom tools, hooks, MCP, BYOK, and deployment patterns in one guide.
  • Documents both local stdio and TCP CLI connectivity.
  • Includes practical guidance for persistence, permissions, error handling, and production deployment.
Limitations
  • Requires the GitHub Copilot CLI; an Individual, Business, or Enterprise subscription is normally also required.
  • BYOK tokens do not refresh automatically, and provider configuration must be supplied again when resuming a session.
  • The SDK does not provide interactive CLI UI, slash commands, login/logout flows, session export, or several other CLI-only features.
  • The source does not provide an independent test suite for this skill or verification results for each runtime platform.

How do you install this skill?

Install the repository's skill collection in Copilot CLI with npx skills add microsoft/skills. Select the required skill in the wizard; for GitHub Copilot, it is installed under the selected agent directory, such as .github/skills/. Install the SDK package for your language with npm install @github/copilot-sdk, pip install github-copilot-sdk, go get github.com/github/copilot-sdk/go, or dotnet add package GitHub.Copilot.SDK. The Copilot CLI must also be installed and authenticated before using the SDK.

How do you use this skill?

In an Agent Skills-compatible coding agent, trigger the skill for a task such as: “Build a resumable Python Copilot SDK session with one custom tool.” Create a CopilotClient, create a session, call send or sendAndWait, and configure streaming, tools, hooks, mcpServers, provider, or sessionId as needed. Stop the client when finished. Use the language-specific examples in the skill for exact API shapes.

How does this skill compare with similar options?

Compared with using the Copilot CLI directly, this skill focuses on embedding Copilot into applications through programmatic session, message, tool, event, and deployment APIs. The CLI still provides interactive UI, slash commands, authentication flows, and session export that are not available in the SDK.

FAQ

Is a GitHub Copilot subscription required?
A subscription is normally required for GitHub Copilot service access: Individual, Business, or Enterprise. BYOK does not require a Copilot subscription, but it requires credentials for a supported model provider.
How does the SDK connect to Copilot?
The SDK communicates with the Copilot CLI over JSON-RPC. By default it runs the CLI as a subprocess over stdio, or it can connect to an external CLI server over TCP.
Can sessions survive an application restart?
Yes. Create a session with a custom sessionId and later call resumeSession. Conversation history, tool results, planning state, and session artifacts are persisted; API keys and in-memory tool state are not.
How can an application control tool permissions?
Use onPreToolUse or onPermissionRequest to inspect tool names and arguments and return an allow, deny, or ask decision. Permission requests are denied by default unless a handler is provided.

More skills from this repository

All from microsoft/agent-skills

Dev & Engineering ✓ Microsoft · Official

Microsoft Agent Skills

Reusable Azure SDK and Microsoft Foundry guidance for AI coding agents.

Dev & Engineering ✓ Microsoft · Official

Azure AI Foundry Agent Framework

Helps Python developers build persistent Azure AI Foundry agents with hosted tools, MCP integrations, threads, and streaming.

Dev & Engineering ✓ Microsoft · Official

Azure Upgrade

Assess and automate Azure plan, SKU, service, and legacy Java SDK upgrades.

Dev & Engineering ✓ Microsoft · Official

Azure Blob Storage for TypeScript

A practical guide for uploading, downloading, and managing Azure Blob Storage from TypeScript and JavaScript applications.

Dev & Engineering ✓ Microsoft · Official

MCP Server Development Guide

A practical guide to building clear, testable MCP servers that let LLMs work with external APIs.

Dev & Engineering ✓ Microsoft · Official

Microsoft 365 Agents SDK for TypeScript

Build TypeScript enterprise agents with routing, Express hosting, streaming responses, and Copilot Studio integration.

Dev & Engineering ✓ Microsoft · Official

Azure Skill Creator

A disciplined guide for building concise, verifiable Azure SDK skills for coding agents.

Dev & Engineering ✓ Microsoft · Official

Azure Blob Storage for Java

A practical Java playbook for building file and streaming workflows on Azure Blob Storage.

Automation & Ops ✓ Microsoft · Official

Azure Cloud Migration Assistant

Assess cross-cloud workloads and convert them for Azure services.

Automation & Ops ✓ Microsoft · Official

Azure Deployment Runner

Execute Azure deployments for prepared, validated applications with built-in checks and recovery.

Automation & Ops ✓ Microsoft · Official

Azure Resource Lookup

Inventory, filter, and discover Azure resources across subscriptions.

Dev & Engineering ✓ Microsoft · Official

Azure OpenAI Deployment Assistant

Discover capacity and deploy Azure OpenAI models through intent-based routing.

Dev & Engineering ✓ Microsoft · Official

Azure Storage Skill

Gives coding agents practical guidance and operations for Azure objects, files, queues, tables, and data lakes.

Dev & Engineering ✓ Microsoft · Official

Azure AI Services Skill

Guides coding agents through Azure AI Search, Speech, OpenAI, and OCR workflows.

Dev & Engineering ✓ Microsoft · Official

Azure Persistent Agents for .NET

A practical .NET playbook for building and operating Azure AI persistent agents.

Dev & Engineering ✓ Microsoft · Official

Microsoft Foundry Agent Skill

Manage the Microsoft Foundry agent lifecycle with azd and Foundry MCP—from scaffolding and deployment to evaluation and optimization.

Automation & Ops ✓ Microsoft · Official

Azure Python App Service Deployer

Deploy Flask, Django, FastAPI, or other Python apps to Azure App Service Linux.

Dev & Engineering ✓ Microsoft · Official

Slack-to-Teams Migration Expert

Guides developers through Slack bot migration, Teams enablement, and cross-platform bot delivery.

Dev & Engineering ✓ Microsoft · Official

Azure AI Projects for TypeScript

Practical TypeScript guidance for building Azure AI Foundry applications with project clients, agents, tools, and evaluations.

Dev & Engineering ✓ Microsoft · Official

Copilot MCP Widget Builder

Build interactive React widgets and MCP servers for Microsoft 365 Copilot Chat.

Related skills