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

SkillSubagent
What loadsInstructions, into the existing contextA whole separate agent, with its own context
Context impactAdds to the same agent's contextKeeps its own exploration out of the parent's context entirely
What comes backNothing — it's not a call, it's now part of the same agent's knowledgeA result, after the subagent finishes its own work
Best forKnowing how to approach a recurring kind of taskA 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
  1. What a skill does
  2. What a subagent does
  3. Side by side
  4. What each one actually costs
  5. Which one your problem calls for
  6. FAQ

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.