乐于分享
好东西不私藏

Claude Code 的三板斧 之 插件

Claude Code 的三板斧 之 插件

写在前面

你可能用过 VS Code 的扩展市场——装几个插件,编辑器瞬间从一个文本工具变成无所不能的开发环境。

Claude Code 的插件系统正在做同样的事情,而且走得更远。截至目前,官方市场已有 超过 9000 个插件,覆盖代码审查、数据库查询、浏览器自动化、部署流程……几乎你能想到的开发场景,都有现成插件可用。

接下来我会帮你搞清楚三个核心问题:

  1. 插件到底能干什么? ——不只是装工具,更是一套工程化的能力复用体系
  2. 怎么快速上手? ——5 分钟装好、用好你的第一批插件
  3. 哪些值得装? ——精挑细选,不让你在 9000+ 插件中迷失

一、插件是什么:用「工具箱」思维理解它

一句话定义:插件 = 一组可复用的 Claude Code 扩展能力集合

它把多种组件打包在一起,让你一键安装、跨项目复用、和团队共享。一个插件可以包含这些组件:

组件
一句话解释
生活类比
Skills(技能)
Markdown 格式的指令文件,教会 Claude 完成特定任务
像给助手写了一份 SOP 手册
Agents(子代理)
专门化的 AI 代理,在隔离上下文中执行复杂任务
像派了一个专业顾问帮你做事
Hooks(钩子)
事件驱动的自动化脚本,特定操作时自动触发
像设置了「保存文件后自动格式化」的规则
MCP 服务器
通过协议连接外部工具和服务
像给 Claude 接上了数据库、API 的接口线
LSP 服务器
提供代码智能:跳转定义、类型检查、实时诊断
像内置了一个语言专家实时审稿
Monitors(监控)
后台持续运行的进程,将状态变化推送给 Claude
像安排了一个值班监控员

插件 vs 独立配置:什么时候该用哪个?

Claude Code 支持两种扩展方式:

