There are three ways to extend Claude Code — Skill, MCP, and Plugin. The names sound similar but the roles differ, and they nest into each other, so a quick map helps. This guide explains what each one is and how they relate.
Skill — teach Claude one task
A Skill is a small markdown file that tells Claude “in this kind of situation, do it this way.”
For example, a file at ~/.claude/skills/explain-code/SKILL.md makes the directory name become a slash command — /explain-code. You can run /explain-code directly, or Claude will apply it automatically when a question like “how does this code work?” comes up.
Examples:
- Built-in slash commands like
/simplify,/debug, and/loopare all Skills - Turn your repeated tasks (code explanation, meeting notes, commit messages) into Skills so you don’t have to repeat the same instructions
Remember: Skill = “a file that defines one task” + “that file becomes a slash command”.
MCP — a bridge from Claude to external services
If a Skill extends what Claude does, MCP extends what Claude can reach. It’s a standard protocol that lets Claude talk to external services like Notion, Slack, or GitHub directly to read and write data.
Examples:
- Connect the Notion MCP and “find yesterday’s meeting notes” is handled in your Notion workspace
- Connect the Slack MCP and “summarize yesterday’s activity in #engineering” works straight from Claude
You add MCP servers with claude mcp add. Many require OAuth.
Remember: MCP = “a bridge between Claude and an external service”.
Plugin — a distribution unit that bundles multiple extensions
A single Skill or a single MCP is small. A Plugin is the unit that bundles related extensions and ships/installs them together. One box can contain:
- Multiple Skills (slash commands)
- Automation hooks (scripts that run on certain events)
- Agents (specialized assistant AIs)
- MCP server config (external service connections)
- Your own tools, templates, and rules
Plugins are distributed through marketplaces — a shared distribution channel. One install activates everything inside at once, and you can update or remove the whole bundle with one command, which makes Plugins ideal for standardizing workflows across a team or community.
Examples:
- Superpowers — a methodology bundle for brainstorming, TDD, debugging, and code review
- Commit Commands — automation for commit, push, and PR creation
- Slack Plugin — Slack MCP + slash commands for composing messages + channel automation hooks
Remember: Plugin = “a box that holds several kinds of extensions, distributed via a marketplace”.
How the three relate
The three aren’t separate islands — they nest:
Plugin
├── Skill 1 (slash command)
├── Skill 2 (slash command)
├── Automation hooks
├── Agents
└── MCP config (external service connection)
- Skill — the smallest unit, one slash command
- MCP — connects Claude to outside services; can stand alone or live inside a Plugin
- Plugin — the unit that boxes all of the above for distribution and install