Adding Your Marketplace to GitHub Copilot
This guide walks you through adding your Willow plugin marketplace to GitHub Copilot CLI.
Prerequisites
- GitHub Copilot CLI installed and authenticated (
copilot --version) - Your marketplace repository URL (from Willow — see Managed Marketplace Sync or GitHub Integration)
Repository structure
Willow generates the following layout for GitHub Copilot:
your-org-slug/
├── .github/
│ └── plugin/
│ └── marketplace.json
├── plugins/
│ └── <plugin-slug>/
│ ├── plugin.json
│ ├── .mcp.json
│ ├── skills/
│ │ └── <skill-slug>/
│ │ └── SKILL.md
│ └── agents/
│ └── <agent-slug>.md
Key differences from Cursor and Claude:
- The root marketplace manifest lives at
.github/plugin/marketplace.json - Each plugin has its
plugin.jsonat the root of the plugin directory (not inside a hidden folder) - The
plugin.jsonincludes component directory references (skills,agents,mcpServers)
Step 1: Add the marketplace
Open your terminal and run:
copilot plugin marketplace add your-org/my-marketplace
This registers the marketplace from your GitHub repository. Copilot CLI reads the .github/plugin/marketplace.json file to discover available plugins.
Other source types
# From any git URL
copilot plugin marketplace add https://gitlab.com/your-org/my-marketplace.git
# From a local directory (great for testing)
copilot plugin marketplace add ./my-marketplace
Step 2: Browse available plugins
List all plugins available from your registered marketplaces:
copilot plugin list --available
Or in an interactive session:
/plugin list
Step 3: Install a plugin
Install a plugin from your marketplace:
copilot plugin install my-plugin
After installation, verify it loaded correctly:
copilot plugin list
Step 4: Verify components loaded
Start a new interactive session and check that the plugin's components are available:
# Check agents
/agent
# Check skills
/skills list
Updating the marketplace
Refresh your marketplace to pull the latest plugins:
copilot plugin marketplace update your-org/my-marketplace
Removing a plugin or marketplace
# Uninstall a single plugin
copilot plugin uninstall my-plugin
# Remove the entire marketplace
copilot plugin marketplace remove your-org/my-marketplace
Testing locally
Before pushing to GitHub, test your marketplace locally:
copilot plugin install ./my-marketplace/plugins/my-plugin
copilot plugin list
To pick up changes after editing a local plugin, reinstall it:
copilot plugin install ./my-marketplace/plugins/my-plugin
Restricting Copilot to the Willow gateway
This guide distributes your plugin marketplace to Copilot. If you also want to restrict Copilot so it can only use MCP servers reached through your Willow gateway (blocking all others at runtime), see Restrict GitHub Copilot to the Willow Gateway.