custom-agent-definitionslisted
Install: claude install-skill laurigates/claude-plugins
# Custom Agent Definitions
Expert knowledge for defining and configuring custom agents in Claude Code.
## When to Use This Skill
| Use this skill when... | Use agent-teams instead when... |
|---|---|
| Authoring a new `.md` agent definition file in `.claude/agents/` | Spawning multiple already-defined agents that need to coordinate via TeamCreate |
| Configuring a single agent's `model`, `allowed-tools`, or `context: fork` | Setting up a lead/teammate architecture with a shared task list |
| Constraining tool access for a specialised read-only or write-restricted agent | Sequencing parallel work across worktrees (see parallel-agent-dispatch) |
| Writing the system prompt that defines what one agent does | Auditing existing agent definitions for security or completeness (see meta-audit) |
## Core Concepts
**Custom Agents** allow you to define specialized agent types beyond the built-in ones (Explore, Plan, Bash, etc.). Each custom agent can have its own model, tools, and context configuration.
## Agent Definition Schema
Custom agents are defined in `.claude/agents/` or via plugin agent directories.
### Basic Structure
```yaml
---
name: my-custom-agent
description: What this agent does
model: sonnet
allowed-tools: Bash, Read, Grep, Glob
---
# Agent System Prompt
Instructions and context for the agent...
```
### Context Forking
The `context` field controls how the agent's context relates to the parent conversation:
| Value | Behavior |
|-------|----------|
| `fork`