đź§ Your Agent Has All the Tools. Why Is It Still Making Bad Decisions?
On this page
You connected your agent to everything. Why is it still making bad decisions?
This question keeps coming up in conversations with teams building on MCP. They’ve wired up databases, APIs, file systems. The agent can do things. But it doesn’t know how to approach them.
The answer isn’t more tools. It’s a different primitive entirely.
The debate that missed the point
When Agent Skills started gaining traction, some corners of tech Twitter declared “Skills killed MCP.”
This framing is wrong.
MCP and Agent Skills operate at different layers. They solve different problems. Angie Jones from Block put it cleanly: “Skills describe the workflow. MCP provides the runner.”
You wouldn’t say GitHub Actions killed Bash. Actions changed how you express workflows. Bash still executes the commands.
Same relationship here.
The distinction: capabilities vs procedures
MCP is the capabilities layer. It defines what agents can do: tools they can call, data they can access, operations they can perform. MCP connects.
Agent Skills is the procedures layer. It defines how agents should approach things: workflows, steps, domain expertise, constraints. Skills teach.
Anthropic uses a hardware store analogy: “MCP is like having access to the aisles. Skills are like an employee’s expertise.”
Access to the plumbing aisle doesn’t mean you know how to fix a leak. The tools are necessary but not sufficient.
The full stack
Here’s how these primitives fit together:
| Layer | Primitive | What it provides |
|---|---|---|
| Capabilities | MCP Tools | Operations the agent can perform |
| Data | MCP Resources | Context the agent can read |
| Triggers | MCP Prompts / Commands | Explicit user invocations |
| Constraints | Rules | Invariants that always apply |
| Procedures | Agent Skills | Workflows, expertise, step-by-step guidance |
| Execution | Subagents | Parallel workstreams with isolated context |
Note: This 6-layer model is synthesized from multiple sources. The core 2-layer distinction (Capabilities vs Procedures) is well-sourced from Anthropic and Block. The expansion helps show where each primitive fits.
Progressive disclosure: both can implement lazy loading
Both primitives can avoid dumping everything into context upfront. But right now, Skills have an edge here.
Agent Skills (per the spec):
- Startup: 1024-character description per skill (roughly 100 tokens)
- On activation: Full SKILL.md content loads (recommended under 5000 tokens)
- On reference: Supporting files in scripts/, references/, assets/ load as needed
Progressive disclosure is baked into the spec. Almost every Skills implementation already works this way.
MCP:
MCP doesn’t mandate progressive disclosure at the protocol level. Some hosts have implemented it anyway. Claude Code’s Tool Search, for example, loads only tool names and short descriptions at startup, then fetches full schemas on demand (85-91% token reduction in some cases).
But many MCP hosts still load all tool schemas upfront. Expect this to change as context efficiency becomes a bigger concern.
Same pattern, different adoption curves. Skills got it right from the start. MCP hosts are catching up.
When to use each
| Scenario | Use |
|---|---|
| Connect to an external system | MCP |
| Teach a workflow or methodology | Skill |
| Expose data the user controls | MCP Resource |
| Define constraints that always apply | Rules |
| Explicit user-triggered action | Command / MCP Prompt |
| Parallel isolated work | Subagent |
The heuristic is simple:
- Need to connect to something? MCP.
- Need to teach the agent how to approach something? Skill.
Patterns: MCP and Skills working together
These examples come from Anthropic’s guide on combining Skills and MCP.
Financial analysis
A “Comparable Company Analysis” Skill defines the methodology: which metrics to pull, compliance standards to follow, output format to use. MCP servers (S&P Capital IQ, Daloopa, Morningstar) provide access to the financial data.
The Skill orchestrates. The MCP servers fetch.
Meeting intelligence
A Notion Meeting Intelligence Skill defines which pages to search, how to structure meeting notes, what to extract. The Notion MCP server handles page retrieval and creation.
The Skill defines “what to do.” MCP handles CRUD.
Multi-server coordination
A Technical Competitive Analysis Skill coordinates across Google Drive (internal research), GitHub (competitor repos), and web search (market data). One Skill, multiple data sources via MCP.
Anthropic’s rule of thumb: “MCP instructions cover how to use the server and its tools correctly. Skill instructions cover how to use them for a given process or in a multiserver workflow.”
Three things to remember
-
They’re complementary, not competing. MCP provides the runner. Skills describe the workflow. One connects. The other teaches.
-
Use the right primitive for the job. Connect with MCP. Teach with Skills. Both implement progressive disclosure. Both respect context limits.
-
Consider shipping them together. If you’re building an MCP server, a companion Skill can teach agents how to use it effectively. The server provides capabilities. The Skill provides expertise.
Further reading
- Agent Skills Specification
- Anthropic: Extending Claude with Skills and MCP
- Block/Goose: Did Skills Kill MCP?
Are you combining MCP and Skills in your agent stack? I’d love to hear what patterns are working for you. Reach out on LinkedIn.