Skills、MCP 和 Plugins 的区别

核心概念辨析

这三个词都是 Claude Code 的扩展机制,但层次和用途不同。


1. Skills(技能)

定义

AI 的”能力包”,定义了在什么情况下触发、做什么、用什么工具。

特点

  • 触发机制:基于关键词、场景、用户输入自动触发
  • 作用范围:只影响 AI 的行为决策
  • 独立性:可以独立存在,不需要其他组件

结构

---
name: agent-reach
description: 搜索和读取 13+ 平台内容
triggers: "搜推特", "search twitter"
---
 
# 使用指南
调用 xreach 工具...

例子

Skill用途
agent-reach搜索 Twitter/Reddit/YouTube 等
bb-browser把任何网站变成 CLI 命令
pdf处理 PDF 文件
commit创建 git commit

生命周期

用户输入 → 匹配 trigger → 加载 skill.md → 我按 instructions 执行

2. MCP(Model Context Protocol)

定义

一种开放协议标准,让 AI 能够调用外部工具和资源。

特点

  • 协议性质:是标准,不是实现
  • 通用性:任何支持 MCP 的客户端都能用
  • 独立性:MCP server 是独立进程

结构

{
  "name": "playwright",
  "command": "npx -y @executeautomation/playwright-mcp",
  "args": [],
  "env": {}
}

例子

MCP Server提供能力
playwright浏览器自动化
github读取仓库、issue
filesystem文件操作
brave网页搜索

生命周期

Claude 需要能力 → 调用 MCP server → server 执行 → 返回结果

3. Plugins(插件)

定义

Claude Code 的官方扩展机制,是最高层次的扩展方式。

特点

  • 综合性质:可以包含 Skills + MCP + Hooks + UI
  • Claude Code 专属:只在 Claude Code 中可用
  • 生命周期管理:可以安装、卸载、更新

结构

plugin-name/
├── .claude-plugin/          # Plugin 元数据
├── .mcp.json               # MCP server 配置
├── skills/                 # 技能包
├── hooks/                  # 生命周期钩子(对话关键时刻调用的程序)
├── modes/                  # 特殊模式
└── ui/                     # Web UI 界面

例子

Plugin包含内容
claude-memMCP + Hooks + Skills + UI
playwrightMCP server
superpowers多个 Skills + Modes

生命周期

/plugin install → 下载到 ~/.claude/plugins/ → 注册到 settings.json → 生效

三者关系图

┌─────────────────────────────────────────────────────────────┐
│                    Claude Code 扩展生态                      │
└─────────────────────────────────────────────────────────────┘
                              │
          ┌───────────────────┼───────────────────┐
          │                   │                   │
          ▼                   ▼                   ▼
    ┌─────────┐         ┌─────────┐         ┌─────────┐
    │ Skills  │         │   MCP   │         │ Plugins │
    │         │         │         │         │         │
    │ 最小单元 │         │ 协议标准 │         │ 最高层级 │
    │ 定义能力 │         │ 定义接口 │         │ 综合扩展 │
    └─────────┘         └─────────┘         └─────────┘
          │                   │                   │
          │                   │                   │
          │              可包含                  │
          │                   │                   │
          └───────────────────┼───────────────────┘
                              │
                              ▼
                    ┌─────────────────┐
                    │   实际使用中     │
                    ├─────────────────┤
                    │ Skill 可以独立  │
                    │ MCP 可以独立    │
                    │ Plugin 可包含   │
                    │   Skill 和 MCP  │
                    └─────────────────┘

核心区别表格

维度SkillsMCPPlugins
本质AI 行为配置协议标准扩展容器
独立性✅ 可独立✅ 可独立✅ 可独立
包含关系被Plugin包含被Plugin包含可包含前两者
触发方式关键词/场景工具调用安装后自动
通用性Claude Code 专用任何MCP客户端Claude Code专用
配置位置skills/*/skill.md.mcp.jsonsettings.json
开发难度低(写markdown)中(写server)高(综合)

claude-mem 案例分析

claude-mem 是一个实际的记忆系统工具,它同时展示了三种形态:

场景 1:claude-mem 作为 Skill

claude-mem/
└── skills/
    └── mem-search.md
        ---
        name: mem-search
        triggers: "搜索记忆", "mem search"
        ---
        搜索历史对话记忆...

→ 最简单的集成方式

场景 2:claude-mem 作为 MCP Server

claude-mem/
├── .mcp.json           # MCP server 配置
├── mcp-server.cjs      # MCP server 实现
└── scripts/

→ 任何支持 MCP 的工具都能调用记忆系统

场景 3:claude-mem 作为 Plugin(实际实现)

claude-mem/
├── .claude-plugin/     # Plugin 元数据
├── .mcp.json           # ✅ MCP server
├── skills/             # ✅ 包含搜索技能
├── hooks/              # ✅ 生命周期钩子
├── modes/              # ✅ 特殊模式
└── ui/                 # ✅ Web UI (localhost:37777)

→ 实际就是这种形态,完整的 Plugin


实际使用建议

选择 Skill 当你需要:

  • 定义 AI 在特定场景下的行为
  • 触发特定的工具调用流程
  • 快速实现,不需要复杂架构

例子:创建一个”自动生成 commit”的技能

选择 MCP 当你需要:

  • 提供可复用的工具/资源
  • 让多个 AI 系统都能用
  • 独立部署和维护

例子:创建一个”公司内部知识库查询”的 MCP server

选择 Plugin 当你需要:

  • 综合多种能力(Skill + MCP + Hooks)
  • 提供完整的用户体验
  • 复杂的生命周期管理

例子:创建一个像 claude-mem 这样的完整记忆系统


实际案例对照

工具实际形态包含什么
agent-reachSkillinstructions + 工具调用
playwright MCPMCP Server浏览器控制工具
bb-browserSkillCLI 工具使用指南
claude-memPluginMCP + Hooks + Skills + UI
superpowersPlugin多个 Skills + Modes
filesystem MCPMCP Server文件操作工具

一句话总结

  • Skill = AI 的”技能说明书”(告诉它什么时候做什么)
  • MCP = AI 的”USB 接口”(标准化的工具调用协议)
  • Plugin = AI 的”应用商店”(包含技能、接口、钩子的完整扩展)

你可以:

  • 只写一个 Skill(最简单)
  • 只写一个 MCP Server(中等复杂度)
  • 写一个完整的 Plugin(最强大)

它们可以独立存在,也可以互相包含。