Skills vs MCP vs Sub-Agents
Three approaches to extending AI agent capabilities. Understanding the trade-offs helps you choose the right tool for each situation.
At a Glance
| Aspect | Skills | MCP Servers | Sub-Agents |
|---|---|---|---|
| What it is | Instructions in context | External service | Separate agent |
| Execution | Same process | Separate process | Separate process |
| Context window | Shared with agent | N/A (tool calls) | Own window |
| LLM model | Uses agent's model | N/A (no model) | Can use different model |
| Parallelism | Sequential | Async tool calls | Can run in parallel |
| Setup complexity | Low (just a file) | Medium (server) | High (orchestration) |
Skills
Skills are instructions injected into the agent's context. They're essentially enhanced prompts—structured guidance that tells the agent how to handle specific tasks.
Agent Context = System Prompt + Skill Instructions + User Message
Strengths
- • Zero infrastructure—just a markdown file
- • Portable across harnesses
- • Human-readable and auditable
- • Version controlled like code
- • No network latency
Limitations
- • Consumes context window tokens
- • Can't access external data directly
- • Limited by agent's existing tools
- • Sequential execution only
Best For
Workflow guidance, coding standards, output formatting, domain knowledge, best practices, review checklists—anything that can be expressed as instructions.
MCP Servers
MCP (Model Context Protocol) servers are external services that provide tools. The agent calls these tools via a standardized protocol, and the server executes code and returns results.
Strengths
- • Access to external APIs and databases
- • Can execute arbitrary code
- • Doesn't consume context tokens
- • Standardized protocol (MCP)
- • Async execution possible
Limitations
- • Requires running a separate process
- • Network latency on every call
- • More complex deployment
- • Security boundary to manage
- • Not all harnesses support MCP
Best For
Database access, API integrations, file operations, web scraping, computations that require external data, or actions that need to happen outside the agent.
Sub-Agents
Sub-agents are fully independent agents spawned by a parent agent. Each has its own context window, can use its own LLM model, and operates autonomously on delegated tasks.
Strengths
- • Own context window (no sharing)
- • Can use different/specialized models
- • Parallel execution of tasks
- • Isolated failures don't crash parent
- • Can handle complex, long-running work
Limitations
- • Higher cost (multiple LLM calls)
- • Complex orchestration required
- • Context doesn't transfer cleanly
- • Harder to debug and audit
- • Coordination overhead
Best For
Complex multi-step workflows, tasks requiring different expertise (code review + security audit), parallelizable work (testing multiple approaches), or when context isolation is needed.
Choosing the Right Approach
Use a Skill when...
You need to guide agent behavior, enforce standards, or provide domain expertise. The task can be solved with the agent's existing tools. You want portability and simplicity.
Use an MCP Server when...
You need to access external systems (databases, APIs, cloud services). The action requires code execution outside the agent's sandbox. You want to keep context tokens free for the conversation.
Use a Sub-Agent when...
The task is complex enough to need its own "thinking space". You want parallelism. Different parts of the task benefit from different models. Isolation between tasks is important.
Combining Approaches
These approaches aren't mutually exclusive. A sophisticated agent might:
- Use Skills for coding standards and review guidelines
- Call MCP Servers to query databases and deploy code
- Spawn Sub-Agents to parallelize test execution