对比维度
独立配置(.claude/
插件(.claude-plugin/
命令形式/hello/plugin-name:hello
适合场景
个人使用、单项目、快速实验
团队共享、跨项目、版本化
能否分享
需要手动复制目录
一键安装,市场分发
版本管理
支持语义化版本和回滚

最佳实践:先在 .claude/ 中迭代 → 稳定后打包为插件。

插件,是 Claude Code 从「个人 AI 助手」走向「工程化平台」的分水岭。


二、5 分钟上手:安装你的第一个插件

第 1 步:打开插件管理器

在 Claude Code 会话中输入:

1
/plugin

会打开图形化的插件管理器,包含四个标签页:

  • Discover(发现) — 浏览所有可用插件
  • Installed(已安装) — 查看和管理已安装的插件
  • Marketplace(市场) — 管理插件市场源
  • Errors(错误) — 查看加载错误信息

第 2 步:安装一个插件

两种方式任选:

方式一:图形界面输入 /plugin,在 Discover 标签页浏览或搜索自己所需要的插件,选中后按 Enter,选择安装范围,根据当前插件用途以及自己的需求,选择范围。

方式二:直接命令

1
/plugin install plugin-name@marketplace-name

比如安装官方的 GitHub 插件:

1
/plugin install github@claude-plugins-official

和上面相同,在加载成功后会提示你需要安装的范围,根据自己的需求进行选择。

安装范围说明

范围
说明
适用场景
user(用户)
所有项目可用
个人常用工具(默认)
project(项目)
当前项目,团队共享
团队工作流插件
local(本地)
当前项目,不提交版本控制
临时测试

添加更多插件市场

除了预配置的官方市场,你还可以添加社区和团队自建的市场:

1
2
3
4
5
6
7
8
# GitHub 仓库(最常用)
/plugin marketplace add anthropics/claude-code# Git 平台/plugin marketplace add https://gitlab.com/company/plugins.git# 本地目录(开发测试)/plugin marketplace add ./my-marketplace

日常管理命令速查

1
2
3
4
5
6
/plugin list              # 查看所有已安装的插件
/plugin disable plugin-name   # 禁用插件(不卸载)/plugin enable plugin-name    # 重新启用/plugin uninstall plugin-name # 彻底卸载/plugin update plugin-name    # 更新到最新版本/reload-plugins           # 重载插件(安装后执行,无需重启会话)

安装、禁用或启用插件后,记得运行 /reload-plugins,Claude Code 会报告加载了哪些技能、代理、钩子、MCP 和 LSP 服务器。


三、精选插件推荐:不要贪多,精选 5-7 个

在 9000+ 插件中挑选并不容易。这里给你一个经过验证的推荐清单。

开发者必装三件套

1. Feature Dev(官方出品)

结构化开发工作流——从需求发现、代码库探索到架构设计、实现和审查,全程引导。

1
/plugin install feature-dev@claude-plugins-official

适用场景:开始一个新功能开发时,用它来引导整个流程。

2. Code Review(官方出品)

多代理代码审查。同时从安全性、性能、可维护性和正确性四个维度审查代码,按置信度排序结果。

1
/plugin install code-review@claude-plugins-official

适用场景:写完代码后,让多个专业「审查员」同时帮你把关。

3. Context7(Upstash 出品)

实时文档查询。Claude 的训练数据有截止日期,Context7 直接从源码仓库拉取最新文档,告别过时的 API 示例。

1
/plugin install context7@claude-plugins-official

适用场景:使用新版本框架或库时,确保 Claude 给你的代码示例是最新的。

推荐起步配置

不要一次装太多,建议从这套配置开始:

  • 3 个核心插件: Feature Dev + Code Review + Context7
  • 2-3 个 MCP 服务器: GitHub + 你技术栈相关的(如数据库)
  • 1-2 个自定义技能: 团队编码规范、部署流程

每个插件都会增加上下文开销,精选 5-7 个比安装 20 个互相竞争的插件效果好得多。


四、自己动手:从零创建一个插件

创建一个 Claude Code 插件的门槛非常低。我们从最简单的开始。

最小结构

1
2
3
4
5
6
7
my-plugin/
├── .claude-plugin/│   └── plugin.json       # 插件清单(必需)├── skills/│   └── hello/│       └── SKILL.md      # 一个技能└── README.md

重要规则:只有 plugin.json 放在 .claude-plugin/ 目录中。所有其他组件目录(skills/、agents/、hooks/ 等)都必须放在插件根目录。这是新手最容易犯的错误。

第 1 步:创建 plugin.json

1
2
3
4
5
6
7
8
{
  "name": "my-first-plugin",  "version": "1.0.0",  "description": "我的第一个 Claude Code 插件",  "author": {    "name": "你的名字"  }}

name 字段是唯一必需的,它会成为插件的命名空间。比如名为 my-first-plugin 的插件中定义的命令 hello,调用时就是 /my-first-plugin:hello

第 2 步:创建一个 Skill

1
skills/hello/SKILL.md

内容:

1
2
3
4
5
---
description: 向用户打招呼---热情地问候用户,询问今天需要什么帮助。

第 3 步:本地测试

1
claude --plugin-dir ./my-plugin

不需要安装,直接加载插件目录进行测试。修改后需重启 Claude Code。

PS: 如果有多个插件时,则命令是:

1
claude --plugin-dir ./plugin-a --plugin-dir ./plugin-b

第 4 步:加入更多能力

完整的插件目录结构如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
my-plugin/
├── .claude-plugin/│   └── plugin.json           # 插件清单├── skills/                   # 技能│   ├── code-reviewer/│   │   └── SKILL.md│   └── pdf-processor/│       ├── SKILL.md│       └── scripts/├── commands/                 # 斜杠命令(简单 Skill)│   ├── status.md│   └── logs.md├── agents/                   # 子代理定义│   ├── security-reviewer.md│   └── performance-tester.md├── hooks/                    # 钩子配置│   └── hooks.json├── .mcp.json                 # MCP 服务器定义├── .lsp.json                 # LSP 服务器配置├── bin/                      # 可执行文件(自动加入 PATH)│   └── my-tool└── scripts/                  # 辅助脚本    ├── format-code.py    └── deploy.js

从 .claude/ 迁移到插件的思路

原来
迁移后
.claude/commandsplugin/commands/
.claude/agentsplugin/agents/
settings.json hooksplugin/hooks/hooks.json

迁移后,插件版本优先级更高,可以删除旧配置避免重复。


五、进阶:插件能做的比你想象的更多

Hooks 自动化:让 Claude 自己干活

Hooks 是事件驱动的自动化脚本。你可以设置在特定事件发生时自动执行操作:

场景 1:文件保存后自动格式化

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
{
  "hooks": {    "PostToolUse": [      {        "matcher": "Write|Edit",        "hooks": [          {            "type": "command",            "command": "\"${CLAUDE_PLUGIN_ROOT}\"/scripts/format-code.sh"          }        ]      }    ]  }}

场景 2:提交前自动 lint

在 PreToolUse 事件中拦截提交操作,运行 lint 检查。

Hooks 支持的事件覆盖了 Claude Code 的完整生命周期:从会话启动(SessionStart)、用户提交提示(UserPromptSubmit)、工具调用前后(PreToolUse/PostToolUse)到会话结束(SessionEnd),共 20+ 个事件节点。

MCP 服务器:连接外部系统

通过 MCP,Claude 可以直接操作数据库、调用 API、控制浏览器:

1
2
3
4
5
6
7
8
9
10
11
{
  "mcpServers": {    "plugin-database": {      "command": "${CLAUDE_PLUGIN_ROOT}/servers/db-server",      "args": ["--config", "${CLAUDE_PLUGIN_ROOT}/config.json"],      "env": {        "DB_PATH": "${CLAUDE_PLUGIN_ROOT}/data"      }    }  }}

插件启用时,MCP 服务器自动启动,Claude 可以直接调用其工具。

LSP 代码智能:实时诊断

LSP 集成让 Claude 获得:

  • 即时诊断: 编辑后立刻看到错误和警告
  • 代码导航: 跳转定义、查找引用
  • 语言感知: 类型信息和文档
1
2
3
4
5
6
7
8
9
{
  "go": {    "command": "gopls",    "args": ["serve"],    "extensionToLanguage": {      ".go": "go"    }  }}

Monitors:后台监控

实验性组件,可以在会话启动时自动运行后台命令,将输出推送给 Claude:

1
2
3
4
5
6
7
[
  {    "name": "deploy-status",    "command": "\"${CLAUDE_PLUGIN_ROOT}\"/scripts/poll-deploy.sh",    "description": "部署状态变更监控"  }]

六、踩坑指南和注意事项

常见错误 Top 5

问题
原因
解决方案
插件加载了但组件缺失
目录放错了位置
确保 skills/、agents/ 等在根目录,而非 .claude-plugin/ 内
Hooks 不触发
脚本不可执行
chmod +x script.sh
MCP 服务器启动失败
路径没用变量
所有路径必须使用 ${CLAUDE_PLUGIN_ROOT}
路径错误
使用了绝对路径
所有路径必须相对,以 ./ 开头
LSP 提示找不到可执行文件
语言服务器未安装
先安装二进制文件,再装插件

调试技巧

1
2
3
4
5
6
7
8
# 查看插件加载详情
claude --debug# 查看所有安装的插件claude plugin list# 验证插件结构claude plugin validate 插件名

注意:官网上还有一个 claude plugin details 插件名查看详情的命令,但是实际测试下来发现会报命令不存在的错误,可能是已经被官方取消

版本管理策略

方法
适用场景
显式版本
(在 plugin.json 中设置 version
有稳定发布周期的正式插件
Git SHA 版本
(省略 version 字段)
快速迭代的内部/团队插件

如果使用显式版本,记得每次发版都要更新版本号,否则用户不会收到更新。


总结

Claude Code 的插件系统正在将 AI 编程从一个对话工具进化为一个完整的开发平台。通过插件,你可以:

  • 扩展能力: 连接数据库、API、浏览器等外部工具
  • 固化流程: 将团队最佳实践封装为可复用的技能
  • 自动执行: 用钩子在关键时刻自动触发操作
  • 团队共享: 通过插件市场一键分发配置

推荐起步配置

  1. 装好三件套:Feature Dev + Code Review + Context7
  2. 根据技术栈添加 2-3 个 MCP 服务器
  3. 把团队规范打包成自定义插件

相关资源:

  • 官方文档:https://code.claude.com/docs/zh-CN/plugins-reference
  • 插件市场:https://claude.com/plugins
  • 菜鸟教程:https://www.runoob.com/claude-code/claude-code-plugins.html