【学习分享】OpenClaw / Claude Code / Codex 里的 Plugins 和 Skills 到底怎么用?工作目录、安装与制作实用指南

摘要

很多人刚接触 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...

前面的 namedescription 很关键:

  • 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/skillsOpenClaw 本地托管/共享 Skill
5OpenClaw 自带 bundled skills系统内置 Skill
6skills.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-nameSkills、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 skillopenclaw skillagent skillclaude plugin

找第三方 Skill 时,不要只看名字好不好听。至少看三点:

  1. SKILL.md 写得是否清楚
  2. 是否包含会执行命令的脚本
  3. 是否需要 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 工作流,我建议这样做:

  1. 先把通用 Skill 装到当前 workspace,不要急着全局共享
  2. 每次只装一个新 Skill,确认行为正常再装下一个
  3. 装完立刻跑检查命令,确认依赖齐全
  4. 高风险 Skill 不要自动触发,尤其是部署、删除、发消息类
  5. 自己写 Skill 时先做最小版本,稳定后再加脚本和参考资料
  6. Plugin 安装前先看 manifest 和来源,不要把它当普通文本包
  7. 把常用目录和命令写进自己的笔记,后面排错会省很多时间

Plugins 和 Skills 的边界其实并不复杂:

Skill 让 Agent 更懂某类任务;Plugin 让系统拥有新的能力。

真正容易踩坑的地方,不是概念,而是目录、加载范围、依赖和触发方式。把这几件事弄清楚之后,你就可以开始把自己的工作流程一点点沉淀成可复用模块了。

这才是 Skills 最有价值的地方:不是多装几个酷炫扩展,而是把你已经验证过的经验,变成以后每次都能稳定复用的能力。

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