You can connect an MCP server in five minutes and watch the agent fail to use it. Connection isn't competence. The agent has tools and no plan — like a kitchen with no recipes. Skills are the part most integrations forget to ship.
What each layer actually does
| Layer | Provides | Without it | When it stands alone |
|---|---|---|---|
| MCP | Connection to external services — tools, data, real-time access | Agent can't reach your service at all | Demos. Power users who already know the system. |
| Skills | Workflows, order, best practices, error recovery | Agent can reach the service but doesn't know what to do | Document creation, internal workflows, anything that doesn't need external connectivity. |
MCP answers what can the agent do? Skills answer what should it do, and when? Most production setups need both, and the split tells you which problems each one solves.
The failure mode of MCP without skills
Ship a Linear MCP server. Connect it to a hundred users. Watch what happens.
- "How do I create a sprint in Linear?"
- "What labels should I use?"
- "Which fields are required?"
- "Why did it fail when I asked for X?"
Each ticket is the same shape: the user can reach the system but doesn't know the workflow. The MCP server isn't broken — it's doing exactly what it advertised. But the integration feels broken because the agent has no opinion about how to use it well.
That gap is the case for a skill. Not "another MCP feature." A separate layer that captures the workflow: "for sprint planning, fetch the active cycle, check team capacity, then create issues with these required fields." The skill loads when the user says "sprint planning" and hands the agent the playbook your support team has been writing one ticket at a time.
The failure mode of skills without MCP
The opposite shape. A skill exists, the workflow is documented, but the agent can't execute because the connectivity isn't there. Useful for skills that work against the model's built-in tools (document creation, code, design) and useless for anything that needs an external system.
If your skill says "fetch the project from Linear" and there's no Linear MCP wired up, the skill is a runbook with no hands. Both layers, or neither — half is the trap.
How to decide which layer a problem belongs in
The split is usually obvious if you ask the right question. Does this require reaching an external system?
- Yes → MCP. Connectivity belongs there. Auth, tool schemas, real-time data, write actions against third-party state.
- No → Skill. Workflow belongs here. Order of operations, decision trees, error handling logic, output formatting, "what to do when the user asks X."
Where it gets blurry: workflow that uses connectivity. A skill that orchestrates four MCP calls in sequence is doing skill-layer work (deciding the order, validating between steps, handling failures) on top of MCP-layer capabilities. The skill doesn't replace the MCP server; it composes calls to it.
Two layers, one user experience
The user doesn't see the split. They type "set up a new customer in PayFlow" and they expect the agent to (a) know how, (b) actually do it. The skill provides the how. The MCP provides the do. Either one alone breaks the experience.
A diagnostic: read your last twenty support tickets. If most of them are "how do I" questions, you're missing skills. If most are "it failed" questions, you're missing MCP robustness. The mix tells you which layer is underbuilt.
When this two-layer model doesn't apply
Two cases where the split isn't worth enforcing:
- The agent's built-in tools cover the use case. Document creation, code editing, spreadsheet manipulation — these run on capabilities the agent already has. Skills here stand alone with no MCP layer at all. The kitchen is already stocked.
- You're shipping a power-user feature. If your users are technical and want raw tool access, skipping the skills layer is a deliberate choice. The trade-off is documentation overhead — every user has to learn the workflow themselves — but for some audiences that's fine.
A connector without workflows is a feature waiting to become a support ticket. A workflow without connectivity is a recipe with no ingredients. Ship both, or ship neither and admit you're building demoware.