摘要
很多人刚接触 Claude Code、OpenClaw、Codex 这类 Agent 工具时,最容易混淆两个东西:Plugins 和 Skills。简单理解:Skill 更像一个“能力模块”,告诉 Agent 遇到某类任务时应该按什么流程做;Plugin 更像一个“完整扩展包”,可以带来工具、通道、模型提供商、Hooks、MCP、Skills 等一整套能力。本文从工作目录、安装方式、使用触发、管理命令、常用网站和自制方法几个角度,整理一份偏实操的入门指南。
Meta Description
搞清楚 OpenClaw / Claude Code / Codex 中 Plugins 和 Skills 的区别:工作目录、安装命令、配置方式、触发逻辑、常用网站与自制 Skill 方法,一篇实用向整理。
正文
很多人第一次装 OpenClaw、Claude Code、Codex 或类似 Agent 工具时,会遇到一个很真实的问题:
插件、Skill、工具、MCP、Hooks……这些东西到底谁是谁?应该装到哪里?装完怎么用?
视频里讲的是 Claude Code 的 Skill 生态,但思路对 OpenClaw 同样有参考价值。尤其是对刚开始折腾的人来说,先把 Plugins 和 Skills 的边界搞清楚,后面再安装、排错、自己写扩展,就不会像在黑箱里摸开关。
1. 先把关系搞清楚:Skill 是能力模块,Plugin 是扩展容器
可以这样理解:
- Skill:一个针对特定任务的“操作说明书”或“工作流模块”
- Plugin:一个更完整的扩展包,可以注册工具、通道、模型、Hooks,也可以顺带提供 Skills
举个例子:
你安装一个“视频总结 Skill”,它可能只是告诉 Agent:遇到视频链接时,用 yt-dlp 抓取信息,用 ffmpeg 处理音频,再根据字幕生成摘要。
但如果你安装一个“视频处理 Plugin”,它可能不只是说明书,还会真正注册新的工具、命令、配置项,甚至带自己的运行逻辑。
所以一句话区分:
Skill 偏“教 Agent 怎么做事”;Plugin 偏“给系统增加能力”。
这也是为什么 Skills 通常更轻,Plugins 通常更重。
2. Skill 的典型结构:核心就是一个 SKILL.md
一个 Skill 通常就是一个文件夹,里面最重要的是:
some-skill/
└── SKILL.md
复杂一点的 Skill 还可能带:
some-skill/
├── SKILL.md
├── scripts/
│ └── run.sh
├── prompts/
│ └── template.md
└── references/
└── docs.md
其中 SKILL.md 一般分两部分:
---
name: video-summary
description: Summarize videos from Bilibili, YouTube, Douyin, and Xiaohongshu.
---
# Video Summary Skill
When the user gives a video URL, extract transcript first, then summarize...
前面的 name 和 description 很关键:
name:Skill 的名字,通常也是可手动触发的名字description:告诉 Agent 这个 Skill 什么时候该用
尤其是 description,不要随便写。很多自动触发就是靠它判断的。
坏例子:
description: Useful skill.
好例子:
description: Use when summarizing videos from Bilibili, YouTube, Xiaohongshu, or Douyin, including transcript extraction and timestamped summaries.
后者清楚得多,Agent 更容易自动匹配。
3. OpenClaw 里的 Skill 工作目录
OpenClaw 加载 Skills 时有优先级。越靠前,优先级越高:
| 优先级 | 位置 | 适合放什么 |
|---|---|---|
| 1 | <workspace>/skills | 当前 Agent / 当前工作区专用 Skill |
| 2 | <workspace>/.agents/skills | 当前工作区内的 Agent Skill |
| 3 | ~/.agents/skills | 当前机器上多个 Agent 共享 |
| 4 | ~/.openclaw/skills | OpenClaw 本地托管/共享 Skill |
| 5 | OpenClaw 自带 bundled skills | 系统内置 Skill |
| 6 | skills.load.extraDirs | 配置中额外指定的 Skill 目录 |
如果你是给某一个 Agent 单独装 Skill,最常见的位置就是:
<workspace>/skills/<skill-name>/SKILL.md
比如本文这个博客工作区里,Skill 就可以放在:
~/.openclaw/workspace-blogger/skills/video-summary/SKILL.md
如果你希望所有 Agent 都能用,可以考虑:
~/.openclaw/skills/<skill-name>/SKILL.md
但我的建议是:不确定就先装到工作区,不要一上来就全局共享。
原因很简单:Skill 会影响 Agent 的行为。范围越大,排错越麻烦。
4. OpenClaw 安装、检查、更新 Skill 的常用命令
OpenClaw 可以直接从 ClawHub 搜索和安装 Skills。
搜索:
openclaw skills search "video summary"
安装到当前 active workspace:
openclaw skills install video-summary
如果你有多个 Agent,建议明确指定:
openclaw skills install video-summary --agent blogger
检查是否可用:
openclaw skills check --agent blogger
查看详情:
openclaw skills info video-summary --agent blogger
更新:
openclaw skills update video-summary --agent blogger
或者更新全部:
openclaw skills update --all --agent blogger
这里有个容易误解的点:
openclaw skills install video-summary
这不是安装到系统全局,而是安装到当前 active workspace 的 skills/ 目录。要共享给多个 Agent,需要放到共享目录,或者配置 Agent 的 Skill 可见范围。
5. Claude Code 里的 Skill 目录也可以类比理解
视频里讲到 Claude Code 的 Skill 目录,大致也分两类:
项目级:.claude/skills/<skill-name>/SKILL.md
用户级:~/.claude/skills/<skill-name>/SKILL.md
项目级只在当前项目生效,适合放:
- 项目代码规范
- 部署流程
- 专用测试流程
- 当前仓库特有的 Review 规则
用户级对所有项目生效,适合放:
- 写 Git commit message
- 生成 PPT
- 文档整理
- 内容排版
- 通用代码审查流程
OpenClaw 的目录体系更细一点,但核心原则一样:
项目相关的放项目里,通用能力再考虑共享。
6. Claude Code 端怎么用 Skills 和 Plugins
Claude Code 里,Skill 已经不只是“提示词片段”,更接近一个可复用的命令/工作流。最常见的用法是:把一套反复使用的流程写进 SKILL.md,然后让 Claude 自动识别,或者你手动用 slash command 调用。
Claude Code 的 Skill 放在哪里
常见位置是:
个人级:~/.claude/skills/<skill-name>/SKILL.md
项目级:<project>/.claude/skills/<skill-name>/SKILL.md
插件内:<plugin>/skills/<skill-name>/SKILL.md
个人级适合放通用习惯,比如“总结 git diff”“写 commit message”“整理文档”。项目级适合放当前仓库专用规则,比如测试命令、发布流程、代码 Review 标准。
一个最小 Claude Code Skill 可以这样写:
---
description: Review recent code changes and summarize risks, tests, and suggested commit message.
---
先查看当前改动,然后按下面格式输出:
1. 改了什么
2. 风险点
3. 建议补充的测试
4. 推荐 commit message
如果你放在:
~/.claude/skills/review-changes/SKILL.md
那么在 Claude Code 里可以直接输入:
/review-changes
也可以不手动输入命令,直接问:
帮我看看这次改动有没有风险。
只要 description 写得足够明确,Claude 就有机会自动加载这个 Skill。
Claude Code 的 Plugin 怎么用
Plugin 更适合打包分发。它可以包含 Skills、Agents、Hooks、MCP servers、LSP servers 等。一个 Claude Code Plugin 的核心结构通常是:
my-plugin/
├── .claude-plugin/
│ └── plugin.json
└── skills/
└── hello/
└── SKILL.md
plugin.json 负责描述插件:
{
"name": "my-first-plugin",
"description": "A small plugin with reusable Claude Code skills",
"version": "1.0.0"
}
开发测试时,可以这样临时加载:
claude --plugin-dir ./my-first-plugin
进入 Claude Code 后,插件里的 Skill 会带命名空间,调用方式类似:
/my-first-plugin:hello
如果是从 marketplace 安装,常见流程是:
/plugin marketplace add ./my-marketplace
/plugin install quality-review-plugin@my-plugins
安装后再用:
/quality-review-plugin:quality-review
这里要注意一个区别:
- 独立 Skill 通常是
/skill-name - Plugin 里的 Skill 通常是
/plugin-name:skill-name
这个命名空间不是多余的,它是为了避免不同插件里的 Skill 重名。
7. Codex 端怎么用 Skills 和 Plugins
Codex 现在也支持 Agent Skills,而且它的思路和 Claude Code、OpenClaw 很接近:Skill 负责描述可复用工作流,Plugin 负责把 Skills、应用集成、MCP 配置等打包成可安装的扩展。
Codex 的 Skill 放在哪里
Codex 会扫描几个层级:
仓库级:<repo>/.agents/skills/<skill-name>/SKILL.md
用户级:~/.agents/skills/<skill-name>/SKILL.md
管理员级:/etc/codex/skills/<skill-name>/SKILL.md
系统级:Codex 自带 bundled skills
如果你在一个 Git 仓库的子目录里启动 Codex,它还会从当前目录一路向上扫描 .agents/skills,直到仓库根目录。
所以团队项目里,推荐放:
<repo>/.agents/skills/<skill-name>/SKILL.md
个人常用的,则放:
~/.agents/skills/<skill-name>/SKILL.md
最小 Skill 结构依然是:
my-skill/
├── SKILL.md
├── scripts/ # 可选
├── references/ # 可选
└── assets/ # 可选
一个例子:
---
name: repo-review
description: Review repository changes, summarize risks, and suggest tests. Use when the user asks to review code changes or prepare a commit.
---
Review the current repository changes.
Output:
1. Summary
2. Risk points
3. Missing tests
4. Suggested commit message
Codex 可以两种方式使用 Skill:
$repo-review
或者直接描述任务:
帮我 review 一下当前仓库改动,并给一个 commit message。
前者是显式调用,后者是让 Codex 根据 description 自动判断。
如果本地技能很多,Codex 不会一股脑把所有 SKILL.md 全塞进上下文,而是先放入技能名称、描述和路径;真正需要时才读取完整说明。这就是所谓的 progressive disclosure,好处是省上下文,不容易把对话挤爆。
Codex 的 Plugin 怎么用
Codex 里的 Plugin 是可安装分发单元,可以包含:
- Skills:可复用工作流
- Apps:比如 Gmail、Google Drive、Slack 这类应用连接
- MCP servers:额外工具和外部系统能力
- 资源文件、图标、展示信息等
在 Codex CLI 里,一般先进入插件浏览:
codex
/plugins
然后搜索、查看详情、安装、启用或禁用。安装后,你可以直接描述任务:
Summarize unread Gmail threads from today.
也可以显式点名插件或其中的 Skill。Codex 里常见的显式调用方式包括 @ 选择插件/工具,或者用 $skill-name 调用 Skill。
自己做 Codex Plugin 时,最小结构类似:
my-plugin/
├── .codex-plugin/
│ └── plugin.json
└── skills/
└── hello/
└── SKILL.md
plugin.json 可以从很小开始:
{
"name": "my-first-plugin",
"version": "1.0.0",
"description": "Reusable workflow plugin",
"skills": "./skills/"
}
如果只是自己试验,先写本地 Skill 就够了;如果要分享给团队、打包多个 Skills、附带 MCP 或应用集成,再升级成 Plugin。这个路线更稳:
先做 Skill → 验证流程稳定 → 再打包成 Plugin → 放进 marketplace 分发
Claude Code 和 Codex 的使用差异,一句话记住
| 平台 | Skill 调用 | Plugin 重点 | 典型目录 |
|---|---|---|---|
| Claude Code | /skill-name 或 /plugin-name:skill-name | Skills、Agents、Hooks、MCP、LSP | .claude/skills、~/.claude/skills |
| Codex | $skill-name、@plugin 或自动匹配 | Skills、Apps、MCP servers | .agents/skills、~/.agents/skills |
| OpenClaw | 自动匹配或按会话/工具体系调用 | 通道、模型、工具、Hooks、MCP、Skills | <workspace>/skills、~/.openclaw/skills |
这三者的概念越来越接近,但目录、调用符号和插件清单文件不同。照抄别的平台教程时,最容易错的就是这里。
8. Plugin 的工作方式:它不只是一个说明书
Plugin 和 Skill 最大的区别在于:Plugin 可以真的改变系统能力。
在 OpenClaw 里,Plugin 可以扩展很多东西,例如:
- 消息通道,比如 Telegram、Discord、WhatsApp
- 模型提供商,比如 OpenAI、Anthropic、OpenRouter
- 浏览器、语音、图像生成、视频生成等能力
- Hooks 自动化流程
- MCP / 工具调用能力
- 自带 Skills
一个 OpenClaw 原生 Plugin 通常需要有:
my-plugin/
├── openclaw.plugin.json
├── package.json
└── dist/ 或 src/
其中 openclaw.plugin.json 是核心清单文件,用来告诉 OpenClaw:
- 这个插件叫什么
- 需要哪些配置
- 是否有 provider、channel、tool、skill
- 配置 schema 是什么
- 是否默认启用
一个极简例子类似:
{
"id": "my-plugin",
"configSchema": {
"type": "object",
"additionalProperties": false,
"properties": {}
}
}
如果 Plugin 要顺带提供 Skills,可以在 manifest 里声明:
{
"id": "my-plugin",
"skills": ["skills/my-skill"],
"configSchema": {
"type": "object",
"additionalProperties": false,
"properties": {}
}
}
这时 Plugin 启用后,它里面的 Skill 也会一起进入可加载范围。
9. OpenClaw 安装和管理 Plugin 的常用命令
列出插件:
openclaw plugins list
只看已启用插件:
openclaw plugins list --enabled
搜索插件:
openclaw plugins search "calendar"
安装插件:
openclaw plugins install clawhub:<package>
也可以从 npm、GitHub、本地目录安装:
openclaw plugins install npm:@scope/plugin-name
openclaw plugins install git:github.com/owner/repo@v1.0.0
openclaw plugins install ./my-plugin
启用 / 禁用:
openclaw plugins enable <plugin-id>
openclaw plugins disable <plugin-id>
检查运行时注册情况:
openclaw plugins inspect <plugin-id> --runtime --json
安装 Plugin 后通常需要重启 Gateway:
openclaw gateway restart
这点和 Skill 不一样。Skill 多数时候是被加载到 Agent prompt 或 slash command 体系里;Plugin 可能涉及运行时代码、工具注册和配置校验,所以更重。
10. Skill 怎么触发:自动触发和手动触发
Skill 常见有两种触发方式。
自动触发
你不用明确说“使用某某 Skill”,Agent 会根据你的请求和 Skill 的 description 判断。
例如 Skill 描述是:
description: Use when the user asks to summarize videos from Bilibili or YouTube.
那你说:
总结这个 B 站视频:https://www.bilibili.com/video/xxx
Agent 就可能自动读取这个 Skill 的说明。
手动触发
如果这个 Skill 支持用户调用,也可以用 slash command 或明确点名:
/video-summary https://www.bilibili.com/video/xxx
或者直接说:
用 video-summary 处理这个链接
有些危险或带副作用的能力,比如部署、发消息、删文件,不建议完全依赖自动触发。更稳妥的做法是让它必须手动调用,或者在 Skill 说明里明确要求确认。
11. 自己做一个 Skill,最小可用版本怎么写
如果你只是想让 Agent 在某类任务上稳定一点,不一定要写复杂脚本。先做一个最小 Skill 就够了。
目录:
mkdir -p skills/blog-editor
文件:
touch skills/blog-editor/SKILL.md
内容示例:
---
name: blog-editor
description: Use when editing Chinese blog posts, improving structure, readability, SEO title, excerpt, and practical examples.
---
# Blog Editor Skill
When editing a Chinese blog post:
1. Keep the author's original intent.
2. Improve structure with clear H2/H3 headings.
3. Remove empty AI-style phrases.
4. Add practical examples where useful.
5. Suggest title, excerpt, meta description, and category.
6. Do not invent facts.
然后新开会话或重启 Gateway,让 Skill 被重新扫描。
验证:
openclaw skills list
openclaw skills check
如果它能出现在列表里,就说明最小版本已经跑通。
后续你再慢慢加:
references/:放写作规范、站点风格说明scripts/:放转换脚本或校验脚本prompts/:放复杂模板
不要一开始就写成巨型 Skill。越大越难调,越容易失控。
12. 常用网站和入口
几个比较实用的入口:
- OpenClaw 文档:
https://docs.openclaw.ai - OpenClaw Skills / Plugins 市场:
https://clawhub.ai - AgentSkills 标准:
https://agentskills.io - Claude Code Skills 文档:
https://code.claude.com/docs/en/skills - Claude Code Plugins 文档:
https://code.claude.com/docs/en/plugins - Codex Skills 文档:
https://developers.openai.com/codex/skills - Codex Plugins 文档:
https://developers.openai.com/codex/plugins - Awesome Claude Skills:
https://awesome-skills.com/ - GitHub 搜索关键词:
claude code skill、openclaw skill、agent skill、claude plugin
找第三方 Skill 时,不要只看名字好不好听。至少看三点:
SKILL.md写得是否清楚- 是否包含会执行命令的脚本
- 是否需要 API Key、Cookie、系统权限或外部网络访问
尤其是从 GitHub 或第三方网站下载的 Skill,不要盲装。Skill 虽然看起来只是说明书,但它可能指导 Agent 调用 exec、读取文件、访问网络。安全边界还是要有。
13. 实用建议:什么时候用 Skill,什么时候用 Plugin?
可以按这个标准判断:
适合做 Skill 的情况
- 只是固定一套流程
- 主要是提示词、规则、检查清单
- 复用某种写作、总结、Review、发布流程
- 依赖已有工具,不需要新增系统能力
比如:
- 博客编辑流程
- Git commit message 规范
- 视频总结 SOP
- WordPress 发文前检查清单
- 项目代码 Review 规范
适合做 Plugin 的情况
- 需要注册新工具
- 需要接入新平台或消息通道
- 需要新增模型、语音、图像、浏览器等能力
- 需要运行时代码、配置 schema、鉴权流程
- 需要把多个 Skills、Hooks、工具一起打包分发
比如:
- 新增一个聊天平台通道
- 接一个新的模型供应商
- 做一个完整的自动化发布系统
- 做一个带 CLI、Hooks、Skills 的完整扩展包
如果不确定,优先从 Skill 开始。Skill 成本低、容易改、容易删。等它真的变复杂,再考虑升级成 Plugin。
14. 最后给一套推荐实践
如果你刚开始整理自己的 Agent 工作流,我建议这样做:
- 先把通用 Skill 装到当前 workspace,不要急着全局共享
- 每次只装一个新 Skill,确认行为正常再装下一个
- 装完立刻跑检查命令,确认依赖齐全
- 高风险 Skill 不要自动触发,尤其是部署、删除、发消息类
- 自己写 Skill 时先做最小版本,稳定后再加脚本和参考资料
- Plugin 安装前先看 manifest 和来源,不要把它当普通文本包
- 把常用目录和命令写进自己的笔记,后面排错会省很多时间
Plugins 和 Skills 的边界其实并不复杂:
Skill 让 Agent 更懂某类任务;Plugin 让系统拥有新的能力。
真正容易踩坑的地方,不是概念,而是目录、加载范围、依赖和触发方式。把这几件事弄清楚之后,你就可以开始把自己的工作流程一点点沉淀成可复用模块了。
这才是 Skills 最有价值的地方:不是多装几个酷炫扩展,而是把你已经验证过的经验,变成以后每次都能稳定复用的能力。