Agent Stack: Skills vs MCP

Hanks
Hanks Engineer
Abstract watercolor background with laurel frames highlighting Claude Skills vs MCP vs Agents key differences in AI capabilities and tools comparison

Every week I see the same question in developer forums: "Should I use Skills or MCP for this?" Usually followed by someone else asking, "Wait, aren't agents a separate thing entirely?" The short answer is yes — they're three distinct layers of how Claude gets things done. The longer answer is that they work best together, and understanding the difference unlocks a level of workflow design most people never reach. Let's sort it out.

Why the Confusion Exists

Why the Confusion Exists

Skills, MCP, and Agents all sound like they solve the same problem: making Claude smarter and more capable for specific tasks. And in some superficial sense, they do. But they operate at completely different levels of the stack.

The overlap in marketing language makes it worse. Anthropic has been shipping all three rapidly — Skills launched October 2025, MCP crossed 10,000 active public servers and was donated to the Linux Foundation in late 2025, Agent Teams officially launched February 2026 — and none of the launch posts clearly explain how they relate to each other.

One thing worth stating upfront before we go further: Skills are not system prompts. A system prompt is static text loaded once at session start. A Skill is a file-based module Claude discovers, evaluates for relevance, and loads dynamically — including code it can actually execute. That distinction matters for how you design anything non-trivial.

What Are Claude Skills? (Quick Recap)

What Are Claude Skills? (Quick Recap)

A Skill is a folder containing a SKILL.md file — structured metadata plus instructions that Claude loads when relevant to the current task. Skills can also bundle additional reference files and executable scripts that run deterministically.

The key design principle is progressive disclosure: at startup, Claude pre-loads only each skill's name and description. It reads the full contents only when it determines the skill applies. This means you can install many skills without bloating your context window, and you can package deep domain knowledge — team coding conventions, a PDF processing workflow, a data normalization procedure — without re-explaining it every session.

What Is MCP (Model Context Protocol)?

What Is MCP (Model Context Protocol)?

MCP is an open protocol standard that gives Claude a standardized way to connect to external tools, data sources, and services. Anthropic introduced MCP in November 2024 with exactly this framing: think of it as the USB-C port for AI applications — just as USB-C standardized device connections, MCP standardizes how AI models connect to external systems.

By early 2026, the ecosystem had grown to over 10,000 active public MCP servers — GitHub, Postgres, Notion, Stripe, Figma, Brave Search, and thousands more. In November 2025, Anthropic donated MCP to the Linux Foundation, co-founding the Agentic AI Foundation alongside Block and OpenAI. ChatGPT, Cursor, Gemini, Microsoft Copilot, and VS Code have all adopted it. It's now the de facto standard.

The MCP specification defines two sides: MCP servers expose tools and data, MCP clients (like Claude) connect to them. With MCP configured, Claude can query your database, create GitHub issues, search the web, interact with a browser — all through the same protocol, without custom integration work for each service.

What MCP** is not:** MCP doesn't give Claude procedural knowledge about how to use those tools in your specific context. It gives Claude access to a tool. Skills tell Claude the right way to use it for your workflow.

What Are Claude Agents and Subagents?

What Are Claude Agents and Subagents?

An agent is Claude operating autonomously across a series of steps — planning, executing, checking results, adjusting — without you directing every move.

A subagent is a specialized variant: a Claude instance that runs in its own isolated context window with its own system prompt and restricted tool access. When the main Claude orchestrator encounters a task matching a subagent's description, it delegates to that subagent, which works independently and returns only its final result. According to Anthropic's Agent SDK documentation, this buys you two things: parallelization (multiple subagents working simultaneously) and context isolation (exploratory work stays out of your main conversation).

Subagents are defined as Markdown files with YAML frontmatter in .claude/agents/ (project-level) or ~/.claude/agents/ (user-level). Claude Code ships three built-in subagents: Explore for codebase search, Plan for research during plan mode, and a general-purpose agent for complex multi-step tasks.

Agent Teams, which launched officially on February 5, 2026, go a step further — fully independent Claude Code instances that communicate with each other directly, rather than reporting back to a single orchestrator. Anthropic's engineering team describes subagents as ideal for context management and parallelization, while Agent Teams suit complex features with interdependent specialists.

One cost note: multi-agent workflows use roughly 4–7x more tokens than single-agent sessions. Design accordingly.

Side-by-Side Comparison Table

