Three terms get used interchangeably and shouldn't be. Here's the clean mental model, with one common mistake corrected up front.
The three layers
π§ Skill β the intelligence
A workflow, expertise, or procedure written as SKILL.md + optional
supporting files. It's what to do and how. Lazy-loaded: ~200 tokens at
startup, full body loaded only when its description matches the task.
π MCP β the capability
A connection to external tools, APIs, data, or execution (Gmail, a database, a browser). It's what's possible. Eagerly loaded β every tool's schema enters context at startup (no progressive disclosure), which is why heavy MCPs are expensive.
π¦ Plugin β the bundle
A packaged collection of skills (and possibly agents, commands, hooks, or MCP configuration) distributed as one unit. It's how you ship a set of capabilities together. A plugin is a delivery wrapper, not a runtime thing.
How they relate
Skills orchestrate MCPs β a skill says "run my morning digest" and handles the 3β4 MCP tool calls underneath; the user never sees the tool names. A plugin packages one or more such skills so they install together.
| Skill | MCP | Plugin | |
|---|---|---|---|
| Layer | Intelligence | Capability | Distribution |
| Answers | How to do it | What's possible | How to ship a set |
| Loading | Lazy (~200 tok) | Eager (all schemas) | n/a (install-time) |
| Unit | SKILL.md + files | Server + tools | Bundle of skills (+agents) |
| Example | "Morning digest" | Gmail / M365 connector | A client's whole skill pack |
Skills β‘ Commands (a settled point)
In current Claude Code, custom slash commands and skills are the same
mechanism. A file at .claude/commands/deploy.md and a skill at
.claude/skills/deploy/SKILL.md both create /deploy and work the same way.
The only practical difference: skills get a supporting-files directory; legacy
commands don't. Turning model-invocation off makes a skill behave purely as a
slash command. So "that's a command, not a skill" is a distinction that doesn't
exist at the platform level.
The rule of thumb
| Need logic / a workflow | Write a skill |
| Need to reach an external system | Connect an MCP |
| Need to hand someone a set of skills at once | Ship a plugin |
Source of truth seeded from _brain/knowledge/skills/skills.md
(Skills vs Plugins; Skills and Commands merged, 260504; Skill vs MCP loading
asymmetry, 260504), corrected for the stale pluginβ‘MCP conflation per
planning/DECISION-TREE.md Β§D7.2. Part of the Skill Viewer rung-1 build.