ARTICLE DETAIL

资讯详情

深耕网站建设、视觉设计与SEO优化的一线实战洞察。

Claude 的 Skill Plugin 和 Command 的区别

Claude 的 Skill Plugin 和 Command 的区别

文章目录

  • 0.Claude 扩展体系概览
  • 1.Skill:可复用的专业能力
  • 2.Command:用户手动触发的快捷方式
  • 3.Plugin:打包分发的"箱子"
  • 4.三者关系图解
  • 5.何时使用哪个?快速决策表
  • 6.总结:一句话记住
  • 参考文献

0.Claude 扩展体系概览

在 Claude 生态中,Skill、Command、Plugin是三个核心但容易混淆的概念。简单来说:Skill 是"能力",Command 是"快捷方式"(已被 Skill 统一),Plugin 是"打包分发工具"

下面是三者关系的总览:

概念一句话解释触发方式核心定位
Skill教会 Claude 一项专业能力模型自动判断触发封装领域知识与工作流程
Command用户手动触发的固定提示词用户输入/xxx快捷操作(已并入 Skill)
Plugin打包和分享扩展的"箱子"安装后生效分发与共享

1.Skill:可复用的专业能力

Skill 是什么?

Skill 是一个文件夹,核心是SKILL.md文件,里面封装了让 Claude 完成特定任务的专业知识、工作流程和可选资源(脚本、模板等)。

关键特性:渐进式加载

Skill 最核心的设计原则是渐进式披露(Progressive Disclosure),分三层按需加载,极大节省 Token 消耗:

第一层:元数据(始终加载) ├── 只有 Skill 名称和描述 ├── 仅占用 30-50 Token └── Claude 靠它判断是否相关 第二层:核心指令(触发时加载) ├── 匹配到任务后,读取 SKILL.md 主体 ├── 获得完整工作流程 └── 此时才消耗更多 Token 第三层:资源文件(按需加载) ├── 脚本、参考文档等 ├── 只有需要时才读取 └── 脚本执行结果进入上下文,代码本身不占用

典型场景

  • 代码审查规范
  • 特定框架的最佳实践
  • 公司内部的开发流程
  • PDF 处理、Excel 操作等固定流程

Skill 示例结构

.claude/skills/code-review/ ├── SKILL.md # 主指令(含触发描述) ├── references/ # 详细规范,按需加载 └── scripts/ # 可执行脚本

2.Command:用户手动触发的快捷方式

Command 是什么?

Command 是用户主动触发的固定提示词快捷方式。输入/review,Claude 就执行预定义的代码审查流程。

Command vs Skill 的核心区别

维度CommandSkill
触发者用户手动(输入/xxx模型自动判断
智能程度每次都执行固定内容可根据上下文调整
复杂度简单提示词模板可含脚本、多文件

⚠️ 重要更新:Command 已被 Skill 统一

在最新版本中,Command 已不再是独立机制。只需在SKILL.md的 frontmatter 中添加disable-model-invocation: true,Skill 就会变成"只能由用户手动触发"——本质上等同于旧版 Command。

# .claude/skills/release-note/SKILL.md --- name: release-note description: 生成发布说明 disable-model-invocation: true ← 加上这行,变成手动触发 --- 按公司模板生成发布说明:...

用户输入/release-note即可调用。旧的.claude/commands/目录仅为向后兼容保留。

3.Plugin:打包分发的"箱子"

Plugin 是什么?

Plugin 本身不"做事",它只是一个分发载体——把 Skill、Agent、Hook、MCP 等打包在一起,方便分享给团队或社区。

Plugin = 打包好的箱子 ├── Skill(能力) ├── Agent(自主任务) ├── Hook(自动化钩子) ├── MCP Server(外部连接) └── 配置文件

Plugin 目录结构示例

my-review-plugin/ ├── .claude-plugin/ │ └── plugin.json ← 清单文件 ├── skills/ │ └── code-review/SKILL.md ├── agents/ │ └── reviewer.md ├── hooks/ │ └── hooks.json └── .mcp.json

为什么需要 Plugin?

  • 你写了一个完整的代码审查工作流(Skill + Agent + Hook + MCP 连接 GitHub)
  • 想一键分享给同事
  • 同事执行/plugin install my-review-plugin即可获得完整能力

4.三者关系图解

┌─────────────────────────────────────────────────┐ │ PLUGIN │ │ (打包分发的"箱子") │ │ ┌─────────────────────────────────────────┐ │ │ │ 箱子内部 │ │ │ │ ┌─────────┐ ┌─────────┐ ┌─────────┐ │ │ │ │ │ Skill │ │ Agent │ │ Hook │ │ │ │ │ │(能力) │ │(任务) │ │(自动化)│ │ │ │ │ └─────────┘ └─────────┘ └─────────┘ │ │ │ │ ┌─────────┐ │ │ │ │ │ MCP │ ← 连接外部系统 │ │ │ │ └─────────┘ │ │ │ └─────────────────────────────────────────┘ │ └─────────────────────────────────────────────────┘ Skill 里面可以包含 Command 形态(disable-model-invocation: true)

5.何时使用哪个?快速决策表

你的需求用什么原因
教会 Claude 一个固定流程(如代码审查规范)Skill封装专业知识,模型自动判断何时使用
创建手动触发的快捷操作(如/release-noteSkill(加disable-model-invocation: true)Command 已并入 Skill,这是新版写法
打包一组扩展分享给团队PluginPlugin 是分发载体
连接外部系统(如 GitHub、数据库)MCP(配合 Skill 使用)Skill 教"怎么做",MCP 给"做什么的工具"
必须自动执行的操作(如提交前检查)Hook确定性触发,不是 Skill 的范畴

6.总结:一句话记住

Skill 是"能力本体",Command 是其"手动触发形态",Plugin 是"分享这些能力的打包工具"。

开发时的正确思路:先用 Skill 实现需求 → 想分享时再打包成 Plugin。不需要纠结"该用 Skill 还是 Plugin"——这个问题本身不成立,因为它们在完全不同的层面上。


参考文献

Claude Code 参考

返回列表