SkillsMCPAgents / Subagents
What it isFile-based knowledge + code moduleProtocol for connecting to external tools and dataAutonomous Claude instance with isolated context
What it gives ClaudeDomain knowledge, procedures, executable scriptsLive access to external systems and servicesTask delegation, parallelization, context isolation
Where it livesSKILL.md folder in project or user directoryMCP server registered via claude mcp add.claude/agents/ Markdown file with YAML frontmatter
How it loadsDiscovered at startup; triggered dynamically when relevantTool definitions loaded at session startSpawned on demand when orchestrator delegates
Context costLow — metadata only until triggeredMedium — tool definitions occupy context windowHigh — each subagent opens its own full context window
Can execute code?Yes — bundled scripts run deterministicallyYes — via tool calls to the MCP serverYes — inherits parent's permitted tools
Cross-platform?Yes — open standard at agentskills.ioYes — 10,000+ servers, adopted across all major AI platformsNo — Claude Code / Claude Agent SDK specific
Best forReusable workflows, team standards, domain proceduresLive data access, third-party service integrationComplex multi-step tasks, parallel workstreams

For a closer look at how Skills compare to native tools and slash commands, see Claude Skills vs tools and commands.

When to Use Each — Decision Guide

When to Use Each — Decision Guide

Skills Only

Use Skills when the problem is about knowledge consistency, not external connectivity. You want Claude to always handle a specific task the same way — your team's Git commit message format, a document generation procedure, a data validation workflow — without re-explaining it every session.

Good fit: encoding team standards, packaging repeatable procedures, bundling deterministic scripts for PDF extraction or spreadsheet normalization.

Not the right fit: anything requiring live data Claude doesn't already have.

MCP Only

Use MCP when the problem is about connectivity. Claude needs to reach something external — a database, a GitHub repo, a design tool — and you want that connection available across sessions without manual setup.

Good fit: reading Jira tickets and creating GitHub PRs, querying a live Postgres database, pulling Figma designs into a coding workflow.

Not the right fit: if you want Claude to follow a specific procedure when using those tools. MCP gives access; Skills encode the procedure.

All Three Combined

This is where the real leverage is. MCP provides the connections. Skills encode the domain procedures. A subagent handles the heavy lifting in isolation so your main context stays clean.

Pattern: you're building a weekly reporting workflow. An MCP server connects Claude to your analytics database and Notion. A Skill defines your team's normalization rules and report template. A subagent runs the full pipeline — querying the database, applying the normalization, writing the Notion report — while your main session handles something else.

Real-World Workflow Example

Here's a workflow I actually use: automated code review on every PR.

Setup:

  • MCP: GitHub server + Brave Search
  • Skill: code-review-standards — team checklist, naming conventions, security patterns to flag, plus a pre-written Python script that runs ast analysis on changed files
  • Subagent: pr-reviewer with read-only tool permissions and a focused system prompt

What happens on trigger:

The pr-reviewer subagent gets the task. It uses the GitHub MCP server to fetch the diff. It detects Python files and triggers the code-review-standards Skill, which loads the checklist and runs the ast script. It uses Brave Search via MCP to check whether any flagged patterns map to known CVEs in the libraries involved. It returns a structured review to the main agent, which posts it to the PR as a GitHub comment.

Without the Skill, the subagent needs the review checklist hardcoded in its system prompt — a maintenance headache. Without MCP, it can't reach GitHub or Brave. Without the subagent, the full diff and analysis accumulates in my main context window across every PR. Each layer does something the others genuinely can't.

FAQ

Q: Is claude skills vs mcp really a meaningful comparison — aren't they for different things? Technically yes, but the confusion is real because both make Claude more capable for specific tasks. The practical distinction: MCP is infrastructure (connections to external systems), Skills are knowledge (how to use those systems correctly for your workflow). You almost always want both.

Q: Can a Skill replace an MCP server? No. A Skill can include a pre-written script Claude runs locally — useful for deterministic operations on data Claude already has. But it can't reach external APIs, live databases, or remote services at runtime. That's MCP's job.

Q: Do I need all three? Not for every workflow. For a simple repeatable task with no external data needs, a Skill alone is enough. For a single external service connection, MCP alone works. Subagents add value when you have parallel workstreams or want complex sub-tasks isolated from your main context — typically at team or production scale.

Related resources:

Hanks
Written by Hanks Engineer

As an engineer and AI workflow researcher, I have over a decade of experience in automation, AI tools, and SaaS systems. I specialize in testing, benchmarking, and analyzing AI tools, transforming hands-on experimentation into actionable insights. My work bridges cutting-edge AI research and real-world applications, helping developers integrate intelligent workflows effectively.