Claude Code Plugins 怎么用?从装第一个插件走完整条流程
预计阅读 15 分钟。这篇不讲一堆抽象概念,而是带你装一个真实存在的官方插件、跑通、再卸掉,把整条流程走一遍。沿途每条命令都核过官方文档、可以照敲;每个容易踩的坑都标出来。读完你会敲安装命令、看懂
@后缀的坑、会写自己的第一个插件,也知道什么时候该停手别装。
先敲这一条:30 秒装好第一个插件
不绕弯子,先把第一个插件装上。打开 Claude Code,敲这一条:
/plugin install github@claude-plugins-official
回车,等它装完,再敲一句激活,不用重启:
/reload-plugins
装好的是官方的 github 插件——它预先配好了连 GitHub 的 MCP 服务器(Model Context Protocol,模型上下文协议),让 Claude 能直接读 issue、看 PR,省掉你手动接服务的步骤。
这条命令为什么能省掉「先添加目录」那一步?因为 @claude-plugins-official 是 Anthropic 官方策展的 marketplace(插件目录),每次启动 Claude Code 自动就绪,不用你手动添加。这是新手装第一个插件最短的路径。
💡 通俗讲:可以把 Plugin 想成「别人整理好的工具箱」,里面装着命令、规则、子 Agent、外部接入。你不用一件件自己做,搬一整箱进来就能用。
marketplace就是放这些工具箱的「应用商店」,官方那个商店开机自带,所以装它里面的东西一步到位。
⚠️ 第一坑:如果你的 Claude Code 里根本没有
/plugin这条命令,说明版本太旧。升级即可——Homebrew 装的跑brew upgrade claude-code,npm 装的跑npm install -g @anthropic-ai/claude-code@latest,升完重启终端再试。
下面把这条命令拆开,一段段讲清楚它每一节在干什么、容易在哪里栽,最后再带你写一个自己的插件。
一、装完的这一坨东西,到底是什么
你刚装的 github 不是一个按钮,也不是一段提示词(prompt),而是一个打包好的能力包。一个插件里可以同时塞进好几类能力:
| 组件 | 它是什么 | 在插件里放哪 |
|---|---|---|
| Skill(技能) | 模型按任务自动调用的能力 | skills/<名字>/SKILL.md |
| Slash Command(斜杠命令) | 斜杠触发的命令入口 | commands/ 下的 Markdown |
| Subagent(子 Agent) | 独立上下文的子 Agent | agents/ 下的定义 |
| Hook(钩子) | 在某事件自动跑的脚本 | hooks/hooks.json |
| MCP 服务器 | 接外部工具或服务的桥 | 根目录 .mcp.json |
| LSP 服务 | 语言服务,给代码补类型检查 | 根目录 .lsp.json |
你装一个插件,等于一次性把它里面这一整组配合好的能力都拿过来。github 插件给的是 MCP 服务器;官方的 commit-commands 插件给的是「提交、推送、建 PR」几个斜杠命令;pr-review-toolkit 给的是几个专门审查 PR 的子 Agent。这就是插件比单个 Skill 更值的地方——能力组合,开箱即配,不用你自己一件件接、还要操心它们彼此搭不搭。
那它和你直接丢在项目 .claude/ 目录里的「标准配置」有什么不同?官方把这两条路分得很清楚:
- 标准配置(放
.claude/):适合个人、单项目、快速试验,技能名很短,像/hello。 - 插件(带 manifest 的独立目录):适合跨项目复用、分享给团队或社区、要版本化,技能名带命名空间,像
/插件名:hello。
一句话:自己一个项目随手用,标准配置就够;要分发、要复用、要标版本,才上插件。
🔥 翔宇判断:插件真正的价值不在「功能更多」,而在「把一套已经验证过的工作方式,变成可复制的能力」。所以对个人新手它不是必需品,对团队和想分享沉淀的人才是刚需——还没验证过的流程,先别急着打包。

