Skip to content

Convert agent profiles from YAML to Markdown with frontmatter#543

Merged
pethers merged 2 commits into
mainfrom
copilot/fix-agent-profile-definition
Nov 2, 2025
Merged

Convert agent profiles from YAML to Markdown with frontmatter#543
pethers merged 2 commits into
mainfrom
copilot/fix-agent-profile-definition

Conversation

Copilot AI commented Nov 2, 2025

Copy link
Copy Markdown
Contributor

Agent profile files were using pure YAML format (.yml) with an instructions: field. GitHub Copilot's specification requires Markdown files (.md) with YAML frontmatter.

Changes

  • Converted all 5 agent profiles from .yml to .md with proper frontmatter structure
  • Moved agent instructions from instructions: YAML field to Markdown body below frontmatter
  • Normalized agent names to kebab-case identifiers (TypeScript React Development Agenttypescript-react-agent)
  • Added tools property to documentation-agent.md demonstrating optional tool restriction capability
  • Updated README.md with correct format specification, validation commands, and contributing guidelines

Format Change

Before:

name: TypeScript React Development Agent
description: Expert in TypeScript and React development

instructions: |
  You are a specialized agent for TypeScript...

After:

---
name: typescript-react-agent
description: Expert in TypeScript and React development
tools: ["read", "edit", "search"]  # optional
---

You are a specialized agent for TypeScript...

Files Affected

  • 5 agent profiles converted: typescript-react-agent, testing-agent, code-review-agent, documentation-agent, security-compliance-agent
  • Old .yml files removed
  • .github/agents/README.md updated with correct format documentation
Original 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:

  • Analyze existing tests and identify coverage gaps
  • Write unit tests, integration tests, and end-to-end tests following best practices
  • Review test quality and suggest improvements for maintainability
  • Ensure tests are isolated, deterministic, and well-documented
  • Focus only on test files and avoid modifying production code unless specifically requested

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:

  • Analyze requirements and break them down into actionable tasks
  • Create detailed technical specifications and architecture documentation
  • Generate implementation plans with clear steps, dependencies, and timelines
  • Document API designs, data models, and system interactions
  • Create markdown files with structured plans that development teams can follow

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.

Copilot AI self-assigned this Nov 2, 2025
Co-authored-by: pethers <1726836+pethers@users.noreply.github.com>
@pethers
pethers marked this pull request as ready for review November 2, 2025 21:12
@pethers
pethers self-requested a review as a code owner November 2, 2025 21:12
@pethers
pethers merged commit 612e2a4 into main Nov 2, 2025
1 check passed
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
@pethers
pethers deleted the copilot/fix-agent-profile-definition branch November 2, 2025 21:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants