一个 skill 让页面明显变好了,下一步很自然就冒出来了:干脆一次装十个,而不是一个。这时同事又发来一条链接:"装上吧,挺好用的"。这些东西都是一条命令装完,陷阱就在这儿。插件看起来像一份能力清单,实际上是代码,会在您的机器上以您的权限运行,还会在每一次和智能体的对话里占地方。
我们来拆解插件和 skill 有什么区别,插件里可能装着什么,目录从哪儿来,怎么把靠谱来源和随便一个来源区分开,Claude Code 在安装前会展示什么、该怎么读。然后走一遍完整流程:装上、在自己的任务上试一遍、关掉、删除。最后说说每次安装前该做什么,以及为什么同样的事也值得对智能体从网上带回来的任何 skill 做一遍。
1. Skill 和 plugin
木匠有一堆写下来的流程:怎么准备工作台,怎么磨刀,怎么按模板批量生产。他一个人干活的时候,这些都记在自己的本子里。后来同一个车间的师傅要一份,学徒又要一份,一个月后街对面的作坊也打来电话,每次都单独抄一张纸给人,渐渐就烦了。于是他把几份流程放进一个箱子,侧面打上作坊的印记,再往里塞一张说明:这里面是什么、怎么用。这样的箱子可以整个交出去,可以更新,也可以编号。
这就是插件。它不是又一项能力,而是围着几项能力做的一层包装。
| 是什么 | 本质 | 回答什么问题 |
|---|---|---|
| Skill | 一项能力,一套流程 | 智能体会做什么 |
| Plugin | 围绕能力做的包装 | 怎么分发和更新 |
插件本身不是一项单独的能力,而是一种分发多项能力的方式。它能做的一切,都要靠里面装的东西:能力、助手、自动反应、连接。所以"这个插件能做什么"这个问题,最终都会落到另一个问题上:里面装的是什么。
当您的 skill 开始被别人索要,就到了打包自己插件的时候。如果拿不准自己到底需要什么 - skill、带独立角色的助手,还是插件 - 可以问智能体,但要让它先提问,而不是直接动手搭:它会给出一份草稿,里面装的东西由您来检查。判断标准很简单:反复提同一个请求 - 用 skill;附带的工作把对话搞乱了 - 用助手;同一套东西在另一个项目里也要用 - 用插件。插件具体怎么一步步搭出来是另一个话题。这篇文章说的是接收箱子的人。
2. 插件里都装着什么
箱子里通常有五个隔间,而且不是每一个都同样无害。
- skills - 一套流程,智能体根据描述自己调用,或者由您下命令调用;
- agents - 带独立角色的助手,智能体会把一部分工作交给它们;
- hooks - 对事件的自动反应:某件事发生之后,不用您开口就会运行命令;
- MCP servers - 连接外部服务的通道,智能体通过它们读取和修改您电脑之外的东西;
- LSP servers - 针对某种语言的代码提示,需要单独安装一个程序才能用。
下面这两个隔间,正是箱子被认真对待、而不是被扔进角落的原因。带 hooks 和 MCP 的插件能做到"一套能力"通常做不到的事:运行命令,连到外部服务。里面装的是一件通了电的工具,不是挂墙上的海报。hooks、MCP、agents 各自具体是什么,是另外的话题;这里只需要知道它们放在插件里意味着什么就够了。除了这五种,还会有别的隔间,比如默认设置或者智能体的回答风格,但它们不改变整体画面。
手边没有卡片的话,可以让智能体打开插件的仓库,把文件夹里都有什么说给您听。
3. 带前缀的名字
插件里的 skills 名字都带前缀:/插件名:skill名,比如 /commit-commands:commit。隔壁的师傅说不定也有个叫"清理"的,但只要箱子上有标记,就不会认错。
代价是名字变长:用共享的一套东西,换来的是命令要多打几个字。项目文件夹里自己写的 skill 没有前缀。
但也有好处。在 / 菜单里,一看前缀就知道这条命令从哪儿来、是谁的箱子。
4. 目录和两个步骤
箱子是从库房里取的。插件目录,英文叫 marketplace,是某个人维护的一份别人插件的清单。用它分两步:先接入目录,再从里面一个一个装插件。接入目录本身什么都不会安装,您只是拿到了一份清单。
对大多数人来说,第一步已经做好了。命令 /plugin 打开一个有四个标签页的面板:Discover - 在所有已接入的目录里搜索插件;Installed - 已经装上的;Marketplaces - 目录;Errors - 加载错误。Anthropic 的官方目录从第一次启动起就已接入,在 Discover 标签页里它的插件立刻就能看到:选中、打开、安装。同一份清单也能在网站 claude.com/plugins 上看到,如果您想不打开 Claude Code 就先看看的话。