二、那条 `@` 后缀,是新手最容易栽的地方
回头看那条安装命令的结构:
/plugin install <插件名>@<marketplace 注册名>
@ 后面跟的,是「从哪个已经注册到本地的 marketplace 装」。这里有个真坑:@ 后缀必须和你添加 marketplace 时生成的注册名严格对上,对不上就报「插件未找到」。而注册名常常和你敲的仓库地址不一样。
官方三个公开 marketplace,添加方式和注册名各不相同,放一起就看清了:
| marketplace | 怎么添加 | 安装时写的 @ 后缀 |
|---|---|---|
| 官方策展 | 内置,无需添加 | @claude-plugins-official |
| 社区 | /plugin marketplace add anthropics/claude-plugins-community |
@claude-community |
| 演示示例 | /plugin marketplace add anthropics/claude-code |
@claude-code-plugins |
看出门道了吗——添加社区目录敲的是 anthropics/claude-plugins-community,但安装后缀是 @claude-community;添加演示目录敲的是 anthropics/claude-code,后缀却是 @claude-code-plugins。仓库名 ≠ 注册名,凭直觉拿仓库名当后缀几乎一定敲错。
⚠️ 第二坑:拿不准本地某个 marketplace 的确切注册名时,先敲
/plugin marketplace list,它会列出所有已注册目录的真实名字,照着抄进@后缀,比猜靠谱。
所以从社区目录装一个插件,完整两步是这样:
/plugin marketplace add anthropics/claude-plugins-community
/plugin install <插件名>@claude-community
marketplace add 的来源也不止 GitHub 仓库一种,下面这张表覆盖了官方支持的全部写法:
| 来源类型 | 写法示例 |
|---|---|
GitHub 仓库(owner/repo 简写) |
/plugin marketplace add anthropics/claude-code |
| 完整 Git 地址(GitLab / 自建) | /plugin marketplace add https://gitlab.com/company/plugins.git |
| 指定分支或标签(锁版本) | /plugin marketplace add https://gitlab.com/company/plugins.git#v1.0.0 |
| 本地路径 | /plugin marketplace add ./my-marketplace |
远程 marketplace.json 地址 |
/plugin marketplace add https://example.com/marketplace.json |
把「仓库名 ≠ 注册名」这件事走一遍最有体感。Anthropic 还维护一个演示 marketplace(放示例插件,专门给你试手)。完整跑通一个 commit-commands 插件,是这样四步:
/plugin marketplace add anthropics/claude-code ← 添加:敲仓库名
/plugin install commit-commands@claude-code-plugins ← 安装:后缀是注册名,不是仓库名
/reload-plugins ← 激活
/commit-commands:commit ← 调用:带命名空间前缀
注意第二步:添加时敲的是仓库 anthropics/claude-code,但这个目录注册到本地的名字是 claude-code-plugins,所以安装后缀写 @claude-code-plugins。这正是把社区流那条命令的后缀照搬过来会失败的原因——两个目录的注册名根本不同。 装好的 commit-commands 提供一组 Git 工作流技能,最后那条 /commit-commands:commit 会帮你暂存改动、生成提交信息、建好这次提交。
⚠️ 第三坑:每个插件提供的技能名不一样。装完别瞎猜,去
/plugin的 Discover 标签点开这个插件的详情,或看它的主页,才知道它到底给了哪些命令和技能。

