Skills Directory / Guides
Skills vs plugins vs MCP vs agents: what's the difference?
Claude Code has four extension mechanisms that overlap just enough to confuse everyone. Here's the taxonomy in one page, with the decision rule at the end.
The one-line versions
- Skill — a folder with a
SKILL.mdfile: instructions the agent loads when relevant. Knowledge. - Plugin — a package that ships skills, slash commands, subagents, and/or MCP config together. Distribution.
- MCP server — a running process exposing tools/data the agent can call (databases, APIs, browsers). Capability.
- Subagent — a separate agent instance with its own context, spawned for a subtask. Parallelism.
Skills: teach the agent something
A skill is markdown — YAML frontmatter (name,
description) plus instructions. The agent reads the
description at startup and loads the full body only when the task matches,
so skills are nearly free until used. They can bundle reference docs and
scripts, but the essence is prose: workflows, conventions, pitfalls,
checklists. The format is an open standard
(agentskills.io)
that works across Claude Code, Codex, Cursor, and other agents.
Skills answer: "the model is capable of this, but does it wrong or
inconsistently."
Plugins: ship extensions
A Claude Code plugin is a directory with a
.claude-plugin/plugin.json manifest that can carry any mix of
skills, slash commands, agent definitions, and MCP server configs.
Marketplaces (like anthropics/skills
or Superpowers) are git repos listing
plugins, added with /plugin marketplace add owner/repo.
If skills are books, plugins are the box set and marketplaces the bookstore.
MCP servers: give the agent tools
The Model Context Protocol is a separate, cross-vendor standard for connecting agents to running capabilities: query a database, drive a browser, call your company's API. An MCP server is software that executes; a skill is text that instructs. The two compose naturally — an MCP server gives the agent a database connection, a skill teaches it your schema conventions and which queries are safe.
Subagents: split the work
Subagents are separate agent instances with their own context windows, used to isolate noisy subtasks (a code review, a research pass) or run workstreams in parallel. A plugin can define specialized subagents with their own prompts and tool restrictions. Skills change how one agent thinks; subagents change how many agents are thinking.
The decision rule
- Agent does it wrong → write a skill.
- Agent can't do it at all (needs external data/actions) → MCP server.
- Task floods the context or parallelizes → subagent.
- Want to share any of the above → package as a plugin.
FAQ
What is the difference between a skill and a plugin in Claude Code?
A skill is a single folder with a SKILL.md instruction file that teaches the agent a workflow. A plugin is a distribution package that can bundle several skills plus slash commands, subagent definitions, and MCP server configs. Plugins are how skills are shipped; skills are what the agent actually reads.
What is the difference between a skill and an MCP server?
Skills are instructions (markdown the model reads); MCP servers are capabilities (running processes that expose tools the model can call). A skill can teach the agent to use tools well; an MCP server gives it tools it doesn't have. Skills need no infrastructure, MCP servers are code that runs.
What is the difference between a skill and a subagent?
A skill changes how the current agent behaves. A subagent is a separate agent instance with its own context window, spawned to work on a subtask. Skills add knowledge; subagents add parallelism and context isolation.
Do skills work outside Claude Code?
Yes. The SKILL.md format is an open standard (agentskills.io) supported by a growing set of agents including Codex, Cursor, Gemini CLI, and others. Plugins and slash commands are Claude Code-specific; MCP is a separate cross-vendor protocol.
Ready to add some? Browse the skills directory — every entry has a copy-paste install prompt — or start with how to install skills.