Claude Code 的 Skill 和 Plugin 到底有什么区别?

5 阅读4分钟

一篇写给非技术人员的科普文章,帮你搞懂 Claude Code 扩展体系中最容易混淆的两个概念。


先讲一个生活中的类比

想象你搬进了一间新厨房。

  • Skill(技能) 就像一张张菜谱卡片——"红烧肉怎么做""蛋糕怎么烤"。每张卡片告诉你具体的步骤、火候和注意事项。你想做什么菜,就翻出对应的卡片来看。
  • Plugin(插件) 则像一个菜谱收纳盒——里面可以装好几张菜谱卡片,还可以附带一把专用刮刀、一个计时器、甚至一份食材采购清单。它是一个"打包好的工具箱",方便你一次性带走、送给朋友、或者在另一间厨房里直接用。

记住这个比喻,后面的内容就很好理解了。


Skill:教会 Claude "怎么做事"

它是什么?

Skill 的实体就是一个 Markdown 文件(通常叫 SKILL.md),里面用自然语言写着:

  • 这个任务是什么
  • 应该按什么步骤来做
  • 有哪些注意事项和约束

比如,一个叫 code-review 的 Skill 可能会写:

"审查代码时,先检查 SQL 注入漏洞,再看认证逻辑,最后检查敏感数据是否暴露。按严重程度标记为 CRITICAL / HIGH / MEDIUM / LOW。"

Claude 读了这个文件后,就"学会"了按这套流程来做代码审查。

它怎么被触发?

两种方式:

  1. 你主动调用:在 Claude Code 里输入 /code-review,Claude 就会加载对应的 Skill。
  2. Claude 自动匹配:如果你在对话中聊到了代码审查相关的内容,Claude 会根据 Skill 的描述,判断需不需要自动加载它——就像一个聪明的助手,听到你说"帮我看看这段代码有没有安全问题",就自己翻出了那张"代码审查菜谱卡"。

关键特征

特征说明
形态一个 Markdown 文件
加载方式按需加载,不用的时候不占资源
存放位置项目的 .claude/skills/ 目录
能做什么定义工作流、约束规则、决策框架
独立可用✅ 不依赖 Plugin 就能工作

Plugin:把一堆东西打包带走

它是什么?

Plugin 是一个分发容器。它把多个 Skill、自动化脚本(Hook)、子代理(Subagent)、外部服务连接(MCP Server)等打包成一个整体,方便安装和共享。

一个典型的 Plugin 目录长这样:

my-plugin/
├── .claude-plugin/
│   └── plugin.json        ← 插件的"身份证"(名称、作者、描述)
├── skills/                ← 若干个 Skill 文件
├── agents/                ← 子代理定义
├── hooks/                 ← 自动化脚本(比如每次编辑后自动跑 lint)
└── .mcp.json              ← 外部服务的连接配置

为什么需要它?

假设你花了两周时间,给团队的前端项目配好了:

  • 一个 Skill:按团队规范做代码审查
  • 一个 Skill:自动生成组件文档
  • 一个 Hook:每次保存文件后自动跑格式化
  • 一个 MCP 配置:连接到团队的 Jira

如果没有 Plugin,每个新同事加入时,你都得手把手教他把这些文件复制到正确的位置。有了 Plugin,只需要一条命令:

/plugin install github.com/your-team/frontend-toolkit

所有东西就位了。这就是 Plugin 的价值——可移植性和可分发性

命名空间隔离

当你同时安装了多个 Plugin 时,可能会出现同名的 Skill。Plugin 通过命名空间来解决冲突:

  • 你自己写的 Skill:/review
  • 来自 Plugin A 的 Skill:/pluginA:review
  • 来自 Plugin B 的 Skill:/pluginB:review

互不干扰。


一张表看清区别

对比维度Skill(技能)Plugin(插件)
是什么一份知识/工作流说明书一个打包分发容器
类比菜谱卡片菜谱收纳盒 + 配套工具
里面有什么一个 SKILL.md 文件(可附带资源)多个 Skill + Hook + Agent + MCP 配置
能独立使用吗✅ 可以✅ 可以,但主要价值在聚合
怎么安装放到 .claude/skills/ 目录通过 marketplace 或命令行安装
有命名空间吗没有有(plugin名:skill名
适合什么场景定义单个任务的做法把一整套工具链打包给团队用

我应该从哪个开始?

如果你是个人开发者,刚开始接触 Claude Code 的扩展体系——从 Skill 开始。写一个 SKILL.md,定义你最常重复的工作流程(比如"部署到测试环境的步骤"),放到项目里就能用。零门槛,立竿见影。

如果你要服务团队,需要把一套标准化的工作流、代码规范、外部工具连接统一分发给所有人——这时候就该用 Plugin 了。它让你的"最佳实践"变成一个可安装的产品。

一句话总结:

Skill 是"教 Claude 一件事",Plugin 是"把教 Claude 的一堆东西打包送人"。


本文基于 Anthropic 官方文档及社区资料整理,写作日期:2026 年 3 月。Claude Code 的功能仍在快速迭代中,请以官方最新文档为准。