Create and maintain GitHub Copilot CLI plugins — skills, agents, prompts, instructions, AGENTS.md, and MCP servers. Use when building a new Copilot plugin, adding skills or agents to an existing plugin, writing AGENTS.md routing, creating prompt files, configuring MCP servers, adding hooks, validating plugin structure, or asking how Copilot CLI plugins work. This is for Copilot CLI plugins — NOT Claude Code projects.
From copilotnpx claudepluginhub danielscholl/claude-sdlc --plugin copilotThis skill is limited to using the following tools:
reference/agents-spec.mdreference/comparison-matrix.mdreference/eval-schemas.mdreference/hooks-spec.mdreference/instructions-spec.mdreference/mcp-spec.mdreference/plugin-spec.mdreference/skills-spec.mdreference/writing-guide.mdscripts/validate.pytemplates/agent.mdtemplates/custom-instructions.mdtemplates/path-instructions.mdtemplates/prompt.mdDesigns and optimizes AI agent action spaces, tool definitions, observation formats, error recovery, and context for higher task completion rates.
Enables AI agents to execute x402 payments with per-task budgets, spending controls, and non-custodial wallets via MCP tools. Use when agents pay for APIs, services, or other agents.
Compares coding agents like Claude Code and Aider on custom YAML-defined codebase tasks using git worktrees, measuring pass rate, cost, time, and consistency.
Build and maintain GitHub Copilot CLI plugins. This skill has authoritative specs, templates, and validation for all Copilot plugin components.
These are different ecosystems with different conventions. Read the relevant
spec in reference/ before creating or modifying any component.
| Aspect | Copilot CLI Plugin | Claude Code |
|---|---|---|
| Skill frontmatter | Only name, description, license | Also allowed-tools, metadata, etc. |
| Instructions file | AGENTS.md (primary) | CLAUDE.md |
| Agent file extension | .agent.md | .md in agents/ |
| Agent naming | Lowercase kebab-case required | More flexible |
| Skill naming | Must match directory name | Convention only |
| Tool restrictions | Via tools in agent frontmatter | Via allowed-tools in skill |
| Installation | copilot plugin install ./path | Plugin marketplace |
Do NOT use Claude Code patterns when building Copilot plugin components.
Before creating anything, understand the user's intent:
What do you need?
│
├─ Broad guidance for ALL interactions → Custom Instructions (.github/copilot-instructions.md)
├─ Guidance for SPECIFIC file types → Path-specific (.github/instructions/*.instructions.md)
├─ A specialized AI persona → Custom Agent (.github/agents/*.agent.md)
├─ A reusable prompt template → Prompt File (.github/prompts/*.prompt.md)
├─ Complex task-specific guidance → Skill (.github/skills/{name}/SKILL.md)
└─ Primary identity + routing → AGENTS.md (root)
For detailed comparison, read reference/comparison-matrix.md.
Before writing any file, read the relevant spec:
| Task | Read first |
|---|---|
| Creating/modifying a skill | skills-spec.md |
| Creating/modifying an agent | agents-spec.md |
| Changing plugin.json or structure | plugin-spec.md |
| Adding/changing MCP servers | mcp-spec.md |
| Adding hooks | hooks-spec.md |
| Changing AGENTS.md or instructions | instructions-spec.md |
Use the appropriate template from templates/:
| Type | Template | Output Location |
|---|---|---|
| Custom Instructions | templates/custom-instructions.md | .github/copilot-instructions.md |
| Path-specific | templates/path-instructions.md | .github/instructions/{name}.instructions.md |
| Custom Agent | templates/agent.md | .github/agents/{name}.agent.md |
| Prompt File | templates/prompt.md | .github/prompts/{name}.prompt.md |
| Skill | templates/skill.md | .github/skills/{name}/SKILL.md |
Run the validation script to catch format issues:
python scripts/validate.py <path-to-file-or-directory>
For skills, create trigger evals to test description accuracy:
tests/evals/triggers/{name}.json with 8+ positive and 8+ negative queriesFor the eval format, read reference/eval-schemas.md.
Read reference/writing-guide.md for detailed guidance. Key principles:
my-plugin/
├── plugin.json # Manifest (name, version, paths)
├── AGENTS.md # Primary instructions + routing
├── .mcp.json # MCP server config
├── hooks.json # Hook definitions
├── agents/
│ └── {name}.agent.md # Custom agents (lowercase kebab-case)
├── skills/
│ └── {name}/
│ ├── SKILL.md # Skill definition
│ ├── scripts/ # Helper scripts
│ ├── reference/ # Docs loaded on demand
│ └── templates/ # Output templates
└── extensions/
└── {name}/
└── server.py # MCP server implementation
skills/{name}/SKILL.md with only name, description, license in frontmattername field exactlypython scripts/validate.py skills/{name}/agents/{name}.agent.md with name, description, optional toolspython scripts/validate.py agents/All specs are in reference/: