WoWAddonAPIAgents / references
AGENTS.md75 starsChanged 13 days agoMITView on GitHub
Source: VS Code Custom Agents Documentation Custom agents enable you to configure the AI to adopt different personas tailored to specific development roles and tasks. Each agent defines its own behavior, available tools, language model preferences, and can orchestrate multi-step workflows through handoffs. Custom agents were previously known as "custom chat modes." If you have existing .chatmode.md files, rename them to .agent.md. Additional locations can be configured with the chat.agentFilesLocations setting. Provider note: <provider> is your provider's base folder (.github/,…
Where files are headingNew AGENTS.md files have more rules about keeping secrets out of the code, and fewer about code style.
Of the AGENTS.md files we read, the 31,700 first seen in the last six months, against the older ones: the kind of rule that gained most share, and the kind that lost most. About files like this in general, not this one, and an estimate, since a kind is a pattern in the words.
In this repository42 other files it gives its agents.
- agent-file-specsSkill
- analyze-agent-overlapSkill
- generate-agent-docsSkill
- validate-agent-filesSkill
- wow-addon-developmentSkill
- wow-addon-structureSkill
- wow-api-achievementsSkill
- wow-api-calendar-eventsSkill
- wow-api-collectionsSkill
- wow-api-combatSkill
- wow-api-currency-economySkill
- wow-api-encountersSkill
- wow-api-escape-sequencesSkill
- wow-api-eventsSkill
- wow-api-framexmlSkill
- wow-api-group-lfgSkill
- wow-api-guildSkill
- wow-api-housingSkill
- wow-api-indexSkill
- wow-api-items-inventorySkill
- wow-api-lua-environmentSkill
- wow-api-map-navigationSkill
- wow-api-misc-systemsSkill
- wow-api-professionsSkill
- wow-api-pvpSkill
- wow-api-questsSkill
- wow-api-reputationSkill
- wow-api-settings-systemSkill
- wow-api-social-chatSkill
- wow-api-spells-abilitiesSkill
- wow-api-talentsSkill
- wow-api-transmogSkill
- wow-api-unit-playerSkill
- wow-api-weekly-rewardsSkill
- wow-api-widgetSkill
- wow-api-xml-schemaSkill
- wow-client-targetsSkill
- wow-controller-supportSkill
- wow-lua-apiSkill
- wow-macro-commandsSkill
- wow-native-uiSkill
- wow-ui-skinningSkill
The file
We split this AGENTS.md into the rules it gives an agent
6 rules. About 0 are common, 6 are distinctive, and 0 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈6
Distinctive · estimate
This author's own choices. Worth a look.
0
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 147
When both a custom agent and a prompt file specify tools, the priority order is:
- Distinctive: line 151
Default tools for the selected agent (if any)
- Distinctive: line 153
If a specified tool is not available, it is silently ignored.
- Distinctive: line 222
If an agent isn't working as expected:
- Distinctive: line 225
Use the chat customization diagnostics view: right-click in the Chat view →
- Distinctive: line 227
Check for syntax errors, invalid configurations, or loading issues.
≈ “Common” is an estimate: at least 1 in 5 of the 40,246 AGENTS.md files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Custom Agent Files (.agent.md)
Custom agents enable you to configure the AI to adopt different personas tailored to specific development roles and tasks. Each agent defines its own behavior, available tools, language model preferences, and can orchestrate multi-step workflows through handoffs.
Custom agents were previously known as "custom chat modes." If you have existing
.chatmode.mdfiles, rename them to.agent.md.
File Location
| Scope | Location |
| Workspace | <provider>/agents/*.agent.md or <provider>/agents/*.md |
| Sub-agents | <provider>/agents/*.subagent.agent.md |
| User profile | Current VS Code profile folder (available across workspaces) |
| Organization | GitHub organization level (shared across repos) |
Additional locations can be configured with the chat.agentFilesLocations
setting.
Provider note:
<provider>is your provider's base folder (.github/,.claude/,.codex/,.config/opencode/). VS Code detects any.mdfile in.github/agents/as a custom agent.
File Structure
---
name: agent-name
description: Brief description shown as placeholder in chat input
user-invokable: true
argument-hint: Optional hint for user input
tools: ['tool1', 'tool2']
agents: ['*']
model: Claude Sonnet 4
disable-model-invocation: false
handoffs:
- label: Button Text
agent: target-agent
prompt: Prompt to send
send: false
model: GPT-5 (copilot)
---
[Agent instructions body — Markdown content]Frontmatter Attributes
| Attribute | Required | Type | Default | Description |
name | No | string | filename | Agent name. If not specified, the file name is used. |
description | Recommended | string | — | Brief description shown as placeholder text in the chat input field. |
user-invokable | No | boolean | true | Whether the agent appears in the agents dropdown. Set to false for sub-agents that should only be accessible programmatically or via handoffs. |
argument-hint | No | string | — | Hint text shown in the chat input field to guide users on what to type. |
tools | No | string[] | — | List of tool or tool set names available to this agent. Can include built-in tools, tool sets, MCP tools, or extension-contributed tools. Use <server>/* to include all tools from an MCP server. |
agents | No | string[] | — | List of agent names available as subagents. Use * for all agents, [] for none. Requires the agent tool to be included in tools. |
model | No | string or string[] | selected model | AI model to use. Specify a single model name or a prioritized array (system tries each in order until one is available). |
disable-model-invocation | No | boolean | false | Prevents this agent from being invoked as a subagent by other agents. |
infer | No | boolean | — | Deprecated. Use user-invokable and disable-model-invocation instead. Previously controlled both picker visibility and subagent availability. |
target | No | string | — | Target environment: vscode or github-copilot. |
mcp-servers | No | object | — | MCP server configuration JSON for use with target: github-copilot. |
handoffs | No | object[] | — | List of handoff configurations for workflow transitions between agents. See Handoff Configuration below. |
Naming Conventions
| Type | Pattern | Example |
| User-facing agent | <name>.agent.md or <name>.md | planner.agent.md |
| Sub-agent (workflow component) | <name>.subagent.agent.md | due-diligence.subagent.agent.md |
- Sub-agents should set
user-invokable: falseso they don't appear in the agent picker. - Any
.mdfile in the<provider>/agents/folder is detected as a custom agent.
Handoff Configuration
Handoffs create guided sequential workflows between agents. After a chat response completes, handoff buttons appear to let users transition to the next agent with relevant context.
Use Cases
- Planning → Implementation: Generate a plan, then hand off to start coding.
- Implementation → Review: Complete code, then switch to a review agent.
- Write Failing Tests → Implement: Generate tests first, then hand off to make them pass.
Syntax
handoffs:
- label: "Display text for button"
agent: "target-agent-name"
prompt: "Prompt text to send to target agent"
send: false
model: "GPT-5 (copilot)"Handoff Attributes
| Attribute | Required | Type | Default | Description |
label | Yes | string | — | Display text shown on the handoff button. |
agent | Yes | string | — | Target agent identifier to switch to. |
prompt | No | string | — | Prompt text to send to the target agent. |
send | No | boolean | false | Auto-submit the prompt if true. If false, the prompt is pre-filled only. |
model | No | string | — | Language model for the handoff. Use the format Model Name (vendor), e.g., GPT-5 (copilot) or Claude Sonnet 4.5 (copilot). |
Body Content
The body contains Markdown-formatted instructions that define the agent's behavior. These instructions are prepended to the user's chat prompt whenever the agent is selected.
Capabilities
- Markdown formatting: Full Markdown including headers, lists, code blocks.
- File references: Link to other files with standard Markdown links
(e.g.,
[standards](../instructions/react.instructions.md)). - Tool references: Reference tools with
#tool:<tool-name>syntax (e.g.,#tool:githubRepo). - Instruction reuse: Link to
.instructions.mdfiles to avoid duplicating guidelines.
Tool List Priority
When both a custom agent and a prompt file specify tools, the priority order is:
- Tools specified in the prompt file (if any)
- Tools from the referenced custom agent in the prompt file (if any)
- Default tools for the selected agent (if any)
If a specified tool is not available, it is silently ignored.
Example: Planning Agent
---
name: planner
description: Generate an implementation plan for new features
tools: ['search', 'fetch', 'githubRepo', 'usages']
model: Claude Sonnet 4
handoffs:
- label: Implement Plan
agent: agent
prompt: Implement the plan outlined above.
send: false
---
# Planning Instructions
You are in planning mode. Generate implementation plans without making code
edits.
## Plan Structure
- **Overview:** Brief description of the feature
- **Requirements:** List of functional and non-functional requirements
- **Implementation Steps:** Detailed, actionable steps
- **Testing:** Required test cases and coverageExample: Sub-Agent
---
name: due-diligence
user-invokable: false
description: Deep analysis of requirements and integration points
tools: ['search', 'fetch', 'usages']
---
# Due Diligence Analysis
You perform deep analysis on requirements before planning begins.
Identify integration points, dependencies, risks, and clarifications needed.Sharing and Organization
- Workspace agents are stored in
<provider>/agents/and shared via version control. - User profile agents are stored in the current VS Code profile and available across all workspaces.
- Organization agents are defined at the GitHub organization level and
automatically detected when
github.copilot.chat.organizationCustomAgents.enabledis set totrue. - Agents can be reused in background agents and cloud agents.
Diagnostics
If an agent isn't working as expected:
- Select Configure Custom Agents from the agents dropdown.
- Use the chat customization diagnostics view: right-click in the Chat view → Diagnostics.
- Check for syntax errors, invalid configurations, or loading issues.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

