skills/mp-agent-create/SKILL.md
Creates a new Claude Code sub-agent following this repo's conventions, with a review checklist.
npx skillsauth add MartinoPolo/mpx-claude-code mp-agent-createInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Create a new Claude Code custom agent following project conventions.
Read ../shared/SUBAGENT_PROTOCOL.md and
../shared/AUTHORING.md now — they carry the verified rules
for model selection, tool grants, and naming that this skill applies.
claude-code-guide agent to get latest agent/sub-agent authoring docs.md file in agents/ directorySpawn a claude-code-guide agent (subagent_type: claude-code-guide) with the prompt:
"What are the latest Claude Code guidelines for authoring custom agents (sub-agents)? Include frontmatter fields, file structure, tool allowlists, model selection, description rules, and any best practices."
Store the returned guidelines for use in Step 4.
Ask all of the following in a single numbered list (one round-trip):
inherit is not offered.If $ARGUMENTS provided, use as initial agent name/description and ask only the unanswered questions.
Create agents/<agent-name>.md with this structure:
---
name: <agent-name>
description: <one-line what it does and when to use it>
tools: <comma-separated tool list>
model: <haiku|sonnet|opus>
color: <color>
---
# <Agent Title>
<One-line role summary.>
## Workflow
1. Step one
2. Step two
3. Report results
## Output
\```markdown
<structured output template>
\```
Required:
| Field | Rules |
| ------------- | ---------------------------------------------------------------------- |
| name | Lowercase, hyphens only, max 64 chars. Must match filename. Overriding a built-in is the one exception — match its capitalisation exactly. |
| description | One line, max 250 chars. Front-load key use cases. |
| tools | Comma-separated allowlist. Only include tools the agent actually uses. Write Agent, not the deprecated Task. |
| model | Name one explicitly — see Model Selection below. |
| color | Status line color for visual identification. |
Optional: disallowedTools, permissionMode, maxTurns, skills, mcpServers,
hooks, memory, background, effort, isolation, initialPrompt. Semantics in
../shared/SUBAGENT_PROTOCOL.md § 6.
# Agent Title and one-line role summary## Workflow — numbered steps, clear and sequential## Output — structured template so parent can parse resultsNaming, descriptions, positive phrasing, explicit references, paths, and versioning are
covered once in ../shared/AUTHORING.md. Follow it rather
than restating it here.
An agent that overrides a built-in keeps its body deliberately thin — the override
replaces the built-in's tuned system prompt, so a verbose body trades cost for worse
behaviour. See ../shared/SUBAGENT_PROTOCOL.md § 7.
| Agent Role | Typical Tools |
| -------------------------------- | --------------------------------------------------------------------- |
| Read-only reviewer | Read, Grep, Glob, Bash |
| Code executor | Read, Write, Edit, Bash, Grep, Glob |
| Research/exploration | Read, Grep, Glob, WebFetch, WebSearch |
| Orchestrator (spawns sub-agents) | Read, Grep, Glob, Bash, Agent |
| Browser tester | Read, Glob, Grep, Bash, AskUserQuestion + chrome-devtools MCP tools |
tools is a strict allowlist: an unlisted tool is absent from the agent's schema
entirely. Agent is not granted by default — an agent without it cannot delegate,
and its parent must spawn on its behalf and pass results back in. Full tool-grant
semantics, including disallowedTools, are in
../shared/SUBAGENT_PROTOCOL.md § 6.
An agent that needs MCP tools enumerates none of them. Every name in tools is
reprinted in the agent roster in every session, so a long MCP list is a standing context
charge that also rots when the server renames a tool. Omit tools and subtract instead:
disallowedTools: Write, Edit, NotebookEdit, Agent
AskUserQuestion is stripped from every sub-agent whatever the frontmatter says, so
granting it is always dead.
| Model | Best for |
| -------- | -------------------------------------------------------------------- |
| haiku | Fast mechanical work: running checks, committing, simple lookups |
| sonnet | Exploring, reviewing, docs, moderate-complexity implementation |
| opus | Complex reasoning: architecture, analysis, multi-step implementation |
Name a model in every agent this repo owns. inherit is valid, and omitting
model: means exactly the same thing — both resolve to the main conversation's model,
which on this machine is claude-opus-5[1m], the most expensive option. An agent left
on inherit gets silently expensive the moment the session model changes.
gh command (e.g., gh pr list)model only when that type
declares none — ../shared/SUBAGENT_PROTOCOL.md § 3.
effort is not a spawn parameter; pin it in the agent's frontmatter instead (§ 10)model parameter selects one (§ 1)Compare the drafted agent against the guidelines fetched in Step 1:
For each mismatch found:
If the guidelines suggest improvements beyond what this skill's conventions cover, note them as optional suggestions for the user.
Present the drafted agent and verify:
Ask the user for feedback. Iterate until approved.
Before finalizing, verify:
Agent rather than the deprecated TaskAgent is granted if — and only if — the agent spawns sub-agentsmodel names a specific model rather than relying on inheritgh commands, script paths)model fieldWhen overriding a built-in, additionally verify against
../shared/SUBAGENT_PROTOCOL.md § 7:
description copied verbatim from the built-in (it drives auto-delegation)disallowedTools re-denies every tool the built-in deniedtools
Show current project progress. Displays phase status and next steps. Use when: "show status", "project progress", "what's done"
data-ai
Unified project setup. Auto-detects state and orchestrates mpx skills/agents for init, conversion, or restructure.
testing
Track bugs/issues in .mpx/ phase system. Parses reports, finds related phases, adds fix tasks or creates bugfix phases. Use when: "track this bug", "add issue to project", "log this bug", "add bug to checklist"
development
Project workflow guidance for spec-driven development. Background knowledge auto-loaded when relevant.