Convert agent profiles from YAML to Markdown with frontmatter#543
Merged
Conversation
Co-authored-by: pethers <1726836+pethers@users.noreply.github.com>
pethers
marked this pull request as ready for review
November 2, 2025 21:12
Copilot
AI
changed the title
[WIP] Fix custom agent definition attributes and tools
Convert agent profiles from YAML to Markdown with frontmatter
Nov 2, 2025
Copilot stopped work on behalf of
pethers due to an error
November 2, 2025 21:12
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Agent profile files were using pure YAML format (
.yml) with aninstructions:field. GitHub Copilot's specification requires Markdown files (.md) with YAML frontmatter.Changes
.ymlto.mdwith proper frontmatter structureinstructions:YAML field to Markdown body below frontmatterTypeScript React Development Agent→typescript-react-agent)documentation-agent.mddemonstrating optional tool restriction capabilityFormat Change
Before:
After:
Files Affected
typescript-react-agent,testing-agent,code-review-agent,documentation-agent,security-compliance-agent.ymlfiles removed.github/agents/README.mdupdated with correct format documentationOriginal prompt
fix custom agent definition, follow format and docs below (current version have wrong attributes and tools.
An agent profile template called my-agent.md will open in the .github/agents directory of the repository you chose. Edit the filename and configure the agent profile, including the name, description, tools, and prompts. For more information on what the agent profile can include, see the section below.
Commit the file to the repository. Go back to the agents tab and refresh the page if needed. Your custom agent will now appear in the dropdown when you click in the prompt box.
Configuring an agent profile
An agent profile is a Markdown file with YAML frontmatter that specifies the custom agent's name, description, available tools, and MCP server configurations (for organization/enterprise level agents). Configuring an agent profile involves defining the agent's identity, capabilities, tool access, and behavioral instructions.
For detailed configuration information about YAML properties, tools, MCP server setup, tool aliases, and how custom agents are processed, see Custom agents configuration.
To configure your agent profile:
Choose a name for your custom agent. Select a unique, descriptive name that identifies the agent's purpose.
Write a brief description explaining what your agent does and its specific capabilities or domain expertise.
In the tools property, define which tools the agent can use. This is a list of tool names or aliases, including tools from MCP servers configured in the repository settings or the agent profile (for example, tools: ["read", "edit", "search", "some-mcp-server/tool-1"]). If you omit this property, the agent will have access to all available tools.
If creating an organization or enterprise level agent, you can use the mcp-servers property to optionally configure MCP servers that will be available only to this agent to extend its capabilities.
Write the agent's prompt. Define the agent's behavior, expertise, and instructions in the Markdown content below the YAML frontmatter.
Example agent profiles
The following examples demonstrate what an agent profile could look like for the common tasks of writing tests or planning the implementation of a project. For additional inspiration, see the Custom agents examples in the customization library. You can also find examples in the awesome-copilot community collection, though note that the community examples are designed for VS Code chat modes, so the syntax may differ slightly from the custom agents syntax.
Testing specialist
This example enables all tools by omitting the tools property.
Text
name: test-specialist
description: Focuses on test coverage, quality, and testing best practices without modifying production code
You are a testing specialist focused on improving code quality through comprehensive testing. Your responsibilities:
Always include clear test descriptions and use appropriate testing patterns for the language and framework.
Implementation planner
This example only enables a subset of tools.
Text
name: implementation-planner
description: Creates detailed implementation plans and technical specifications in markdown format
tools: ["read", "search", "edit"]
You are a technical planning specialist focused on creating comprehensive implementation plans. Your responsibilities:
Always structure your plans with clear headings, task breakdowns, and acceptance criteria. Include considerations for testing, deployment, and potential risks. Focus on creating thorough documentation rather than implementing code.
To configure your agent profile:
Choose a name for your custom agent. Select a unique, descriptive name that identifies the agent's purpose.
Write a brief description explaining what your agent does and its specific capabilities or domain expertise.
In the tools property, define which tools the agent can use. This is a list of tool names or aliases, including tools from MCP servers configured in the repository settings or the agent profile (for example, tools: ["read", "edit", "search", "some-mcp-server/tool-1"]). If you omit this property, the agent will have access to all available tools.
If creating an organization or enterprise level agent, you can use the mcp-servers proper...
💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.