skills -- list of skills preloaded into agent context
mcpServers -- list of MCP servers available to this agent
memory -- user | project | local
hooks -- lifecycle hooks scoped to this agent
Memory field conventions:
Choose the narrowest memory scope: local for temporary insights, project for shared patterns, user for cross-project preferences
Keep memory entrypoint files under 200 lines — content beyond this is truncated at load time
Organize memory by topic (e.g., debugging.md, api-patterns.md), not chronologically
Use MEMORY.md as the index file; create separate topic files for detailed notes
Naming
All agent names use kebab-case: ^[a-z0-9][a-z0-9-]*$
Filename (without .md) must match the name frontmatter field exactly
No consecutive hyphens, no leading/trailing hyphens
README Index Requirement
When defining a new agent at any level:
~/.{gemini|copilot|codex|claude}/agents/
.claude/agents/ (project-level)
Project-local agent directories
Update the corresponding README.md index in the same directory:
Add a row to the index table with agent name, description, and key fields
Add a description section with usage details
Keep the table sorted alphabetically by name
Body Content
Write the system prompt in imperative voice ("Check the logs" not "Checks the logs")
Keep agent definitions focused on a single responsibility
Reference skills by name rather than inlining their content
Critical Rules
Always update the README.md index when adding or modifying an agent
Name every agent in kebab-case matching its filename exactly
Include both name and description in frontmatter -- they are required
Never duplicate agent functionality -- check existing agents first
Keep agent system prompts under 500 lines for maintainability
Run wagents validate after any agent frontmatter change
Use imperative voice throughout the agent body text
Canonical terms (use these exactly):
agent -- an AI agent definition file in agents/ directory
frontmatter -- YAML metadata between --- delimiters
system prompt -- the markdown body after frontmatter
index table -- the markdown table in README.md listing all agents
kebab-case -- lowercase words separated by hyphens
Converted and distributed by TomeVault — claim your Tome and manage your conversions.
1---2name: wyattowalsh-agents-agent-conventions3description: Agent Conventions4---56# Agent Conventions78Apply these conventions when creating or modifying AI agent definitions.910## Dispatch1112| $ARGUMENTS | Action |13|------------|--------|14| Active (auto-invoked when working on agent files) | Apply all conventions below |15| Empty | Display convention summary |16| `check` | Run validation checks only |1718## References1920| File | Purpose |21|------|---------|22| `references/readme-template.md` | Template for agent README.md index entries |2324## Conventions2526### Required Frontmatter2728Every agent file must include these fields in YAML frontmatter:2930- `name` -- kebab-case, must match filename without `.md`31- `description` -- non-empty, describes the agent's purpose3233### Optional Frontmatter3435- `tools` -- comma-separated tool allowlist (default: all)36- `disallowedTools` -- comma-separated tool denylist37- `model` -- `sonnet` | `opus` | `haiku` | `inherit` (default: `inherit`)38- `permissionMode` -- `default` | `acceptEdits` | `delegate` | `dontAsk` | `bypassPermissions` | `plan`39- `maxTurns` -- integer cap on agentic turns40- `skills` -- list of skills preloaded into agent context41- `mcpServers` -- list of MCP servers available to this agent42- `memory` -- `user` | `project` | `local`43- `hooks` -- lifecycle hooks scoped to this agent4445**Memory field conventions:**46- Choose the narrowest memory scope: `local` for temporary insights, `project` for shared patterns, `user` for cross-project preferences47- Keep memory entrypoint files under 200 lines — content beyond this is truncated at load time48- Organize memory by topic (e.g., `debugging.md`, `api-patterns.md`), not chronologically49- Use MEMORY.md as the index file; create separate topic files for detailed notes5051### Naming5253- All agent names use kebab-case: `^[a-z0-9][a-z0-9-]*$`54- Filename (without `.md`) must match the `name` frontmatter field exactly55- No consecutive hyphens, no leading/trailing hyphens5657### README Index Requirement5859When defining a new agent at **any** level:6061- `~/.{gemini|copilot|codex|claude}/agents/`62- `.claude/agents/` (project-level)63- Project-local agent directories6465Update the corresponding `README.md` index in the same directory:66671. Add a row to the index table with agent name, description, and key fields682. Add a description section with usage details693. Keep the table sorted alphabetically by name7071### Body Content7273- Write the system prompt in imperative voice ("Check the logs" not "Checks the logs")74- Keep agent definitions focused on a single responsibility75- Reference skills by name rather than inlining their content7677## Critical Rules78791. Always update the README.md index when adding or modifying an agent802. Name every agent in kebab-case matching its filename exactly813. Include both `name` and `description` in frontmatter -- they are required824. Never duplicate agent functionality -- check existing agents first835. Keep agent system prompts under 500 lines for maintainability846. Run `wagents validate` after any agent frontmatter change857. Use imperative voice throughout the agent body text8687**Canonical terms** (use these exactly):88- `agent` -- an AI agent definition file in `agents/` directory89- `frontmatter` -- YAML metadata between `---` delimiters90- `system prompt` -- the markdown body after frontmatter91- `index table` -- the markdown table in README.md listing all agents92- `kebab-case` -- lowercase words separated by hyphens9394---95> Converted and distributed by [TomeVault](https://tomevault.io/claim/wyattowalsh) — claim your Tome and manage your conversions.96<!-- tomevault:4.0:skill_md:2026-04-13 -->
Run npx skillmds@latest add tomevault-io/wyattowalsh-agents-agent-conventions in your terminal (requires Node.js), paste this page's agent-chat prompt into Claude, Cursor, or any MCP-connected agent, or download the SKILL.md file and copy it into your agent's skills directory.
Agent Conventions It is listed under AI & ML on SkillMD.
This skill has not completed SkillMD's automated safety review yet. Independent scanners report: SkillSpector: PASS, Skill Scanner: PASS. SkillMD never runs a skill's scripts for you; review the SKILL.md before installing.
This skill is tagged as working with Claude Code, Claude.ai, OpenAI Codex. SKILL.md is an open format, so most agents that read a skills directory can load it too.
Yes. Installing skills from SkillMD is free, and the skill stays under its author's original license.
tomevault-io (@tomevault-io) published this skill. Their other Agent Skills are listed on their SkillMD profile.