Files
holocron/plugins/kyberforge/skills/write-agent/references/copilot-cli-agents.md
Defame1297 f60b4199ce feat(skills): add write-agent factory skill for cross-tool agent authoring
Adds write-agent to plugins/kyberforge/skills/ — a factory skill parallel
to write-skill that authors Claude Code subagent definitions and cross-tool
plugin agents (Claude Code + GitHub Copilot CLI two-file pattern).

Includes research references (claude-code-agents.md, copilot-cli-agents.md,
cross-compat.md), three asset templates (subagent, plugin-agent-claude,
plugin-agent-copilot), eval coverage, and CATEGORIES.md updated to register
write-agent in the factory category per the conflict check finding.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-21 12:01:34 +00:00

87 lines
3.2 KiB
Markdown

---
topic: copilot-cli-agents
source_keys:
- github-copilot-custom-agents-config
- github-blog-copilot-cli-agents
---
## Overview
GitHub Copilot CLI agents are defined as Markdown files with `.agent.md` extension and YAML frontmatter. They live in the `.github/agents/` directory of a repository and are version-controlled with the codebase. Users invoke them via the `/agent` slash command in the CLI.
## File format
```markdown
---
name: Accessibility Expert
description: Expert assistant for web accessibility (WCAG 2.1/2.2)
model: GPT-4.1
tools:
- codebase
- edit/editFiles
- search
---
# Accessibility Expert
You are a web accessibility expert. Focus on WCAG 2.1/2.2 compliance...
```
The body (below frontmatter) contains the agent's instructions in Markdown. Maximum 30,000 characters.
## Supported frontmatter fields
| Field | Type | Required | Description |
|---|---|---|---|
| `name` | String | Recommended | Display identifier for the agent |
| `description` | String | Required | Purpose and capabilities — what this agent does |
| `target` | String | No | `vscode`, `github-copilot`, or omit for both |
| `model` | String | No | Model to use (e.g., `GPT-4.1`, `claude-opus-4-8`). Inherits default if unset. |
| `tools` | List | No | Tools the agent can use. Defaults to all tools if omitted. |
| `disable-model-invocation` | Boolean | No | When `true`, requires manual agent selection. |
| `user-invocable` | Boolean | No | Whether user can manually select this agent. Defaults to `true`. |
| `mcp-servers` | Object | No | Additional MCP server configurations. Not used in VS Code/IDE agents. |
| `metadata` | Object | No | Key-value annotation pairs. Not applicable to IDE agents. |
## Tools field
Tools can be configured three ways:
- **All tools** (default): omit the `tools` property, or use `tools: ["*"]`
- **Specific tools**: list names, e.g. `tools: ["codebase", "edit/editFiles", "search"]`
- **No tools**: `tools: []`
Available tool aliases (case-insensitive): `execute`, `read`, `edit`, `search`, `agent`, `web`, `todo`.
MCP server tools use namespacing: `mcp-server-name/tool-name` or `mcp-server-name/*` for all tools from a server.
Some available tools: `gh`, `git`, `codebase`, `search`, `githubRepo`, `runCommands`, `runTests`, `edit/editFiles`, `terraform`, `conftest`, `jq`, `curl`, `semgrep`, `trivy`, `gitleaks`.
## File location
Copilot CLI agents live in `.github/agents/` in the repository root. The filename uses the `.agent.md` extension (e.g., `accessibility.agent.md`).
## Plugin placement (this repo)
Per the cross-compat reference, plugin agents for Copilot CLI use the `.agent.md` naming:
- Claude Code reads: `agents/<name>.md`
- Copilot CLI reads: `agents/<name>.agent.md`
Both files share the same system prompt body. Only the frontmatter differs: Copilot uses `tools:` as an array with different tool names; Claude Code uses `tools:` as comma-separated internal tool names.
## Fields not supported in Copilot CLI
These Claude Code agent fields have no Copilot CLI equivalent:
- `permissionMode`
- `maxTurns`
- `skills` (Claude-specific skill injection)
- `mcpServers` (inline per-agent MCP — not supported in VS Code/IDE)
- `hooks`
- `memory`
- `background`
- `effort`
- `isolation`
- `color`
- `initialPrompt`
- `disallowedTools`