Skip to content

Commit 4b25ed4

Browse files
aaronpowellCopilot
andcommitted
docs: add Learning Hub article on installing and using plugins
- New article covering plugin concepts, finding/installing/managing plugins, marketplace browsing, and how this repo serves as a plugin marketplace - Add 'installing-and-using-plugins' to fundamentalsOrder in index.astro and ArticleLayout.astro - Add Plugin entry to terminology glossary Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
1 parent 9d4e024 commit 4b25ed4

4 files changed

Lines changed: 265 additions & 0 deletions

File tree

website/src/content/learning-hub/github-copilot-terminology-glossary.md

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -215,6 +215,20 @@ The autonomous GitHub Copilot agent that works on issues in a cloud environment
215215

216216
---
217217

218+
### Plugin
219+
220+
An installable package that extends GitHub Copilot CLI with a bundled set of agents, skills, hooks, MCP server configurations, and LSP integrations. Plugins provide a way to distribute and share custom capabilities across projects and teams, with versioning, discovery, and one-command installation via marketplaces.
221+
222+
**Example**: Installing `database-data-management@awesome-copilot` to get a database specialist agent, migration skills, and schema validation hooks in a single command.
223+
224+
**When to use**: When you want to share a curated set of Copilot capabilities across multiple projects or team members, or when you want to install community-contributed tooling without manually copying files.
225+
226+
**Learn more**: [Installing and Using Plugins](/learning-hub/installing-and-using-plugins/)
227+
228+
**Related terms**: [Agent](#agent), [Skill](#skill), [Hook](#hook)
229+
230+
---
231+
218232
### Tools
219233

220234
Capabilities that GitHub Copilot can invoke to perform actions or retrieve information. Tools fall into two categories:
Lines changed: 249 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,249 @@
1+
---
2+
title: 'Installing and Using Plugins'
3+
description: 'Learn how to find, install, and manage plugins that extend GitHub Copilot CLI with reusable agents, skills, hooks, and integrations.'
4+
authors:
5+
- GitHub Copilot Learning Hub Team
6+
lastUpdated: '2026-02-26'
7+
estimatedReadingTime: '8 minutes'
8+
tags:
9+
- plugins
10+
- copilot-cli
11+
- fundamentals
12+
relatedArticles:
13+
- ./building-custom-agents.md
14+
- ./creating-effective-skills.md
15+
- ./automating-with-hooks.md
16+
prerequisites:
17+
- GitHub Copilot CLI installed
18+
- Basic understanding of agents, skills, and hooks
19+
---
20+
21+
Plugins are installable packages that extend GitHub Copilot CLI with reusable agents, skills, hooks, and servers, all bundled into a single unit you can install with one command. Instead of manually copying agent files and configuring MCP servers across every project, plugins let you install a curated set of capabilities and share them with your team.
22+
23+
This article explains what plugins contain, how to find and install them, and how to manage your plugin library.
24+
25+
## What's Inside a Plugin?
26+
27+
A plugin bundles one or more of the following components:
28+
29+
| Component | What It Does | File Location |
30+
|-----------|-------------|---------------|
31+
| **Custom Agents** | Specialized AI assistants with tailored expertise | `agents/*.agent.md` |
32+
| **Skills** | Discrete callable capabilities with bundled resources | `skills/*/SKILL.md` |
33+
| **Hooks** | Event handlers that intercept agent behavior | `hooks.json` or `hooks/` |
34+
| **MCP Servers** | Model Context Protocol integrations for external tools | `.mcp.json` or `.github/mcp.json` |
35+
| **LSP Servers** | Language Server Protocol integrations | `lsp.json` or `.github/lsp.json` |
36+
37+
A plugin might include all of these or just one — for example, a plugin could provide a single specialized agent, or an entire development toolkit with multiple agents, skills, hooks, and MCP server configurations working together.
38+
39+
### Example: What a Plugin Looks Like
40+
41+
Here's the structure of a typical plugin:
42+
43+
```
44+
my-plugin/
45+
├── .github/
46+
│ └── plugin/
47+
│ └── plugin.json # Plugin manifest (name, description, version)
48+
├── agents/
49+
│ ├── api-architect.agent.md
50+
│ └── test-specialist.agent.md
51+
├── skills/
52+
│ └── database-migrations/
53+
│ ├── SKILL.md
54+
│ └── scripts/migrate.sh
55+
├── hooks.json
56+
└── README.md
57+
```
58+
59+
The `plugin.json` manifest declares what the plugin contains:
60+
61+
```json
62+
{
63+
"name": "my-plugin",
64+
"description": "API development toolkit with specialized agents and migration skills",
65+
"version": "1.0.0",
66+
"agents": [
67+
"./agents/api-architect.md",
68+
"./agents/test-specialist.md"
69+
],
70+
"skills": [
71+
"./skills/database-migrations/"
72+
]
73+
}
74+
```
75+
76+
## Why Use Plugins?
77+
78+
You might wonder: why not just copy agent files into your project manually? Plugins provide several advantages:
79+
80+
| Feature | Manual Configuration | Plugin |
81+
|---------|---------------------|--------|
82+
| **Scope** | Single repository | Any project |
83+
| **Sharing** | Manual copy/paste | `copilot plugin install` command |
84+
| **Versioning** | Git history | Marketplace versions |
85+
| **Discovery** | Searching repositories | Marketplace browsing |
86+
| **Updates** | Manual tracking | `copilot plugin update` |
87+
88+
Plugins are especially valuable when you want to:
89+
90+
- **Standardize across a team** — Everyone installs the same plugin for consistent tooling
91+
- **Share domain expertise** — Package a Rails expert, Kubernetes specialist, or security reviewer as an installable unit
92+
- **Encapsulate complex setups** — Bundle MCP server configurations that would otherwise require manual setup
93+
- **Reuse across projects** — Install the same capabilities in every project without duplicating files
94+
95+
## Finding Plugins
96+
97+
Plugins are collected in **marketplaces** — registries you can browse and install from. Copilot CLI comes with two marketplaces registered by default:
98+
99+
- **`copilot-plugins`** — Official GitHub Copilot plugins
100+
- **`awesome-copilot`** — Community-contributed plugins from this repository
101+
102+
### Browsing a Marketplace
103+
104+
List your registered marketplaces:
105+
106+
```bash
107+
copilot plugin marketplace list
108+
```
109+
110+
Browse plugins in a specific marketplace:
111+
112+
```bash
113+
copilot plugin marketplace browse awesome-copilot
114+
```
115+
116+
Or from within an interactive Copilot session:
117+
118+
```
119+
/plugin marketplace browse awesome-copilot
120+
```
121+
122+
> **Tip**: You can also browse plugins on this site's [Plugins Directory](/plugins/) to see descriptions, included agents, and skills before installing.
123+
124+
### Adding More Marketplaces
125+
126+
Register additional marketplaces from GitHub repositories:
127+
128+
```bash
129+
copilot plugin marketplace add anthropics/claude-code
130+
```
131+
132+
Or from a local path:
133+
134+
```bash
135+
copilot plugin marketplace add /path/to/local-marketplace
136+
```
137+
138+
## Installing Plugins
139+
140+
### From a Registered Marketplace
141+
142+
The most common way to install a plugin — reference it by name and marketplace:
143+
144+
```bash
145+
copilot plugin install database-data-management@awesome-copilot
146+
```
147+
148+
Or from an interactive session:
149+
150+
```
151+
/plugin install database-data-management@awesome-copilot
152+
```
153+
154+
## Managing Plugins
155+
156+
Once installed, plugins are managed with a few simple commands:
157+
158+
```bash
159+
# List all installed plugins
160+
copilot plugin list
161+
162+
# Update a plugin to the latest version
163+
copilot plugin update my-plugin
164+
165+
# Remove a plugin
166+
copilot plugin uninstall my-plugin
167+
```
168+
169+
### Where Plugins Are Stored
170+
171+
- **Marketplace plugins**: `~/.copilot/installed-plugins/MARKETPLACE/PLUGIN-NAME/`
172+
- **Direct installs**: `~/.copilot/installed-plugins/_direct/PLUGIN-NAME/`
173+
174+
## How Plugins Work at Runtime
175+
176+
When you install a plugin, its components become available to Copilot CLI automatically:
177+
178+
- **Agents** appear in your agent selection (use with `/agent` or the agents dropdown)
179+
- **Skills** are loaded automatically when relevant to your current task
180+
- **Hooks** run at the configured lifecycle events during agent sessions
181+
- **MCP servers** extend the tools available to agents
182+
183+
You don't need to do any additional configuration after installing — the plugin's components integrate seamlessly into your workflow.
184+
185+
## Plugins from This Repository
186+
187+
This repository (`awesome-copilot`) serves as both a collection of individual resources _and_ a plugin marketplace. You can use it in two ways:
188+
189+
### Install Individual Plugins
190+
191+
Browse the [Plugins Directory](/plugins/) and install specific plugins:
192+
193+
```bash
194+
copilot plugin install context-engineering@awesome-copilot
195+
copilot plugin install azure-cloud-development@awesome-copilot
196+
copilot plugin install frontend-web-dev@awesome-copilot
197+
```
198+
199+
Each plugin bundles related agents and skills around a specific theme or technology.
200+
201+
### Use Individual Resources Without Plugins
202+
203+
If you only need a single agent or skill (rather than a full plugin), you can still copy individual files from this repo directly into your project:
204+
205+
- Copy an `.agent.md` file into `.github/agents/`
206+
- Copy a skill folder into `.github/skills/`
207+
- Copy a hook configuration into `.github/hooks/`
208+
209+
See [Using the Copilot Coding Agent](../learning-hub/using-copilot-coding-agent/) for details on this approach.
210+
211+
## Best Practices
212+
213+
- **Start with a marketplace plugin** before building your own — there may already be one that fits your needs
214+
- **Keep plugins focused** — a plugin for "Rails development" is better than a plugin for "everything"
215+
- **Check for updates regularly** — run `copilot plugin update` to get the latest improvements
216+
- **Review what you install** — plugins run code on your machine, so inspect unfamiliar plugins before installing
217+
- **Use plugins for team standards** — publish an internal plugin to ensure every team member has the same agents, skills, and hooks
218+
- **Remove unused plugins** — declutter with `copilot plugin uninstall` to keep your environment clean
219+
220+
## Common Questions
221+
222+
**Q: Do plugins work with the coding agent on GitHub.com?**
223+
224+
A: Plugins are specific to GitHub Copilot CLI and the VS Code extension (currently Insiders). For the coding agent on GitHub.com, add agents, skills, and hooks directly to your repository (via a plugin if you prefer!). See [Using the Copilot Coding Agent](../learning-hub/using-copilot-coding-agent/) for details.
225+
226+
**Q: Can I use plugins and repository-level configuration together?**
227+
228+
A: Yes. Plugin components are merged with your repository's local agents, skills, and hooks. Local configuration takes precedence if there are conflicts.
229+
230+
**Q: How do I create my own plugin?**
231+
232+
A: Create a directory with a `plugin.json` manifest and your agents/skills/hooks. See the [GitHub docs on creating plugins](https://docs.github.com/en/copilot/how-tos/copilot-cli/customize-copilot/plugins-creating) for a step-by-step guide.
233+
234+
**Q: Can I share plugins within my organization?**
235+
236+
A: Yes. You can create a private plugin marketplace in an internal GitHub repository, then have team members register it with `copilot plugin marketplace add org/internal-plugins`.
237+
238+
**Q: What happens if I uninstall a plugin?**
239+
240+
A: The plugin's agents, skills, and hooks are removed from Copilot. Any work already done with those tools is unaffected — only future sessions lose access.
241+
242+
## Next Steps
243+
244+
- **Browse Plugins**: Explore the [Plugins Directory](/plugins/) for installable plugin packages
245+
- **Create Skills**: [Creating Effective Skills](../learning-hub/creating-effective-skills/) — Build skills that can be included in plugins
246+
- **Build Agents**: [Building Custom Agents](../learning-hub/building-custom-agents/) — Create agents to package in plugins
247+
- **Add Hooks**: [Automating with Hooks](../learning-hub/automating-with-hooks/) — Configure hooks for plugin automation
248+
249+
---

website/src/layouts/ArticleLayout.astro

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ const fundamentalsOrder = [
2525
'understanding-mcp-servers',
2626
'automating-with-hooks',
2727
'using-copilot-coding-agent',
28+
'installing-and-using-plugins',
2829
'before-after-customization-examples',
2930
];
3031

website/src/pages/learning-hub/index.astro

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ const fundamentalsOrder = [
1515
'understanding-mcp-servers',
1616
'automating-with-hooks',
1717
'using-copilot-coding-agent',
18+
'installing-and-using-plugins',
1819
'before-after-customization-examples',
1920
];
2021

0 commit comments

Comments
 (0)