第二个目录会在官方目录里没有您要的插件时出现:社区目录,或者别人的、装着目录文件的仓库。接入它只要一条命令,从里面装插件也是一条命令:
/plugin marketplace add anthropics/claude-plugins-community # 接入社区目录
/plugin install 插件名@claude-community # 从里面装一个插件
/plugin list # 检查插件是否在列表里接入别人的目录用的是第一条命令,只是换成它的地址。
有一个最容易栽跟头的细节(我也不例外)。用来安装的目录名不是来自仓库的名字,而是来自目录自己的描述:仓库叫 anthropics/claude-plugins-community,但装的时候用的是 claude-community。目录到底叫什么,在 Marketplaces 标签页里能看到。
官方目录里放着不同类型的插件。和 GitHub 的集成是 MCP,连接外部服务。某种语言的代码提示,比如 typescript-lsp,是 LSP。security-guidance 会检查智能体的每一处改动有没有常见的漏洞。
5. 来源的三个信任等级
插件不会因为放进了文件夹就自动生效:得显式装上它,这不是走形式。里面的代码会以您的权限运行,也就是说它能做的事和您在这台电脑上能做的一样多。所以对任何插件,第一个该问的问题不是"它能做什么",而是"它从哪儿来"。
官方目录。由 Anthropic 维护,但里面的大部分插件出自合作伙伴和其他作者,而不是 Anthropic 本身。需要的关注比陌生仓库少一些,但描述和组成还是值得读一读。
社区目录。第三方插件,通过了 Anthropic 的自动检查;几乎每一个都在目录里锁定到具体版本。这是一道过滤,不是保证:插件是不是真的只做它承诺的事,没人验证过。
任意仓库或文件夹。没有任何审查。作者是谁、有没有说清楚的描述、文件夹里都放了什么,都得您自己看。
插件是在您的机器上以您的权限运行代码的。第三方插件里到底装了什么,Anthropic 并不掌控,也不会验证它是不是只做承诺的事。受欢迎、"大家都在装"都不能算安装的理由。
同一次工作会话里,三个等级都可能碰到:一个来自社区目录的设计插件,另一个来自 Anthropic 目录,第三个来自只有一个插件的别人的仓库。这没问题,只要您清楚自己每一刻站在哪个等级上。
尺度要按插件来定。它能做的事越多,也就是里面的 hooks 和 MCP 越多,来源离官方越远,就越要仔细看。
6. Claude Code 在安装前会展示什么
来源决定了该看得多仔细。细节 Claude Code 会自己展示出来:在 /plugin 面板的 Marketplaces 标签页里打开这个插件,或者运行 /plugin install 名称@目录,就能看到它的卡片。从 Discover 列表打开的卡片更简短:里面没有花费估算。
卡片上有三行,要看的就是它们。后两行只有官方目录的插件才有。
- Will install - 组成:会带来多少 skills、agents、hooks、MCP 和 LSP;
- Context cost - 插件会往智能体的上下文窗口里加多少:Every turn 是您的每次请求都会加上的部分,When invoked 是智能体加载它的 skills 和 agents 时加上的部分;
- Last updated - 插件上次更新是什么时候。
Will install: skills: 8 agents: 1 hooks: 2 MCP servers: 1
Context cost: Every turn: ~400 tokens When invoked: ~1.5k tokens
Last updated: 2 weeks ago数字和每行的样式只是示意,不同插件、不同版本的 Claude Code 都不一样。看组成很容易,但这只是初步判断:如果里面只有 skills,插件大概率只是读取和给建议;有 hooks 或 MCP,它就会运行命令或者连到外部,这时候就该打开描述,弄清楚具体是哪些。卡片并不会展示一切:插件还可能带来可执行文件和默认设置,卡片上不会列出来。对不熟悉的来源,还得再看看它的仓库。
来自本地插件目录和自建插件目录的插件,组成和花费可能都不显示,取而代之的是一行提示:组件要到安装时才能识别出来。对这样的插件,安装前想知道组成,唯一的办法就是打开它的仓库,看看里面都有哪些文件夹。
还有第三个问题,卡片不会替您问:这个插件适不适合您。哪怕是个好插件,也完全可以不装。它可能和您的 skill 功能重复,拖来了针对另一种操作系统的脚本,或者解决的是您根本没有的问题。
7. 插件最终归谁
箱子归谁,在安装时就提前定好了。一共三种选择。
- user - 归您,在所有项目里都能用;
- project - 归所有用这个仓库的人:这条记录写进
.claude/settings.json,跟着项目一起走; - local - 只归您,只在这个项目里,同事看不到。
还有一种 managed:由管理员安装,您改不了。多数人不会碰到它。
规则只有一条:选能用的里面最窄的 scope。插件启用的地方越少,它真正运行起来的场景就越少,以后要清理的东西也越少。窄 scope 并不能让一个可疑的插件变安全:只要它被启用,在那个范围里就能做完全一样的事。project scope 值得多说一句:您这时决定的不只是自己的事。同事打开这个仓库后,插件会处于已启用但未安装的状态:/plugin 面板的 Errors 标签页里会出现一条警告,插件需要同事自己安装。
从面板里安装时会问 scope;/plugin install 也会打开带选项的卡片。
8. 装上并检查
如果安装顺利,结尾会是两句话里的一句。要么插件已经在生效,要么提示您运行 /reload-plugins。碰到后一种情况就运行它;如果命令提示重新加载会重新读一遍对话,就加上 --force 再运行一次。不需要重启 Claude Code。
插件是不是装上了,看 /plugin list 就知道:它出现在列表里,它的 skills 也带着前缀出现在 / 菜单里。
打开的箱子会占工作台。启用的插件从第一秒起,就会往智能体的上下文窗口里加自己 skills 的声明:名字和描述。完整内容只有在 skill 真正用到时才会被拉进来,但声明会一直挂在那儿。连接外部服务的部分,工具名字立刻就会出现,描述则按需加载;自动反应几乎不占窗口。窗口越满,每次回答就越贵、越慢。
真实的花费只能靠对比看出来:/context 会显示窗口被什么占用了。装之前跑一次,装之后再跑一次。
插件的描述说的是它应该做什么。它在您的任务上实际做了什么,只有跑一遍才知道:装之前先做一次自己的任务,装之后再做同一个任务,亲眼比较两次的结果。
1) 不装插件:做自己的任务,记住结果
2) 装上插件,需要的话运行 /reload-plugins
3) 再做一遍同一个任务
4) 比较并决定:留下、关掉,还是删除这里故意没有给出比较的结果:每个人的结果都不一样。判断标准很简单:您能用两句话说清楚这个插件做了什么,并且能说出一个留下或去掉它的理由 - 而且这个理由来自您自己的试跑,不是来自描述。
9. 关掉、删除、移除目录
三个动作,各不相同。/plugin disable 是关掉但不删除:插件不再占用窗口,想恢复用 /plugin enable。/plugin uninstall 是彻底移除。/plugin marketplace remove 移除的是整个目录,从这个目录装的所有插件也会跟着一起被删掉。这一点很容易被忘掉。
/plugin disable 插件名@目录 # 关掉,但不丢失
/plugin uninstall 插件名@目录 # 彻底删除
/plugin marketplace remove 目录 # 移除目录,以及从它装的所有东西这些命令打开的是同一个面板,而且会一直开着,按 Esc 关闭。在 Installed 标签页里,不用命令也能做同样的事:有问题的插件显示在最上面,关掉的插件折叠在最下面。如果删除的是给整个项目启用的插件,Claude Code 会问:只在您这里删除,还是对所有人删除。
清理。您自己装的、连续十次会话、两周都没用过的插件,Claude Code 会在 Installed 标签页的 "Not used recently" 标题下收集起来,卡片上还会显示插件上次运行是什么时候。另外,/doctor 会把没用过的插件连同它们在上下文里的花费一起列出来。只要您还记得工具箱里都有什么、是干什么用的,它就还是一套有用的工具,而不是一堆杂物。
更新。官方目录会自己更新,并提示您运行 /reload-plugins;第三方目录默认不会。一次更新几乎等于一次新安装:组成可能会变,最好重新打开卡片看一遍。
如果出了问题,包括安装过程本身出问题:Errors 标签页会显示原因。接下来可以关掉、重装,实在不行就清一下插件缓存再装一次。如果 Marketplaces 标签页里官方目录不见了,/plugin marketplace add anthropics/claude-plugins-official 能把它找回来。
10. 不只是插件
智能体应您的要求,从别人的仓库下载下来放进项目文件夹的 skill,是同一种情况,只是没有目录、没有卡片、没有 scope。除了您自己,没人会去检查它。
要问的问题是一样的。它从哪儿来。里面是什么:SKILL.md 一分钟就能读完,但要检查的是整个文件夹 - 它引用的脚本和文件也一样。它提前给自己批准了哪些工具:字段 allowed-tools。这个字段展示的是不用另外确认就已经批准的东西,而不是可能发生的一切的完整清单。来自第三方服务仓库的 skill,完全可能给自己批准运行命令,对一个要往外发送东西的 skill 来说,这也正常。但这一点该在第一次运行之前就看清楚,而不是之后。
和插件的差别只有一个。skill 没有卡片,但它的全部内容就摆在旁边,明文可读,第一次运行之前就能看完。
11. 每次安装前该做什么
六个步骤,顺序和文章里出现的一样。
- 来源。官方目录、社区目录,还是别人的仓库 - 这决定了接下来该看得多仔细。
- 组成。卡片上的 "Will install";hooks 和 MCP 意味着运行命令和连到外部,遇到它们就打开描述看看。
- 花费。卡片上的 "Context cost"(官方目录才有),以及装前装后各跑一次
/context:插件的花费出在您每一次请求里。 - Scope。选能用的里面最窄的一个;project scope 也是替同事做的决定。
- 试跑。装前装后各做一次同一个任务,结论来自您自己的测试,而不是描述。
- 决定。留下、关掉,还是删除;大约两周后,Installed 标签页会提醒您哪些没用过。
插件更新后组成可能会变,而官方目录会自己更新。重要工作开始前,重新打开一次卡片,别凭去年的印象。
打了标记的箱子,本来就是为了把流程整个交出去、不用再挨个抄送,这个道理反过来也成立。接收箱子的人,看一眼标记,打开盖子,只把今天用得上的东西放上工作台。
插件面板和它提示信息的文字会随版本变化;如果您看到的界面和这里描述的不一样,以文字的意思为准,而不是它确切的样子。
GO TO FULL VERSION