Follow these steps to start building Copilot Extensions.
This article is designed to help you build an entirely new GitHub Copilot Extension. To instead learn how to quickly build and test a demo Copilot Extension created by GitHub, see Quickstart for GitHub Copilot Extensions using agents.
Skillsets and agents are the two ways to extend Copilot's capabilities and context through the Copilot Extensibility Platform. They let you integrate external services and APIs into Copilot Chat, but each one serves different use cases and offers different levels of control and complexity:
Copilot agents contain the custom code for your Copilot Extension, and integrate with a GitHub App to form the Copilot Extension itself. For more information, see About Copilot agents.
To successfully build a Copilot agent, you need to understand how the agent communicates with:
To see the previous concepts in practice and learn about agent implementations, review the following example agents and software development kit (SDK), all of which are available in the copilot-extensions organization:
copilot-extensions
Using the reference material from the previous steps, plan and build your Copilot agent. You can choose to implement any of the following options:
To make your Copilot agent accessible to the Copilot platform and GitHub, you need to deploy it to a server that is reachable by HTTP request. See Configuring your server to host your Copilot extension.
To create a Copilot Extension, you need to create and configure a GitHub App, then integrate it with your Copilot agent. See Creating a GitHub App for your Copilot Extension and Configuring your GitHub App for your Copilot extension.
Choose one of two visibility levels for your Copilot Extension:
If you make your Copilot Extension public, you can then choose to list it on the GitHub Marketplace.
To learn how to change the visibility of your Copilot Extension and list it on the GitHub Marketplace, see Managing the availability of your Copilot Extension.
To learn how to use your Copilot Extension, see Using extensions to integrate external tools with Copilot Chat.
Github Copilot skillsets contain the custom code for your Copilot Extension, and integrate with a GitHub App to form the Copilot Extension itself.
Unlike Copilot agents, Copilot skillsets handle the logic behind prompt crafting, function evaluation, and response generation, making them an ideal choice for developers seeking quick and effective integrations with minimal effort. For more information, see About Copilot skillsets.
To explore an example of a skillset implementation, see the copilot-extensions organization.
To build a skillset, see Building Copilot skillsets.
To make your Copilot skillset accessible to the Copilot platform and GitHub, you need to deploy it to a server that is reachable by HTTP request. See Configuring your server to host your Copilot extension.
To create a Copilot Extension, you need to create and configure a GitHub App, then integrate it with your Copilot skillset. See Creating a GitHub App for your Copilot Extension and Configuring your GitHub App for your Copilot extension.