agent-check
Skill80 starsChanged 8 months agoMITView on GitHub
Validate custom agent file format and structure. Use after creating or editing an agent, before committing agent changes, or when an agent fails to load.
We split this skill into the rules it gives an agent
4 rules. About 0 are common, 0 are distinctive, and 4 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈0
Distinctive · estimate
This author's own choices. Worth a look.
4
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 147
Add missing color field (default: cyan)
- Very specific: line 148
Add missing model field (default: inherit)
- Very specific: line 149
Remove plugin-ignored fields (hooks, mcpServers, permissionMode, initialPrompt) or flag for review
- Very specific: line 150
Remove forkContext and other unknown fields
≈ “Common” is an estimate: at least 1 in 5 of the 308,232 skill 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
Agent File Validator
Validate agent files in .claude/agents/ for correct format against the
official Claude Code spec (plus Director Mode conventions).
Validation Target
- With argument: validate specific file
- Without: validate all
.claude/agents/*.md
Required Frontmatter
---
name: agent-name # Required: lowercase, hyphenated, 3-50 chars
description: > # Required: 10-5000 chars, include triggering conditions + <example> blocks
Use this agent when [conditions]. Examples:
<example>
Context: [situation]
user: "[request]"
assistant: "[response using this agent]"
</example>
color: cyan # Required by Director Mode convention (CI-enforced); OPTIONAL per official spec
model: sonnet # Required by Director Mode convention (CI-enforced); OPTIONAL per official spec.
# Valid: fable, opus, sonnet, haiku, inherit, default, best, sonnet[1m], opus[1m]
# (or a full model ID). inherit is the recommended default. NOT opusplan.
effort: medium # Optional: low, medium, high, xhigh, max
tools: # Optional: YAML list (omit = all tools available)
- Read
- Write
- Grep
disallowedTools: # Optional: explicit tool blocking
- NotebookEdit
maxTurns: 20 # Optional: max agentic turns (positive integer)
skills: # Optional: preloaded skill names (list, at most 32)
- linked-skill
memory: project # Optional: one of user, project, local
background: false # Optional: true keeps the agent in the background (boolean)
isolation: worktree # Optional: run the agent in an isolated git worktree
omitClaudeMd: false # Optional (2.1.271+): true starts without CLAUDE.md files
autoCompactWindow: 200000 # Optional (2.1.296+): integer, 100000-1000000
---Valid Tools
Read, Write, Edit, Bash, Grep, Glob, Agent (Task = legacy alias),
Skill, WebFetch, WebSearch, TodoWrite, NotebookEdit, AskUserQuestion
(TodoWrite is only offered on older models unless CLAUDE_CODE_ENABLE_TODO_TOOLS=1;
list an MCP server as mcp__<whole server name>__*)Valid Colors
red, blue, green, yellow, purple, orange, pink, cyanValid Models
sonnet, opus, haiku, fable, inherit, sonnet[1m], opus[1m], or a full model ID
(claude-opus-5-5). inherit recommended. Not default, best, or opusplan (/model values).Ignored for plugin subagents (WARN if present)
hooks # Honored in .claude/agents/; ignored when loaded from a plugin
mcpServers # Honored in .claude/agents/; ignored when loaded from a plugin
permissionMode # Honored in .claude/agents/; ignored when loaded from a plugin
initialPrompt # Main-session agents only; ignored when loaded from a pluginDirector Mode ships its agents as a plugin too, so its catalog omits them.
forkContext is not an official field: flag it as unknown.
Validation Checklist
Required Fields
nameexists (lowercase, hyphenated; official limit 256 chars, no:, no leading-)descriptionexists (10-5000 chars, recommend 200-1000 with<example>blocks)coloris set (valid color name) — required by Director Mode convention, optional per specmodelis set (valid value below) — required by Director Mode convention, optional per spec
Optional Fields (official)
toolsare valid tool names, YAML list format (omit = all tools available)disallowedToolsare valid tool nameseffortis one of: low, medium, high, xhigh, maxmaxTurnsis a positive integerskillsis a list of skill names (references existing skills)memoryis one of: user, project, localbackgroundandomitClaudeMdare booleanisolationisworktreeautoCompactWindowis an integer from 100000 to 1000000experimentalholds onlycacheTtl: 5m | 1hmodelis valid: sonnet, opus, haiku, fable, inherit, sonnet[1m], opus[1m], or a full model ID
Plugin-Ignored / Unknown Fields (WARN, do not silently accept)
- Warn on
hooks,mcpServers,permissionMode,initialPrompt— ignored for plugin subagents - Flag any other field outside the official list (for example
forkContext): Claude Code ignores it silently
Content Structure
# Agent Nameheading## Activationsection- Process/workflow description
- Output format definition
Format Rules
toolsuses YAML list format (not[Read, Write]bracket array) — Director Mode / CI house rule- No duplicate tools in list
- All tools are valid tool names
Output Format
## Agent Validation Report
### Files Checked
| File | Status | Issues |
|------|--------|--------|
| code-reviewer.md | OK | None |
| my-agent.md | WARN | Missing color, model |
### Summary
- Total: [N]
- Valid: [N]
- Needs fixes: [N]Auto-Fix
- Convert bracket array tools to YAML list format
- Convert string
skillsto YAML list - Add missing
colorfield (default: cyan) - Add missing
modelfield (default: inherit) - Remove plugin-ignored fields (
hooks,mcpServers,permissionMode,initialPrompt) or flag for review - Remove
forkContextand other unknown fields - Replace
default,best, oropusplanmodel values with a supported value - Remove invalid tools
- Add recommended sections
In this repository36 other files it gives its agents.
- .github/copilot-instructions.mdCopilot instructions
- changelog-observerSkill
- agentsSkill
- agent-templateSkill
- auto-loopSkill
- changelogSkill
- check-environmentSkill
- claude-md-checkSkill
- claude-md-templateSkill
- code-reviewerSkill
- debuggerSkill
- director-modeSkill
- doc-writerSkill
- evolving-loopSkill
- evolving-statusSkill
- focus-problemSkill
- getting-startedSkill
- handoff-claudeSkill
- handoff-codexSkill
- handoff-geminiSkill
- handoff-grokSkill
- hooks-checkSkill
- hook-templateSkill
- interop-routerSkill
- mcp-checkSkill
- planSkill
- project-health-checkSkill
- project-initSkill
- session-relaySkill
- skill-checkSkill
- skillsSkill
- skill-templateSkill
- smart-commitSkill
- test-firstSkill
- test-runnerSkill
- workflowSkill
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.