三、不想敲命令?用 `/plugin` 图形管理器
记不住名字、不想敲 @ 后缀,可以直接敲一条 /plugin 打开图形化管理器,它有四个标签,用 Tab 切换:
- Discover:浏览所有已添加 marketplace 里的插件,挑一个回车就能装。
- Installed:看、停用、卸载已装的插件。
- Marketplaces:添加、更新、移除 marketplace。
- Errors:看插件加载报错(比如缺语言服务程序)。
在 Discover 里选中一个插件,详情页会告诉你三件关键信息,这也是「装前必看」的核心:
- Will install 清单:逐项列出这个插件会带来哪些命令、子 Agent、技能、Hook,以及它接入的 MCP 和 LSP 服务。看完你才知道装进来的到底是什么。
- Context cost 估算:它每轮对话会占多少 token(上下文成本)。装多了上下文就被挤占。
- Last updated:最近更新日期,判断它是否还在维护。
详情页里还能选安装范围(scope),这一步团队用尤其要选对:
| 范围 | 装给谁 | 写到哪 |
|---|---|---|
| User(默认) | 只给自己,跨所有项目 | 个人配置 |
| Project | 这个仓库的所有协作者 | 仓库 .claude/settings.json |
| Local | 只在这个仓库给自己 | 本地,不共享 |
命令行装默认进 User 范围;要选 Project 或 Local,就走 /plugin 图形界面在详情页里选。
四、官方目录里现成有什么可装
/plugin install <插件名>@claude-plugins-official 这条路下,官方目录已经备好几类现成插件,新手不必造轮子。以下插件名都来自官方插件目录,可直接照装:
代码智能(LSP)——让 Claude 改完代码立刻看到类型错、漏掉的导入语句,还能跳转定义、找引用。官方目录目前覆盖 11 种语言,每种对应一个插件,且要求你机器上已装好对应的语言服务程序:
| 语言 | 插件名 | 需要的语言服务程序 |
|---|---|---|
| TypeScript | typescript-lsp |
typescript-language-server |
| Python | pyright-lsp |
pyright-langserver |
| Rust | rust-analyzer-lsp |
rust-analyzer |
| Go | gopls-lsp |
gopls |
| 其余 7 种 | C/C++、C#、Java、Kotlin、Lua、PHP、Swift | 各自对应的语言服务程序 |
外部集成——预配好 MCP 服务器,免手动连接。官方目录里有 github、gitlab、notion、figma、slack、linear、atlassian、asana、vercel、firebase、supabase、sentry 等。
安全审查——security-guidance,每次改动自动查常见漏洞并指示 Claude 当场修。
开发流程——commit-commands(Git 提交流)、pr-review-toolkit(PR 审查)、plugin-dev(写插件的工具箱)、agent-sdk-dev(基于 Claude Agent SDK 开发)。
💡 通俗讲:LSP 这类插件,相当于给 Claude 配了一副「能看见错误的眼镜」——它改完代码不用你跑一遍编译,自己就发现类型错、漏导入,在同一轮里改好。前提是你机器上已经装了对应语言的语言服务程序(比如 Python 的
pyright-langserver),否则会在/plugin的 Errors 标签里提示找不到可执行文件。
⚠️ 第四坑:装好插件后调用它的技能,要带命名空间前缀写成
/插件名:技能名,不能裸写。比如commit-commands提供的提交技能是/commit-commands:commit。这个冒号前缀是官方为了防止不同插件的同名技能打架而强制加的,新手最容易漏。
五、装之前停一下:它能在你机器上跑任意代码
插件方便,但它的能力等级比普通配置高得多。官方对此说得很直白:插件和 marketplace 是高度可信组件,能以你的用户权限在你机器上执行任意代码——也就是说,安全完全取决于来源,和你随手装一个 npm 包一样有风险。
具体风险点:插件里的 Hook 能跑任意 shell 命令、能调 MCP 接外部服务、能包含会被模型自动调用的技能。一个来源不明的插件,完全可能在你不知情时读文件、发网络请求。
所以装任何插件前,固定看三件事:
- 看用途——它做的事(代码审查 / 发布流程 / 外部集成)和你的真实需求对得上吗?
- 看它带什么——在
/plugin详情页看 Will install 清单,确认它带来的命令、Hook、MCP 服务你都认得。 - 看来源——官方策展最稳,社区目录的插件过了自动校验和安全筛查,第三方和来源不明的最谨慎。
⚠️ 第五坑:第一次装一个外部插件,别直接拿它跑核心仓库。先在一个低风险目录里试,观察它的真实行为——有没有改你没预期的文件、有没有调外部服务、有没有改变 Claude Code 的默认行为。组织层面还能用受管设置(managed settings)限制成员只能添加哪些 marketplace。
插件不能绕过你的确认。涉及删除、发布、提交、授权、付款、线上配置这些动作,它仍然应该停下来问你。插件是能力,不是免审通行证。
六、装完怎么确认它真的生效了
敲完 /reload-plugins,别假设它一定装好了——花十秒确认一下,比之后到处找命令省事。三个动作就够:
- 看 reload 的回执:
/reload-plugins跑完会报一组计数——重新加载了多少插件、多少技能、多少 Agent、多少 Hook、多少 MCP 服务器和 LSP 服务。数字对不上你预期,就说明哪儿没加载进来。 - 核对入口出现没有:技能用
/help看是否列在对应插件命名空间下;子 Agent 用/agents看是否出现;命令就直接试着敲一下带前缀的/插件名:技能名。 - 看有没有报错:敲
/plugin切到 Errors 标签。最常见的报错是 LSP 类插件提示Executable not found in $PATH——意思是你还没装对应的语言服务程序,按提示装上即可。
⚠️ 第六坑:
/reload-plugins不是零成本的。它会让下一次请求重新读一遍对话历史(缓存失效),带 MCP 服务器的插件尤其明显。所以别为每个小改动都 reload 一次,攒着一起刷更划算。
确认无误后,这个插件就正式进入你的工作流了。要回退也简单,停用、卸载和定期清理的命令在 § 八。
七、写一个自己的插件:五步跑通
会装之后,自己打一个其实很简单。官方的快速上手就是五步,照着走一遍:
第一步,建目录:
mkdir my-first-plugin
第二步,加 manifest(清单文件)。在 my-first-plugin/.claude-plugin/plugin.json 里写清身份——注意只有这个 plugin.json 放进 .claude-plugin/,其余目录都在根目录:
{
"name": "my-first-plugin",
"description": "我的第一个插件,学基础用",
"version": "1.0.0",
"author": { "name": "你的名字" }
}
第三步,加一个技能,放在根目录的 skills/hello/SKILL.md。整个插件的标准结构是这样:
my-first-plugin/
├── .claude-plugin/
│ └── plugin.json ← 只有这个在 .claude-plugin/ 里
├── skills/ ← 其余全在根目录
│ └── hello/SKILL.md
├── commands/ ← Slash Commands
├── agents/ ← Subagents
├── hooks/hooks.json ← Hooks
├── .mcp.json ← MCP 服务器配置
└── .lsp.json ← LSP 语言服务配置
⚠️ 第七坑:千万别把
skills/、commands/、agents/、hooks/塞进.claude-plugin/目录里。官方明确:.claude-plugin/里只放plugin.json,其余目录全部在插件根目录,放错位置会加载不到。这是写插件最高频的结构错误。
第四步,本地测试。不用先发布,加 --plugin-dir 直接加载:
claude --plugin-dir ./my-first-plugin
启动后调用你的技能,记得带命名空间前缀(前缀由 plugin.json 的 name 字段决定):
/my-first-plugin:hello
改了内容运行 /reload-plugins 就刷新,不用重启。
第五步,分享。推到 GitHub、配一个 marketplace.json,别人就能 /plugin marketplace add <你的仓库> 装上。
如果你不是从零写,而是已经在某个项目的 .claude/ 目录里攒了一堆技能和 Hook,迁移成插件几乎是搬文件:把 .claude/commands/、.claude/agents/、.claude/skills/ 复制到插件根目录对应位置;Hook 从 .claude/settings.json 的 hooks 对象原样搬进插件的 hooks/hooks.json(格式一样)。搬完同样用 claude --plugin-dir ./my-first-plugin 验证命令能跑、Agent 在 /agents 里出现、Hook 正常触发。
🔥 翔宇判断:先用别人的插件跑一段时间,找到真有价值且稳定的模式,再写自己的。过早把每天都在变的流程打包成插件,等于把不成熟的做法固定下来,后面改起来更麻烦。插件最适合沉淀「已经被反复验证过的流程」。

