Best for
- Use when writing agents/*.
vinnie357/claude-skills/plugins/tools/claude-code/skills/claude-agents/SKILL.md
Guide for creating custom agents (subagents) for Claude Code. Use when writing agents/*.md files, choosing agent frontmatter (tools, model, skills, permissionMode, maxTurns), restricting a subagent tool allowlist, preloading skills into an agent, or troubleshooting agent invocation.
Decision brief
Guide for creating custom agents that provide specialized behaviors and tool access for specific tasks.
Compatibility matrix
| Platform | Status | Evidence | What to check |
|---|---|---|---|
| Codex | Not declared | No explicit evidence | Portability before use |
| Claude Code | Declared | Source record | Install path and trigger |
| Cursor | Not declared | No explicit evidence | Portability before use |
| Gemini CLI | Not declared | No explicit evidence | Portability before use |
Installation
The source command is displayed only when detected. A safe inspection prompt is always available so your agent can explain every action before execution.
npx skills add https://github.com/vinnie357/claude-skills --skill "plugins/tools/claude-code/skills/claude-agents"Inspect the Agent Skill "claude-agents" from https://github.com/vinnie357/claude-skills/blob/258ac739a89d44fc78ad40e5724eb0526ff11d75/plugins/tools/claude-code/skills/claude-agents/SKILL.md at commit 258ac739a89d44fc78ad40e5724eb0526ff11d75. List every install step, command, network request, credential, file read/write, external action, and rollback step. Explain whether it fits my task. Do not install or execute anything until I approve.
Workflow
1. Find files: Glob to locate target files 2. Read code: Examine contents 3. Check patterns: Grep for anti-patterns 4. Report: Provide prioritized feedback
Invoke /core:agent-loop for the 4-phase / 6-tier execution model. Invoke /claude-code:claude-teams if the agent joins a multi-agent team. Invoke /core:anti-fabrication always — every claim about a tool, file, or test result requires tool execution.
Agents are specialized Claude instances with: - Specific tool access: Limited or specialized tool sets - Defined behaviors: Pre-configured instructions and constraints - Task focus: Optimized for particular workflows - Autonomous operation: Can execute multi-step tasks independe…
Review the “Agents vs Skills” section in the pinned source before continuing.
Agents are defined in markdown files located in: - Plugin: /agents/ - User-level: .claude/agents/
Permission review
No configured static risk pattern was detected
This is not proof of safety. Runtime behavior, indirect dependencies, and hidden external systems are outside the static scan.
Evidence record
| Signal | Value | Evidence type | Meaning |
|---|---|---|---|
| Quality score | 91/100 | Computed | Documentation, specificity, maintenance, and trust rules |
| Repository stars | 24 | Source | Repository attention, not individual Skill quality |
| Compatibility | 1 platforms | Source | Declared in the catalog source record |
| Usage guide | automated source guide | Editorial | Generated or reviewed according to the visible evidence level |
Pinned source
Guide for creating custom agents that provide specialized behaviors and tool access for specific tasks.
Invoke /core:agent-loop for the 4-phase / 6-tier execution model.
Invoke /claude-code:claude-teams if the agent joins a multi-agent team.
Invoke /core:anti-fabrication always — every claim about a tool, file, or test result requires tool execution.
Glob patterns like /core:* do not expand in Agent prompts. List skill names explicitly.
Agents are specialized Claude instances with:
| Feature | Agents | Skills |
|---|---|---|
| Activation | Explicitly launched via Agent tool | Auto-activated based on context |
| Tool Access | Configurable, can be restricted | Inherit from parent context |
| State | Independent, isolated | Share parent context |
| Use Case | Complex multi-step tasks | Knowledge and guidelines |
| Persistence | Single execution | Always available when loaded |
Agents are defined in markdown files located in:
<plugin-root>/agents/.claude/agents/code-reviewer.md---
name: code-reviewer
description: Reviews code for quality and best practices
tools: Read, Grep, Glob
model: sonnet
---
You are a code reviewer. Analyze code for quality, security, and best practices.
## Workflow
1. **Find files**: Glob to locate target files
2. **Read code**: Examine contents
3. **Check patterns**: Grep for anti-patterns
4. **Report**: Provide prioritized feedback
## Guidelines
- **Specific**: Reference file:line locations
- **Actionable**: Suggest concrete fixes
- **Prioritized**: Critical issues first
Writing style: direct, imperative language. Open with "You are a [role]. Your role is to [primary function]" rather than "I am a specialized [role]...". Use numbered workflow steps with specific commands, not bullet lists describing capabilities. Full style guidance and worked best-practice examples: references/patterns.md.
Complete field reference (source: https://code.claude.com/docs/en/sub-agents):
| Field | Required | Meaning |
|---|---|---|
name | yes | Unique identifier, lowercase letters and hyphens. Hooks receive this value as agent_type. The filename does not need to match. |
description | yes | When Claude delegates to this subagent. |
tools | no | Tool allowlist. Omit to inherit all tools. To preload skill content use skills — never list Skill here. |
disallowedTools | no | Denylist removed from the inherited or specified tool set. |
model | no | sonnet, opus, haiku, fable, a full model ID (e.g. claude-opus-4-8), or inherit. Defaults to inherit. |
permissionMode | no | default, acceptEdits, auto, dontAsk, bypassPermissions, plan, or manual (alias of default, v2.1.200+). Ignored for plugin subagents. |
maxTurns | no | Maximum agentic turns before the subagent stops. |
skills | no | Skills preloaded into context at startup. See Preloading Skills below. |
mcpServers | no | MCP servers available to this subagent (name reference or inline config). Ignored for plugin subagents. |
hooks | no | Lifecycle hooks scoped to this subagent. Ignored for plugin subagents. |
memory | no | Persistent memory scope: user, project, or local. |
background | no | true forces background execution. Unset lets Claude choose; defaults to background as of v2.1.198. |
effort | no | low, medium, high, xhigh, or max (model-dependent). |
isolation | no | worktree runs the subagent in a temporary git worktree, auto-cleaned if the subagent makes no changes. |
color | no | red, blue, green, yellow, purple, orange, pink, cyan. |
initialPrompt | no | Auto-submitted first user turn when run as a main-session agent (--agent). |
Model selection: match the model to task complexity — haiku for simple/repetitive tasks, sonnet for standard tasks, opus/fable for complex reasoning, inherit (default) to match the parent session's model.
The skills field preloads full skill content into the subagent's context at startup — not just the description shown during discovery. Use the namespaced form for plugin skills:
---
name: phoenix-reviewer
description: Reviews Phoenix application code
tools: Read, Glob, Grep
skills:
- elixir:phoenix
- elixir:testing
---
Skills not listed in skills remain invocable through the Skill tool during the run — skills only controls what loads automatically at startup. Never list Skill in tools: to enable this; skills is the dedicated field.
Build the name parameter from four segments: <issue>-<role>-<model>-<n>. Every segment is a placeholder. None of the four is a literal.
| Segment | What goes there |
|---|---|
<issue> | The number of the tracker issue this agent's team works on — 318 for claude-skills-318. With no tracker issue, use a short task slug (audit-ci). |
<role> | The agent's job on that team (test-author, impl, ci, review). |
<model> | The model tier the agent runs on (haiku, sonnet, opus, fable). |
<n> | The session-global spawn counter. |
Join the segments with hyphens. The assembled name must match ^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$. Keep every segment kebab-case, and never use a space.
A session that works issue 318 and then moves to 317 names its agents in this order:
318-test-author-sonnet-1318-impl-sonnet-2318-ci-haiku-3317-plan-fable-4Read 318-ci-haiku-3 as the CI runner on issue 318's team, running haiku, third agent spawned this session. Each segment answers one question without opening the agent: the issue groups one team under a shared prefix, the role says what the agent does, and the model shows which tier it activated with.
Example spawning:
Agent({
name: '318-impl-sonnet-2',
description: 'Implement feature endpoint',
prompt: '...'
})
The counter is ONE GLOBAL SERIES PER SESSION. The first agent spawned takes 1, the second takes 2, whatever its issue, role, or model tier. The trailing number therefore gives both a unique name and the agent's spawn order. Assign the counter at spawn time. Never reset it mid-session, and never carry it into another session. This is a prompt-discipline convention, not an enforced mechanism.
Four recurring shapes, each with a runnable template:
tools to Read, Grep, Glob. Template: templates/read-only-analyzer.mdWrite. Template: templates/write-capable-agent.mdtools entirely for no restrictions. Template: templates/full-access-agent.mdtemplates/mcp-agent.mdMinimal starting point: templates/basic-agent.md. Best-practice worked examples (clear purpose, appropriate tool access, explicit instructions): references/patterns.md. Plugin wiring, invocation mechanics, and troubleshooting: references/plugin-config.md.
Grant only the tools an agent's task requires — a read-only analyzer never needs Bash or Write. Never hardcode credentials, API keys, private URLs, or access tokens in agent files; agent bodies are prompts checked into repos and plugins. Worked tool-restriction and input-validation examples: references/patterns.md.
templates/basic-agent.md — official minimal exampletemplates/read-only-analyzer.md — security analysis patterntemplates/write-capable-agent.md — test generation patterntemplates/full-access-agent.md — refactoring pattern (no tool restrictions)templates/mcp-agent.md — MCP tools pattern (browser automation)references/patterns.md — writing style, common patterns, and worked best-practice/security examplesreferences/plugin-config.md — plugin.json wiring, invoking agents, agent communication, troubleshootingFrequently asked questions
Guide for creating custom agents that provide specialized behaviors and tool access for specific tasks.
The source record exposes this install command: npx skills add https://github.com/vinnie357/claude-skills --skill "plugins/tools/claude-code/skills/claude-agents". Inspect the command and pinned source before running it.
The pinned source record declares support for: claude code.
Alternatives
oaustegard/claude-skills
Generate hierarchical _FEATURES.md files that describe what a codebase DOES from a user/consumer perspective, anchored to source symbols via tree-sitting. Supports large complex codebases through feature-driven decomposition into sub-feature files. Uses a multi-pass synthesis: orientation → detail → overview rewrite. Use when someone says "what does this do", "document features", "feature inventory", "_FEATURES.md", or needs to understand a codebase's purpose before modifying it. Complements tre
vasilyu1983/AI-Agents-public
Configures Claude Code hooks and Codex hooks.json/notify callbacks. Use when adding guardrails, preflight, audit trails, worktree automation, or budget enforcement.
vasilyu1983/AI-Agents-public
Guides iOS testing with XCTest, XCUITest, Swift Testing, simctl, and xcresult. Use when choosing destinations, controlling flakes, or parsing test artifacts for native apps.
PaulRBerg/agent-skills
Create/scaffold/init a project-local agent skill under `.agents/skills` in an ordinary repository; defer to repository instructions that define a source catalog and lifecycle.