|
| 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 | +--- |
0 commit comments