What you’ll learn
From “I've never created a subagent” to “I build and orchestrate my own system of specialists.” Seven concrete outcomes:
Explain the difference between agent, subagent, and skill and choose the right primitive.
Articulate the real reason for the subagents (context protection) and apply the “deciding question.”
Create a custom subagent from scratch: frontmatter + body, with a description that triggers automatically.
Restrict tools (read-only) and choose between project × global.
Match model with task (Haiku/Sonnet/Opus) and build the "smart manager + cheap workers" pattern.
Orchestrate chains, impartial reviewer and dynamic workflows—with a sense of the cost.
Take the concept to other environments/models (Codex, cross-runtime) and build your own library of specialists safely.
The 4 tracks
Each track has 6 modules with a design, example .md, ready-to-use prompts and an exercise. Follow them in order or skip to what you need.
🌱 Fundamentals
Understand before creating
- M1.1 · What is a subagent
- M1.2 · The real reason: clean context
- M1.3 · Agent × Subagent × Skill
- M1.4 · Built-in × Custom
- M1.5 · The deciding question
- M1.6 · Anatomy of a subagent
🛠️ Creating it in practice
From .md to specialist
- M2.1 · The complete frontmatter
- M2.2 · The description is the trigger
- M2.3 · The body is the brain
- M2.4 · Tools and permissions
- M2.5 · Project × Global
- M2.6 · Creating with /agents
⚙️ Model, cost, and orchestration
Smart boss, low-cost workers
- M3.1 · One model per task
- M3.2 · The real savings
- M3.3 · Chaining subagents
- M3.4 · The impartial reviewer
- M3.5 · Dynamic workflows
- M3.6 · Orchestration patterns
🚀 Advanced & cross-environment
Beyond Claude Code
- M4.1 · Multi-agent architecture at scale
- M4.2 · Subagents in Codex and others
- M4.3 · Comparing models by role
- M4.4 · Security
- M4.5 · Libraries and reuse
- M4.6 · Building your system
🧭 Summary on one screen
The entire decision about subagents, condensed. Save this — it's the course in nine bullets.
A quick thing → do it directly in chat.
Heavy or noisy task → subagent.
Share with the team → .claude/agents/ in the repo.
Keep it just for yourself → ~/.claude/agents/ in the home directory.
Save money → cheap workers, one smart leader.
Better results → have a new agent review your work.
Huge task in parallel → dynamic workflow (watch the cost).
Not sure? → "Is this a stack I'll never reread?" If so, use a subagent.
Create your first one in seconds: type /agents.