Current state of each integration surface as of February 2026.
Functional
| Artifact | Consumer | Notes |
|---|---|---|
.claude-plugin/marketplace.json | Claude Code, Copilot CLI | Marketplace manifest — plugin/skill discovery. Copilot CLI also checks this location. |
.github/plugin/marketplace.json | Copilot CLI | Marketplace manifest — primary discovery location for copilot plugin marketplace commands. |
plugins/stuffbucket/.claude-plugin/plugin.json | Copilot CLI, Claude Code | Per-plugin manifest — defines skills, MCP servers, and metadata for the plugin. |
plugins/stuffbucket/.mcp.json | MCP clients | Canonical MCP server config (symlinked to root and .vscode/). Also referenced by plugin.json. |
.mcp.json (root symlink) | Claude Code, Cursor, other MCP clients | Symlink → plugins/stuffbucket/.mcp.json |
.vscode/mcp.json (symlink) | VS Code built-in MCP support | Symlink → plugins/stuffbucket/.mcp.json |
SKILL.md files | Any agent with context injection | Content standard — instructions consumed by LLMs |
llms.txt | LLM-based tools | Repo orientation for AI assistants |
MCP Discovery
The canonical MCP server configuration lives at plugins/stuffbucket/.mcp.json. Two symlinks provide discovery for editors that look in standard locations:
.mcp.json → plugins/stuffbucket/.mcp.json (root — Claude Code, Cursor)
.vscode/mcp.json → plugins/stuffbucket/.mcp.json (VS Code built-in MCP)
These are created by npm run setup (runs scripts/setup-links.js).
On macOS/Linux, true symlinks are created.
On Windows with Developer Mode enabled, symlinks are also used.
On Windows without Developer Mode, files are copied instead —
re-run npm run setup after editing the canonical file to keep them in sync.
The POSIX-only scripts/setup-links.sh is also available for environments without Node.js.
Skill Router (Context Window Optimization)
The MCP server exposes a skill-router instead of registering each skill as a separate tool. This keeps context window cost constant regardless of how many skills exist.
Without router: N skills × ~100 token description each = N×100 tokens in context on every turn. With router: 2 tool descriptions (~80 tokens total) + on-demand skill loading only when needed.
The MCP server (skill-router/scripts/mcp-server.js) exposes two tools:
| Tool | Description | Context cost |
|---|---|---|
list_skills | Returns compact index (name + description + tags) | ~80 tokens response, only when called |
get_skill | Returns full SKILL.md for a named skill | Only when called, only for the skill requested |
The index is generated by npm run build:index and stored at skill-router/index.json.
Consumption Paths
How an AI assistant uses a skill today
- The agent calls
list_skillsto see available skills (compact index) - The agent matches the task to a skill by name/description/tags
- The agent calls
get_skill(name)to load only the relevant SKILL.md - The agent follows the instructions and uses any
allowed-tools - If the skill references bundled resources, those are loaded on demand
How MCP connects tools to editors
- Editor reads
.mcp.json(or.vscode/mcp.json) - Editor launches the skill-router MCP server via
npx -y @stuffbucket/skills - Server exposes
list_skillsandget_skill— two small tool descriptions - The model queries the index and loads skills dynamically, keeping context lean
The published npm package bundles all skills, the pre-built index, and the MCP server. After the first npx call, it runs entirely offline from the npm cache.
For local development, you can also run the server directly:
node plugins/stuffbucket/skills/skill-router/scripts/mcp-server.js
Copilot CLI plugin installation
Users can install directly from the repo:
copilot plugin install stuffbucket/skills
Or register as a marketplace and browse:
copilot plugin marketplace add stuffbucket/skills
copilot plugin marketplace browse stuffbucket-skills
copilot plugin install stuffbucket@stuffbucket-skills
The CLI discovers plugin.json at plugins/stuffbucket/.claude-plugin/plugin.json (via the marketplace source field). Claude Code auto-discovers skills/ and .mcp.json at the plugin root.
Copilot Chat (GitHub.com / VS Code extension)
Copilot Chat extensions are a separate system — GitHub Apps registered via GitHub, backed by HTTP endpoints. The repo-level marketplace.json and plugin.json files are not part of that flow.