ClaudeCode三种扩展方式的区别AI 主写
ClaudeCode 三种扩展方式的区别
核心结论
其实 Claude Code 有三种扩展方式,但它们的本质区别是:Skills 是面对场景时的解决方案,Commands 是用户主动调用的快捷操作,Plugins 则是完整的扩展功能包。
简单来说:
- Skills 告诉 AI 遇到某个问题时应该怎么工作
- Commands 提供一键完成的快捷操作
- Plugins 安装别人写好的完整功能
三种方式的本质区别
Skills:场景解决方案
Skills 的核心是告诉 AI 遇到特定场景时应该怎么工作。或者说,它是 AI 的 " 工作指南 "。
当你开始写测试时,AI 读取到 TDD Skill,就知道应该建议你先写失败的测试,然后写最小实现,最后重构。整个过程是 AI 主动触发的,不需要你输入任何命令。
Skills 可以做的事情很多:
- 配合你完成某个任务
- 调度其他 AI 协作(比如 subagent)
- 按照流程独立处理信息
- 或者说 AI 在某些场景下应该采取什么行动
Commands:快捷操作
Commands 是你主动调用的快捷操作。通过 /command 触发,执行一个预定义的任务。
比如你输入 /commit,AI 就按照规范化提交的流程帮你整理提交信息。Commands 更像是 " 脚本 " 或 " 快捷方式 ",你什么时候用就什么时候调。
和 Skills 的区别是:Commands 需要你主动触发,Skills 是 AI 自动判断。
Plugins:完整的扩展功能包
Plugins 是别人写好的完整功能,通过 marketplace 安装后直接可用。它是 " 功能集成 " 或 " 扩展包 "。
比如 superpowers plugin 就是一整套开发工作流框架,包含 brainstorming、TDD、debugging 等多个技能。你不需要自己写,安装后就能用。
和 Skills/Commands 的区别是:Plugins 是完整的、多功能的解决方案,而 Skills 和 Commands 通常只解决一个具体问题。
其实 Plugins 就是 Skills 和 Commands 的组合包。Plugin 是一个 " 容器 ",里面可以包含多个 Skills 和 Commands。
比如 superpowers 这个 Plugin,内部就包含了:
- brainstorming skill
- TDD skill
- debugging skill
- writing-plans skill
- 等等...
你可以:
- 单独写一个 Skill 文件,放在
.claude/skills/下 - 单独写一个 Command 文件,放在
.claude/commands/下 - 或者把它们打包成 Plugin,发布到 marketplace 让别人安装
三者的关系:
Plugins (功能包)
├── Skills (行为规范)
├── Commands (快捷命令)
└── 其他配置
怎么打包 Plugins
其实打包 Plugins 就是用固定的目录结构和配置文件。
目录结构
my-plugin/
├── .claude-plugin/
│ └── plugin.json # 插件元数据
├── skills/ # Skills 放这里
│ ├── tdd/
│ │ └── SKILL.md
│ └── debugging/
│ └── SKILL.md
├── commands/ # Commands 放这里
│ ├── commit.md
│ └── release.md
└── marketplace.json # 发布到 marketplace 的配置
plugin.json 示例
{
"name": "my-workflow-tools",
"version": "1.0.0",
"description": "我的开发工作流工具集",
"author": {
"name": "Your Name"
},
"skills": "./skills/",
"commands": "./commands/"
}
发布到 marketplace
创建 marketplace.json:
{
"name": "my-marketplace",
"owner": {
"name": "Your Name",
"email": "you@example.com"
},
"plugins": [
{
"name": "my-workflow-tools",
"source": "./",
"description": "我的开发工作流工具集",
"version": "1.0.0"
}
]
}
然后把这个仓库托管到 GitHub,用户就可以通过 /plugin install my-workflow-tools@your-username 安装了。
什么时候用哪个
用 Skills 的场景
需要 AI 按照某种方式工作的时候:
- 写代码时遵循 TDD 流程
- 遇到 bug 时按调试规范排查
- 代码审查时按标准检查
- 或者说需要 AI 协调多个 subagent 协作
决策流程
需要自动化执行?
├─ 是 → Skills
└─ 否 → 需要完整功能?
├─ 是 → Plugins
└─ 否 → Commands
你可以这样想:需要建议用 Skills,快捷操作用 Commands,完整功能用 Plugins。
用 Commands 的场景
需要快速执行某个操作的时候:
- 规范化提交信息
- 生成发布日志
- 创建新文件模板
你需要 " 一键完成 " 某个重复性操作。
用 Plugins 的场景
需要复杂功能或不想自己写的时候:
- 完整的开发工作流框架(如 superpowers)
- 第三方服务集成(如 GitHub、Jira)
- 社区维护的通用功能
" 别人已经做好了,直接用就行 "。
快速上手
Command 示例
告诉 AI 创建一个 Command,然后它会生成这样的文件:
---
name: my-commit
description: 我的规范化提交命令
---
# 规范化提交
按照以下格式提交:
- 类型:feat/fix/docs/refactor
- 范围:简短描述
- 正文:详细说明(如有)
Skill 示例
告诉 AI 创建一个 Skill,然后它会生成这样的文件:
---
name: my-tdd
description: 我的 TDD 工作流程
trigger:
- "写测试"
- "TDD"
---
# TDD 工作流程
当用户说「写测试」或「TDD」时:
1. 先写失败的测试
2. 写最小实现
3. 重构优化
安装 Plugin
直接告诉 AI 你想安装什么插件,比如:
- " 安装 superpowers plugin"
- 或者 "/plugin install superpowers@claude-plugins-official"
参考资料
结论:三种扩展方式各有优势。根据你的实际需求选择或组合使用,能最大化 Claude Code 的效率。