八、装多了怎么办:停用、卸载、定期清
插件不是越多越好。装得多了会有三个代价:每个插件的技能、命令描述都进上下文占 token;可用入口太多,模型选起来更容易分散;代码面越大潜在风险越高。所以你得知道怎么往回退——这也是「敢装」的前提。
几条管理命令,配着用:
/plugin marketplace list ← 看本地已注册的目录及确切注册名
/plugin disable 插件名@目录名 ← 停用但不卸载
/plugin enable 插件名@目录名 ← 重新启用
/plugin uninstall 插件名@目录名 ← 彻底卸载
/plugin marketplace remove 目录名 ← 移除整个目录(会连带卸载从它装的插件)
一个朴素的治理习惯:每月看一次 /plugin 的 Installed 列表,还在用的留下,想不起用途的停用,功能重复的合并,来源不清的删掉。判断一个插件值不值得留,就看它有没有减少重复解释、减少错误、统一输出——都没有就停用。插件的价值不在数量,而在真实使用频率。
按风险给插件分三类,安装节奏会清楚很多:
| 类别 | 行为 | 风险 | 新手怎么对待 |
|---|---|---|---|
| 检查类 | 只读或轻量输出(代码风格检查、发布前清单) | 低 | 适合先试,出错也不会造成大损失 |
| 执行类 | 会改文件、跑命令、生成产物 | 中 | 先给小范围任务,多次稳定后再进重要项目 |
| 集成类 | 接外部服务、凭据、网络(GitHub、CMS、数据库) | 高 | 必须看清要哪些凭据、数据流向哪、失败会不会重复执行 |
新手从检查类入门最稳,执行类慢慢放开范围,集成类最谨慎。
衡量一个插件该不该留,有个比「功能多」更实用的标准:成熟的插件应该让你少解释、少复制、少犯同类错误——它不一定让输出更华丽,但会让流程更稳定。做不到这点的,定期清掉。

下一步学什么
插件是把单项能力打包分发的载体,想用好它,先把里面那几样能力学扎实。下一步可以看 Skills 开发指南、Slash Commands 指南、Subagents 多智能体指南、Hooks 指南、权限指南 和 MCP 工具指南。这些能力和插件经常组合出现。
外部参考(官方文档,以官方当前文档为准):
- 创建插件:https://code.claude.com/docs/en/plugins
- 发现与安装插件:https://code.claude.com/docs/en/discover-plugins
- 创建与分发 marketplace:https://code.claude.com/docs/en/plugin-marketplaces
一句话收住:插件是复用成熟工作流,不是替代基础能力。先跑顺,再安装;先看清,再信任。