Skill vs Subagent
Both exist to keep something from cluttering an agent's main context, but they solve it in opposite ways. A skill loads instructions into the same agent's existing context — nothing new spins up, the same agent just knows more than it did a moment ago. A subagent is a genuinely separate agent, with its own separate context, that does a piece of work on its own and reports back a result.
What a skill does
Stays out of the prompt until a matching task comes up, then loads its full instructions into the same agent that was already running — no new agent, no separate context, just more instructions available to the one agent already working. Learn more: Agent Skills.
What a subagent does
Runs as its own agent, with its own context window, handling a bounded piece of work the parent agent delegated to it — exploring, calling tools, reasoning through its piece — before returning just the result to the parent, not everything it did to get there. Learn more: Subagent.
Side by side
| Skill | Subagent | |
|---|---|---|
| What loads | Instructions, into the existing context | A whole separate agent, with its own context |
| Context impact | Adds to the same agent's context | Keeps its own exploration out of the parent's context entirely |
| What comes back | Nothing — it's not a call, it's now part of the same agent's knowledge | A result, after the subagent finishes its own work |
| Best for | Knowing how to approach a recurring kind of task | A bounded piece of work with its own separate exploration |
What each one actually costs
A skill costs nothing extra in isolation — it's just more instructions in the same context, so if that context gets too full from other things, the skill doesn't help. A subagent costs a real, separate context window and the overhead of delegation, but it protects the parent agent's context completely from whatever the subagent explores along the way, including dead ends and wrong turns that never need to be seen by anyone else.
Which one your problem calls for
Reach for a skill when the agent needs to know how to do something it doesn't already know how to do well, and that knowledge doesn't require its own separate space to work in. Reach for a subagent when a piece of the task needs real room to explore — multiple tool calls, false starts, its own back-and-forth — that would otherwise clutter the main agent's context with details nobody else needs to see.
In this guide
FAQ
Can a subagent use a skill?
Yes — a subagent is still an agent, and can load and use any skill relevant to the piece of work it's handling, the same way the parent agent would. The two aren't mutually exclusive; they solve different parts of the same context problem.