Skills vs subagents in Claude Code: which one you need
A skill adds knowledge to the current conversation; a subagent runs a task in its own separate context. How to tell which a job needs, with examples.
Both extend Claude Code, and they are easy to confuse. The difference is where the work happens.
| Skill | Subagent | |
|---|---|---|
| Runs in | The current conversation | Its own separate context |
| Adds | Knowledge, rules, procedures | A worker with its own instructions and tools |
| Good for | Applying a standard while you build | A self-contained task you want summarised |
| Example | A design system while restyling a page | Searching a large codebase and reporting back |
A quick test
If you need the result to shape work you are doing right now, it is a skill. If you want to hand something off and get a summary back, it is a subagent. The same distinction against the other extension points is in skills vs slash commands and skills vs hooks.
Questions
What is a subagent in Claude Code?
A separately configured assistant with its own instructions and tools that the main session can hand a task to. It works in its own context and returns a result.
When is a skill better than a subagent?
When the job needs knowledge or rules applied inside the work you are already doing, such as a design system while building a page.
When is a subagent better?
When a task is self-contained and would clutter the main conversation, such as a broad search or a review whose details you do not need to see.