Agents and skills
The Maester repository ships AI agents and skills that know its conventions: how a check is written, which attributes it needs, how pull requests and issues are labelled. They work in GitHub Copilot and Claude Code when you open the repository. AGENTS.md holds the rules every agent follows.
Agentsโ
An agent is a role with its own instructions and tools. Ask for it by name, for example "use maester-test-planner to plan a check for guest invite settings".
| Agent | For | What it does | How to use it |
|---|---|---|---|
maester-issue-manager | Contributors and maintainers | Reserves MT test IDs on issue #697 and keeps tracking issues tidy for new checks. | Called by the other agents, or ask Claude Code to use it |
maester-test-expert | Contributors writing or reviewing checks | Writes, reviews and documents checks, including their attributes and the Test.<ID>.md guide. | Pick it in Copilot's agent list, or ask Claude Code to use it |
maester-test-planner | Contributors planning a new check | Plans a new or changed check before any code is written: files, attributes, validation steps. | Called by the other agents, or ask Claude Code to use it |
maester-triage | Maintainers and reviewers | Labels and re-labels PRs, issues and discussions with the label rubric so the queue can be filtered. | Pick it in Copilot's agent list, or ask Claude Code to use it |
Skillsโ
A skill is a body of knowledge an agent loads when the task needs it. The agents above read these, and any agent can follow them directly.
| Skill | For | What it covers |
|---|---|---|
maester-test-expert | Contributors writing or reviewing checks | The full guide to writing a check: layout, templates, attributes, rubric, validation and remediation. |
maester-triage | Maintainers and reviewers | The label rubric for PRs, issues and discussions, and the steps for applying it. |
Changing an agent or skillโ
Each agent and skill has one source file, which GitHub Copilot reads:
- an agent is
.github/agents/<name>.agent.md - a skill is
.github/skills/<name>/SKILL.md
Everything else is generated from those files by build/github/Update-AgentFiles.ps1: the Claude Code copies under
.claude/agents/ and .claude/skills/, and this page. Never edit the generated files.
To add or change one:
- Edit or create the source file. Its frontmatter needs
nameanddescription, and ametadatablock withaudience(who uses it) andsummary(one sentence on what it does). An agent also needsmetadata.claude-tools: the Claude Code tools it may use, orall. - Run
./build/github/Update-AgentFiles.ps1. - Commit the source file and the generated files together.
powershell/tests/general/AgentFiles.Tests.ps1fails the build when a generated file is out of date.