How to Choose Between Skills and SubAgent

Aug 30, 2026

Both address the same issue: I have an existing Agent, and now I want to add a new capability. How exactly should this capability be plugged into the current Agent system?

From the documentation, Skills can be understood as giving the main Agent more abilities, such as drawing, planning, and so on.

SubAgent, on the other hand, starts another Agent to accomplish these tasks through an isolated context.

Some additional benefits of SubAgent are:

  1. Context isolation: it keeps a separate context from the main Agent, avoiding contamination.
  2. Parallelization: different sub-Agents can run in parallel, making them faster.

The above are what I consider the main differences between SubAgent and Skills. As for things like specialized instruction knowledge or tool restrictions, I believe both SubAgent and Skills can achieve them, so they are not significant enough as distinguishing points.

Since both enhance the ability to handle new tasks, when should we choose Skills and hand the task to the main Agent, and when should we hand it to a SubAgent?

I think we can follow the software engineering principle of "high cohesion, low coupling."

If the new task is clearly different from the main Agent's task or needs to run in parallel, then you may choose to start a separate SubAgent. Otherwise, it is recommended to implement it through Skills, because starting another Agent brings architectural complexity and uncertainty in results. Moreover, context isolation is both a blessing and a curse—how do you control the accuracy when the main Agent relays instructions to the sub-Agent?

How to Choose Between Skills and SubAgent | Blog