{"slug": "github-copilot-cli-plugins-and-marketplaces-extend-your-terminal-agent", "title": "GitHub Copilot CLI Plugins and Marketplaces: Extend Your Terminal Agent", "summary": "GitHub Copilot CLI now supports plugins and a marketplace system that lets developers package reusable agents, skills, hooks, and MCP server integrations as installable packages. Instead of manually copying configuration files or sharing setup notes, users can install plugins with a single `copilot plugin install` command, with plugin contents stored under the user's Copilot directory and loaded into future terminal sessions. The plugin system is distinct from GitHub Copilot Extensions, focusing specifically on terminal-based AI agent customization.", "body_md": "GitHub Copilot CLI already gives you an AI assistant in the terminal. Plugins make it more powerful by letting you install reusable agents, skills, hooks, and tool integrations as packages.\n\nInstead of manually copying prompt files, wiring MCP servers, or sharing setup notes in a wiki, you can package those capabilities once and install them from a marketplace. In this guide, we will look at how Copilot CLI plugins work, how to find and install them, how marketplaces are structured, and how to build a small plugin of your own.\n\nQuick tip:if you ever forget a flag, run`copilot plugin --help`\n\nor`copilot plugin <subcommand> --help`\n\n. The CLI ships its own up to date reference.\n\nThis is a common point of confusion, so let us clear it up first. GitHub Copilot Extensions and Copilot CLI plugins are different systems.\n\n| GitHub Copilot Extensions | Copilot CLI plugins | |\n|---|---|---|\n| Where they run | VS Code, Visual Studio, JetBrains, github.com | Copilot CLI in your terminal |\n| Distribution |\n|\n\n`copilot plugin install`\n\nBoth extend Copilot, but they are not interchangeable. This post is about the CLI flavour.\n\nA Copilot CLI plugin is an installable package that extends GitHub Copilot CLI with reusable customisations. According to the official [about CLI plugins](https://docs.github.com/en/copilot/concepts/agents/copilot-cli/about-cli-plugins) page, plugins can bundle:\n\n| Component | Typical location | What it adds |\n|---|---|---|\n| Custom agents | `agents/*.agent.md` |\nSpecialist agent modes for focused work |\n| Skills | `skills/<name>/SKILL.md` |\nReusable task instructions and workflows |\n| Hooks | `hooks.json` |\nCommands that run at lifecycle events |\n| MCP servers |\n`.mcp.json` or `.github/mcp.json`\n|\nExternal tools and data sources |\n| LSP servers |\n`lsp.json` or `.github/lsp.json`\n|\nLanguage server integrations |\n\nThat means a plugin is not just an MCP server. It is a distribution format. A plugin can contain only a custom agent, only a set of skills, a bundle of MCP servers, or a combination of all of these.\n\nAfter installation, Copilot CLI stores plugin contents under the user's Copilot directory and loads them into future sessions. Marketplace plugins are installed under:\n\n```\n~/.copilot/installed-plugins/<marketplace>/<plugin-name>\n```\n\nDirect installs are stored under:\n\n```\n~/.copilot/installed-plugins/_direct/<source-id>\n```\n\nThe plugin manifest itself (\n\n`plugin.json`\n\n) can live in any of these locations inside the plugin repo, checked in this order:`.plugin/plugin.json`\n\n,`plugin.json`\n\n,`.github/plugin/plugin.json`\n\n, or`.claude-plugin/plugin.json`\n\n. The last one exists for compatibility with Claude Code plugin layouts.\n\nYou can add custom agents, MCP servers, and skills manually without using a plugin at all. Plugins are simply a better way to distribute those things. The official docs summarise it like this:\n\n| Feature | Manual configuration in a repository | Plugin |\n|---|---|---|\n| Scope | Single repository | Any project |\n| Sharing | Manual copy and paste | `copilot plugin install` |\n| Versioning | Git history | Marketplace versions |\n| Discovery | Searching repositories | Marketplace browsing |\n\nIf you find yourself copying the same `agents/`\n\nfolder into multiple repositories, that is a strong signal it should be a plugin.\n\nMCP, or Model Context Protocol, is the open standard used by AI tools to connect models to external tools and data sources. GitHub documents MCP support across Copilot surfaces in [About Model Context Protocol](https://docs.github.com/en/copilot/concepts/about-mcp).\n\nCopilot CLI can use MCP servers directly, without plugins. For example, you can add an MCP server interactively:\n\n```\n/mcp add\n```\n\nOr you can edit the global MCP configuration file:\n\n```\n~/.copilot/mcp-config.json\n```\n\nA plugin can wrap that configuration and make it reusable. Instead of telling every developer to paste the same JSON into their config file, you can ship the MCP server configuration inside a plugin and let them install it with one command.\n\nFor example, a plugin might include this `.mcp.json`\n\nfile:\n\n```\n{\n  \"mcpServers\": {\n    \"playwright\": {\n      \"type\": \"local\",\n      \"command\": \"npx\",\n      \"args\": [\"@playwright/mcp@latest\"],\n      \"env\": {},\n      \"tools\": [\"*\"]\n    }\n  }\n}\n```\n\nThat plugin would give Copilot CLI browser automation tools through the Playwright MCP server whenever the plugin is loaded.\n\nCopilot CLI ships with two registered marketplaces by default:\n\n| Marketplace | Repository | Purpose |\n|---|---|---|\n`copilot-plugins` |\n`github/copilot-plugins` |\n\n`awesome-copilot`\n\n`github/awesome-copilot`\n\nYou can list the marketplaces registered with your CLI:\n\n```\ncopilot plugin marketplace list\n```\n\nInside an interactive Copilot CLI session, use the slash command:\n\n```\n/plugin marketplace list\n```\n\nTo browse plugins from a marketplace:\n\n```\ncopilot plugin marketplace browse awesome-copilot\n```\n\nOr from inside the session:\n\n```\n/plugin marketplace browse awesome-copilot\n```\n\nThe `awesome-copilot`\n\nproject also has a web UI at [awesome-copilot.github.com](https://awesome-copilot.github.com), which is useful when you want to search and filter through community entries before installing anything locally.\n\nThere is also a separate [GitHub MCP Registry](https://github.com/mcp) for discovering MCP servers. That registry is useful when you want raw MCP servers, but it is not the same thing as a Copilot CLI plugin marketplace. Plugins can bundle MCP servers, but marketplaces distribute complete Copilot CLI plugin packages.\n\nThe main install command is:\n\n```\ncopilot plugin install <plugin-spec>\n```\n\nThe plugin specification can point to a marketplace entry, a GitHub repository, a subdirectory, another Git URL, or a local folder.\n\n| Install source | Example |\n|---|---|\n| Marketplace entry | `copilot plugin install database-data-management@awesome-copilot` |\n| GitHub repository root | `copilot plugin install johnpapa/ai-ready` |\n| GitHub repository subdirectory | `copilot plugin install dotnet/skills:plugins/dotnet` |\n| Git URL | `copilot plugin install https://github.com/owner/repo.git` |\n| Local path | `copilot plugin install ./my-plugin` |\n\nYou can also install from inside an interactive session:\n\n```\n/plugin install database-data-management@awesome-copilot\n```\n\nUseful management commands include:\n\n```\ncopilot plugin list\ncopilot plugin update <plugin-name>\ncopilot plugin update --all\ncopilot plugin disable <plugin-name>\ncopilot plugin enable <plugin-name>\ncopilot plugin uninstall <plugin-name>\n```\n\nMarketplace management uses a nested command group:\n\n```\ncopilot plugin marketplace add owner/repo\ncopilot plugin marketplace list\ncopilot plugin marketplace browse <marketplace-name>\ncopilot plugin marketplace remove <marketplace-name>\ncopilot plugin marketplace remove --force <marketplace-name>\n```\n\nThe `--force`\n\noption matters. If a marketplace has installed plugins, Copilot CLI will not remove it unless you explicitly force removal, which also removes the plugins installed from that marketplace.\n\nHere are a few useful examples from the official and community marketplaces. Always inspect a plugin before installing it, especially if it defines MCP servers or hooks.\n\n| Plugin | Marketplace | What it is useful for | Install command |\n|---|---|---|---|\n`advanced-security` |\n`copilot-plugins` |\nGitHub Advanced Security workflows such as secret scanning and dependency scanning | `copilot plugin install advanced-security@copilot-plugins` |\n`spark` |\n`copilot-plugins` |\nGitHub Spark integration | `copilot plugin install spark@copilot-plugins` |\n`azure` |\n`awesome-copilot` |\nAzure skills and Azure MCP server integration | `copilot plugin install azure@awesome-copilot` |\n`microsoft-docs` |\n`awesome-copilot` |\nMicrosoft Learn documentation through MCP | `copilot plugin install microsoft-docs@awesome-copilot` |\n`devops-oncall` |\n`awesome-copilot` |\nIncident triage chat mode, prompts, and instructions for DevOps on-call work | `copilot plugin install devops-oncall@awesome-copilot` |\n`dotnet` |\n`awesome-copilot` |\nEveryday .NET and C# development skills | `copilot plugin install dotnet@awesome-copilot` |\n`dotnet-test` |\n`awesome-copilot` |\n.NET testing, coverage, and framework-specific test guidance | `copilot plugin install dotnet-test@awesome-copilot` |\n`chrome-devtools-plugin` |\n`awesome-copilot` |\nChrome DevTools and browser debugging workflows | `copilot plugin install chrome-devtools-plugin@awesome-copilot` |\n`ai-ready` |\n`awesome-copilot` |\nRepository analysis and AI-readiness configuration | `copilot plugin install ai-ready@awesome-copilot` |\n\nFor DevOps engineers, the Azure, database, documentation, browser debugging, and security plugins are the most immediately practical. They extend the CLI from a general assistant into a specialist operator for the stack you actually use.\n\nLet us build a small plugin that gives Copilot CLI a specialised deployment helper agent and a deployment checklist skill.\n\nCreate this folder structure:\n\n```\nmy-devops-plugin/\n├── plugin.json\n├── agents/\n│   └── release-engineer.agent.md\n└── skills/\n    └── deployment-checklist/\n        └── SKILL.md\n```\n\nThe only required field in `plugin.json`\n\nis `name`\n\n, but real plugins should include a description, version, author, licence, keywords, and explicit component paths.\n\n```\n{\n  \"name\": \"devops-release-helper\",\n  \"description\": \"Release engineering helpers for CI/CD, deployment checks, and incident-safe rollouts.\",\n  \"version\": \"1.0.0\",\n  \"author\": {\n    \"name\": \"Example Platform Team\",\n    \"email\": \"platform@example.com\"\n  },\n  \"license\": \"MIT\",\n  \"keywords\": [\"devops\", \"deployment\", \"cicd\", \"release\"],\n  \"agents\": \"agents/\",\n  \"skills\": \"skills/\"\n}\n```\n\nNow create the agent file:\n\n```\n---\nname: release-engineer\ndescription: Helps plan, validate, and troubleshoot safe production releases.\ntools: ['bash', 'view', 'rg', 'glob']\n---\n\nYou are a release engineering assistant. Focus on safe deployments, rollback-readiness, observability, and clear operator hand-offs.\n\nBefore recommending a deployment, check for:\n\n- CI status and failing tests\n- Database migrations and rollback impact\n- Feature flags and progressive rollout options\n- Monitoring dashboards, alerts, and log queries\n- Rollback commands and owner contact points\n```\n\nThen create the skill:\n\n```\n---\nname: deployment-checklist\ndescription: Create a deployment readiness checklist for the current repository.\n---\n\nReview the current repository and produce a deployment readiness checklist.\n\nInclude:\n\n1. Build and test validation\n2. Infrastructure or configuration changes\n3. Database migration risk\n4. Secrets and environment variables\n5. Monitoring and alerting checks\n6. Rollback plan\n7. Post-deployment verification\n\nFlag anything that looks risky or missing.\n```\n\nInstall it locally:\n\n```\ncopilot plugin install ./my-devops-plugin\n```\n\nCheck that Copilot CLI can see it:\n\n```\ncopilot plugin list\n```\n\nThen start an interactive session and inspect loaded agents and skills:\n\n```\n/agent\n/skills list\n```\n\nIf you change files inside a local plugin, reinstall it:\n\n```\ncopilot plugin install ./my-devops-plugin\n```\n\nPlugin contents are cached at install time, so editing the source folder does not automatically update the installed copy.\n\nA Copilot CLI marketplace is not the same as the traditional [GitHub Marketplace](https://github.com/marketplace). It is a Git repository based registry. Any repository can become a marketplace by adding a `marketplace.json`\n\nfile at:\n\n```\n.github/plugin/marketplace.json\n```\n\nA simple marketplace might look like this:\n\n```\n{\n  \"name\": \"platform-team-plugins\",\n  \"owner\": {\n    \"name\": \"Example Platform Team\",\n    \"email\": \"platform@example.com\"\n  },\n  \"metadata\": {\n    \"description\": \"Curated Copilot CLI plugins for our engineering organisation.\",\n    \"version\": \"1.0.0\"\n  },\n  \"plugins\": [\n    {\n      \"name\": \"devops-release-helper\",\n      \"description\": \"Release engineering helpers for CI/CD and safe deployments.\",\n      \"version\": \"1.0.0\",\n      \"source\": \"./plugins/devops-release-helper\"\n    }\n  ]\n}\n```\n\nIf that file lives in `octo-org/platform-copilot-plugins`\n\n, users can register the marketplace with:\n\n```\ncopilot plugin marketplace add octo-org/platform-copilot-plugins\n```\n\nThen they can browse it:\n\n```\ncopilot plugin marketplace browse platform-team-plugins\n```\n\nAnd install from it:\n\n```\ncopilot plugin install devops-release-helper@platform-team-plugins\n```\n\nThis is where marketplaces become powerful for teams. A platform team can curate approved plugins for cloud operations, security reviews, incident response, documentation, and release engineering. Developers get a simple install command, while the organisation keeps the source in Git where it can be reviewed, versioned, and audited.\n\nFor larger organisations, GitHub documents [enterprise plugin standards](https://docs.github.com/en/copilot/concepts/agents/copilot-cli/about-enterprise-plugin-standards) as a public preview feature. Enterprise administrators can publish standard marketplaces and enabled plugins through `.github/copilot/settings.json`\n\nin the enterprise `.github-private`\n\nrepository.\n\nAn example configuration looks like this:\n\n```\n{\n  \"extraKnownMarketplaces\": {\n    \"our-internal-marketplace\": {\n      \"source\": {\n        \"source\": \"github\",\n        \"repo\": \"acme-corp/copilot-plugins\"\n      }\n    }\n  },\n  \"enabledPlugins\": {\n    \"security-scanner@our-internal-marketplace\": true,\n    \"code-standards@our-internal-marketplace\": true\n  }\n}\n```\n\nThis gives enterprises a central way to make known marketplaces available and enable approved plugins for users.\n\nPlugins can change what Copilot CLI can do, so treat them like developer tooling that runs with your local permissions.\n\nBefore installing a plugin, inspect:\n\n`plugin.json`\n\n, to understand what components are included`.mcp.json`\n\n, to see which external tools or endpoints are configured`hooks.json`\n\n, to see commands that may run automaticallyThe [ github/awesome-copilot](https://github.com/github/awesome-copilot) repository also warns that community customisations come from third-party developers and should be inspected before use.\n\nFor Copilot Business and Enterprise, GitHub documents that MCP server use is controlled by organisation or enterprise policy and is disabled by default. If a plugin relies on MCP servers, users may need admin policy changes before it can work.\n\nCopilot CLI has a tool approval model for actions such as shell commands and file changes. Approving a broad command for the rest of a session can be convenient, but it also increases risk. Keep approval narrow when you are testing a new plugin, and avoid running the CLI with `--allow-all-tools`\n\nwhile you are evaluating an untrusted plugin. Use `--allow-tool`\n\nfor the specific tools you actually need.\n\nFor teams, the best pattern is to create an internal marketplace. Put plugin changes through pull request review, pin versions where possible, and document what each plugin is allowed to do.\n\nHere are a few ways I would use Copilot CLI plugins in a DevOps workflow.\n\n| Use case | Plugin pattern |\n|---|---|\n| Cloud operations | Bundle Azure or AWS MCP servers with cloud runbook skills |\n| Incident response | Ship an incident commander agent with log query and triage skills |\n| Release engineering | Package deployment checklists, rollback prompts, and CI/CD helpers |\n| Security review | Combine GitHub Advanced Security skills with secure coding agents |\n| Documentation | Install documentation MCP plugins so Copilot can ground answers in official docs |\n| Platform enablement | Publish internal standards as agents and skills through a team marketplace |\n\nThe key point is repeatability. A good plugin turns tribal knowledge into a versioned package that every engineer can install and use in the same way.\n\nThere are a few important details to keep in mind.\n\n`copilot plugin search`\n\ncommand. Discovery is through marketplace browsing and web UIs such as `awesome-copilot.github.com`\n\n.Copilot CLI plugins are a practical way to make the terminal agent fit your real workflow. They turn agents, skills, hooks, MCP servers, and language integrations into installable packages. Marketplaces then give teams and communities a way to share those packages without copy-paste setup instructions.\n\nIf you are just getting started, browse `awesome-copilot`\n\n, install one or two plugins that match your stack, and inspect how they are structured. Then build a small internal plugin for a workflow your team repeats every week. Deployment checks, incident triage, and security review are all great first candidates.\n\nThe best plugins will not replace engineering judgement. They will capture your team's judgement and make it easier to apply consistently from the terminal.\n\nLike, share, follow me on: 🐙 [GitHub](https://github.com/Pwd9000-ML) | 🐧 [X](https://x.com/pwd9000) | 👾 [LinkedIn](https://www.linkedin.com/in/marcel-pwd9000/)\n\nDate: 27-05-2026", "url": "https://wpnews.pro/news/github-copilot-cli-plugins-and-marketplaces-extend-your-terminal-agent", "canonical_source": "https://dev.to/pwd9000/github-copilot-cli-plugins-and-marketplaces-extend-your-terminal-agent-16pc", "published_at": "2026-05-27 14:02:50+00:00", "updated_at": "2026-05-27 14:10:06.615791+00:00", "lang": "en", "topics": ["ai-tools", "ai-agents", "ai-products", "ai-infrastructure", "generative-ai"], "entities": ["GitHub Copilot CLI", "GitHub Copilot Extensions", "VS Code", "Visual Studio", "JetBrains", "GitHub"], "alternates": {"html": "https://wpnews.pro/news/github-copilot-cli-plugins-and-marketplaces-extend-your-terminal-agent", "markdown": "https://wpnews.pro/news/github-copilot-cli-plugins-and-marketplaces-extend-your-terminal-agent.md", "text": "https://wpnews.pro/news/github-copilot-cli-plugins-and-marketplaces-extend-your-terminal-agent.txt", "jsonld": "https://wpnews.pro/news/github-copilot-cli-plugins-and-marketplaces-extend-your-terminal-agent.jsonld"}}