Claude Code: How Subagents, Tools, and Skills Fit Together
Last time I wrote about Claude Code plugins, the focus was on a system of sub-agents — specialists who each have tools (including MCP) at their disposal.
Soon after, Anthropic announced the addition of “skills.”
Since then, a few people have asked me how sub-agents, skills, and tools differ — and it’s easy to get them mixed up. Here’s my simple mental model to keep it clear.
What Anthropic Says
The docs are technically comprehensive, but I like to remember it in a more intuitive, human way.
Level 1: The Team
At the highest level, talking to Claude is like talking to one team of experts.
Their overall purpose is described in the claude.md file — think of it as your “team charter.”
Level 2: The Sub-Agents
The second level is the specialists on that team — the sub-agents.
Depending on your context, they can be:
- Proactively invoked by you, or
- Automatically triggered when Claude detects a relevant keyword.
Each sub-agent has its own job description, defined by you (just like you define claude.md for the overall team).
For example: You might define a sub-agent as a “Best Practice Researcher” — someone great at scanning internal/external documentation, summarizing insights, and sharing them back.
Level 3: Skills vs. Tools (Where Most People Get Confused)
This is where things blur — so I find it easiest to think about it like describing a real person:
-
Skills — These are abilities like writing, design, or research. They’re not tied to any specific app or platform.
-
Tools — These are applications that apply those skills — like using Figma to design, or Google Docs to write. Most tools connect through MCP (Model Context Protocol) that you set up.
Skills vs. Tools
The distinction that trips most people up.
| Aspect | Skills | Tools |
|---|---|---|
| What it is | Abilities — writing, design, research | Applications that apply those abilities |
| Analogy | Knowing how to design | Using Figma to design |
| Tied to a platform? | No — portable know-how | Yes — a specific app/service |
| How it connects | Invoked by the agent as needed | Usually via MCP (Model Context Protocol) |
Example: Adding Skills to Sub-Agents
I’ve added some skills to each sub-agent in my repo: https://github.com/casper7995/claude-code-architect-copilot
Examples:
-
Databricks-PySpark skills — For Delta Lake, DLT, and MLflow pipelines
-
Python-ML-DataScience skills — For feature engineering, model development, and experimentation
Closing Thoughts
If you think of Claude as a team:
-
Sub-agents are your specialists
-
Skills are their abilities
-
Tools are the apps they use to do the work
That framing has helped me explain it clearly to others — and keeps my Claude setup easier to reason about as it scales.