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>
87 lines
3.2 KiB
Markdown
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`
|