这是学习路径的最后一个里程碑。走到这里,你已经掌握了 Claude Code 的全部核心功能。接下来的挑战是:如何从一个人的高效,扩展到整个团队的高效?你将学会创建插件来打包和分发你的最佳实践,用 CLI 脚本将 Claude Code 嵌入 CI/CD 流水线,以及建立团队级别的 Claude Code 使用规范。
这个里程碑的核心转变是:从个人用户变成团队赋能者。
前置条件
- 已完成所有前置里程碑(1A、1B、2A、2B、3A)
- 能熟练使用技能(Skill)、钩子(Hook)、子代理(Subagent)和 MCP 服务器
- 了解 Git 协作流程(分支、PR、代码审查)
- 有基本的 Bash 脚本编写经验
- 了解 CI/CD 基本概念(GitHub Actions 或其他平台)
学习目标
- 理解插件的架构:如何将技能、钩子、MCP、子代理打包成一个可安装的整体
- 掌握 plugin.json 的完整结构,能独立创建插件
- 通过插件市场或 Git 仓库分发插件给团队
- 使用
claude -p打印模式编写自动化脚本 - 掌握 JSON 输出、管道输入、退出码等脚本化要素
- 将 Claude Code 集成到 GitHub Actions 等 CI/CD 流水线
- 制定团队共享的 CLAUDE.md 规范和标准化代码审查流程
第一部分:插件系统
什么是插件?
在前面的里程碑中,你分别学习了技能、钩子、MCP 服务器、子代理。它们各自解决一个问题,但当你想把这些组件打包在一起、一键分享给同事时,就需要插件(Plugin)。
插件是 Claude Code 最高层级的扩展机制。它把多个功能组件捆绑成一个内聚的、可安装的包:
- 斜杠命令 / 技能 -- 定义团队可用的自定义命令
- 子代理 -- 封装专业领域的 AI 角色
- MCP 服务器 -- 连接外部工具和数据源
- 钩子 -- 在特定事件发生时自动执行操作
- 配置和模板 -- 统一的设置和文档模板
打个比方: 如果技能是一把螺丝刀,钩子是一把扳手,子代理是一台电钻,那插件就是把这些工具装进一个带说明书的工具箱,贴上标签,队友拿到就能直接用。
独立组件 vs 插件
| 方面 | 独立组件 | 插件 |
|---|---|---|
| 安装方式 | 手动复制文件、逐个配置 | 一条命令 /plugin install |
| 版本管理 | 手动跟踪 | 语义化版本,自动更新 |
| 团队共享 | 发文件、写文档、祈祷队友配置正确 | 安装即用,配置自动完成 |
| 设置时间 | 每个组件 5-15 分钟 | 整体 2 分钟 |
| 依赖管理 | 无 | 可声明依赖 |
插件的目录结构
一个完整的插件目录如下:
my-plugin/
├── .claude-plugin/
│ └── plugin.json # 插件清单(名称、版本、作者等元数据)
├── commands/ # 斜杠命令(Markdown 文件)
│ ├── review-code.md
│ └── generate-tests.md
├── agents/ # 子代理定义
│ ├── security-reviewer.md
│ └── test-writer.md
├── skills/ # 技能文件(SKILL.md)
│ └── code-standards.md
├── hooks/
│ └── hooks.json # 钩子配置
├── .mcp.json # MCP 服务器配置
├── .lsp.json # LSP 服务器配置(可选)
├── settings.json # 默认设置
├── scripts/ # 辅助脚本
│ └── setup.sh
├── templates/ # 文档模板
│ └── pr-template.md
└── tests/ # 插件测试
└── plugin.test.js