2026. 05. 18. / TECH · 3 min read
Skills vs Agents in Claude Code — What's the Difference?
Both extend Claude, but they work in completely different ways
If you've used Claude Code for a while, you've probably come across the terms Skill and Agent.
They might sound similar, but they serve completely different purposes. Here's a breakdown of when to use each.
Skill: A Manual You Hand to Claude
A skill is a Markdown document that tells Claude "when you're in this situation, do it this way."
The actual file lives in .claude/skills/ as a .md file.
When you call Skill("skill-name"), that file is loaded into the current conversation's context.
Skills run inline within the current conversation — no separate process, no new instance.
Slash commands like /review, /ship, and /qa are all skill invocations.
You define the steps and rules for a complex task in a file, then load it whenever you need it.
# Example: /new-blog-post skill file
## Step 1: Confirm keyword
## Step 2: Search for news
## Step 3: Select article
...
Define the workflow once, and Claude follows those steps every time.
Agent: Spinning Up a Separate Claude Instance
An agent is a sub Claude instance invoked via the Agent() tool.
It starts with zero knowledge of the current conversation — send it without context and it won't know what's going on. It can run in the background in parallel, and there are specialized types for different jobs.
| Type | Purpose |
|---|---|
Explore | Codebase search, file/symbol lookup |
Plan | Implementation strategy and architecture review |
general-purpose | Complex multi-step tasks |
claude-code-guide | Claude Code API/CLI questions |
When an agent finishes, it sends back exactly one message with the result.
Side-by-Side Comparison
| Property | Skill | Agent |
|---|---|---|
| Runs in | Current conversation | Isolated sub-instance |
| Context | Shared | Starts fresh |
| Parallel execution | No | Yes |
| How to invoke | Skill("name") | Agent({...}) |
| Return value | None (runs directly) | One message |
| Main use case | Workflow template | Delegating isolated tasks |
When to Use Each
Use a Skill when:
- You want to standardize a repeated task (blog writing, PR review, deployment)
- The task needs the current conversation's context
- Order matters and the work is sequential
Use an Agent when:
- You have multiple independent tasks to run simultaneously
- You want to protect the main context window (e.g., large-scale code exploration)
- You need an independent judgment — verification, code review, etc.
You can combine them too.
It's actually common for a skill to dispatch agents internally — the skill defines how, and the agent handles execution. Clear division of responsibility.
A Skill is a manual you hand to Claude. An Agent is hiring a new worker.
When the manual is enough, handle it yourself. When tasks pile up or need independence, bring in an agent.


