Plugins
把 Claude Code skills、agents、hooks、MCP servers 和 settings 打包成团队与项目可复用扩展。
Plugins 是什么
Plugins 是 Claude Code 扩展的打包层。一个 plugin 可以把 skills、subagents、hooks、MCP servers 和默认 settings 打包成一个版本化单元。
实验阶段先用独立 .claude/ 配置。当这套配置需要共享、版本化、跨项目安装或进入 marketplace 时,再转换成 plugin。
Standalone vs Plugin
| 方式 | 适合 | 命令名 |
|---|---|---|
独立 .claude/ 文件 | 个人工作流、项目特定规则、快速实验 | /deploy |
| Plugin package | 团队复用、版本化发布、marketplace 分发 | /plugin-name:deploy |
Plugin namespacing 可以避免两个团队都发布不同含义的 /review 命令。
Plugin 可以包含什么
| 组件 | 用途 |
|---|---|
| Skills | 可复用流程、命令和辅助文件 |
| Agents | 专门 subagent definitions |
| Hooks | 生命周期事件上的确定性自动化 |
| MCP servers | 外部工具和资源 |
| Settings | 让 plugin 开箱可用的默认配置 |
结果是一套可迁移的 agent 环境,而不是复制粘贴的一堆指令。
基本结构
plugin layout
my-plugin/
├── .claude-plugin/
│ └── plugin.json
├── skills/
│ └── review/
│ └── SKILL.md
├── agents/
│ └── api-reviewer.md
└── hooks/
└── format-after-edit.jsonManifest 定义 plugin 身份:
.claude-plugin/plugin.json
{
"name": "team-engineering",
"description": "Shared review, verification, and release workflows",
"version": "1.0.0",
"author": {
"name": "Engineering Platform"
}
}什么时候创建 Plugin
这些情况适合创建 plugin:
- 多个仓库需要同一批 skills 或 subagents。
- 这套配置已经稳定到值得版本化。
- 你希望队友一致地安装和更新。
- 需要 namespacing 避免命令冲突。
- 准备内部或公开 marketplace 包。
如果 workflow 仍在每天变化,或只服务一个 repo,先保持 standalone。
迁移模式
- 先从项目本地
.claude/skills/、.claude/agents/、hooks 和 MCP config 开始。 - 移除项目特定 secrets 和硬编码路径。
- 创建
.claude-plugin/plugin.json。 - 把可复用部分移动到 plugin 目录。
- 本地用 plugin 目录测试。
- 通过团队选择的分发路径发布。
安全注意
- 不要把破坏性行为藏在 plugin 里。高影响 hooks 必须明显。
- Secrets 放用户配置或环境变量,不放 plugin 文件。
- 说明所需外部工具和 MCP servers。
- Subagents 的工具和权限尽量收窄。
- Breaking changes 要谨慎发版本。
官方参考
继续实践
Plugins 的核心概念已经读完
如果你想把理解变成可复用的能力,可以到 AgentWay 继续练习