乐于分享
好东西不私藏

openclaw skill的编写发布使用

openclaw skill的编写发布使用
        真正让openclaw能力产生质的飞跃的是skill,如何编写openclaw的skill呢?其实和编写claude code skill创建和使用claude skills几乎一样。Claude Code Skill 和 OpenClaw Skill 都是 AI 能力的封装单元,用于让 AI 自动执行特定任务。
  • ‌本质相同‌:两者都是“Skill”(技能包),即预定义的 AI 操作流程或自动化脚本,用于完成特定任务(如写公众号、抓取网页等)‌
  • 可互操作‌:Claude Code 中开发和调试好的 Skill,可以导出并在 OpenClaw 中调用,形成“开发 → 部署”的流水线‌
  • ‌依赖生态‌:都依赖各自社区提供 Skill,例如 OpenClaw 的 ClawHub 已有超 5700 个 Skill‌。
        ‌Claude Code Skill 与 OpenClaw Skill 使用相同规范‌:两者均基于 Anthropic 定义的 Skills 标准(包含 SKILL.md、scripts/、references/、assets/ 等目录结构)‌。OpenClaw 是 Claude Skills 的运行时环境‌:它支持直接加载、执行和远程调用 Claude Skills ‌,无需“转换”代码‌,只需将 Skill 安装到 OpenClaw 环境中即可使用。
         SKILL.md‌:可位于工作区技能目录(优先级最高)或全局技能目录:
~/.openclaw/skills/your-skill/SKILL.md
每个Skill本质上是一个目录,包含:
• SKILL.md:技能说明文档(定义能力边界、使用时机、执行步骤)
• scripts/:可执行脚本(如果需要编程能力)
• assets/:资源文件(模板、配置等)
Skills 从三个位置加载,名称冲突时按优先级覆盖:
位置
说明
优先级
场景
<workspace>/skills/
每个 Agent 私有
最高
项目专属 Skill
~/.openclaw/skills/
所有 Agent 共享
个人通用 Skill
Bundled安装自带
随安装包附带的基础 Skills
最低
web 搜索、文件操作等
此外,还可以通过 openclaw.json 配置的额外目录skills.load.extraDirs  来配置团队共享 Skill 包,它的优先级是最低的。
        SKILL.md的内容中frontmatter 里的 description 不是营销文案——它更接近 “触发短语”。OpenClaw 先看 name + description 来判断什么是相关的,然后才拉取完整指令。如果你的 description 不匹配用户实际问的问题,你的 Skill 就会静静地坐在那里不被调用。
---# ============ 必填字段 ============name: rss-daily-digest  # Skill 的唯一标识符,用户可以通过 /rss-daily-digest 手动调用description: >-  Fetch RSS feeds, summarize articles with AI, and generate a formatted  daily digest report. Use when user asks for RSS summary, news digest,  feed reader, or daily briefing from RSS sources.  # 这是最关键的字段——直接决定 Agent 何时自动触发此 Skill# ============ 推荐字段 ============version: 1.0.0  # 语义化版本号,发布到 ClawHub 时必须homepage: https://github.com/yourname/rss-daily-digest  # 展示在 macOS Skills UI 中user-invocable: true  # 默认 true:是否作为斜杠命令暴露给用户disable-model-invocation: false  # 默认 false:设为 true 后 Skill 从模型上下文中排除(省 Token),  # 但仍可通过斜杠命令手动触发# ============ 元数据 & 门控(Gating)============# metadata 必须是单行 JSON!多行会解析失败metadata: {"openclaw":{"emoji":"📰","requires":{"bins":["curl","jq","python3"],"env":["RSS_FEEDS_CONFIG"]},"primaryEnv":"RSS_FEEDS_CONFIG"}}---
完整的skill目录如下
KILL.md —— 唯一必需的文件references/ —— 存放 Agent 按需读入上下文的文档scripts/ —— 存放可执行代码(可直接执行而不读入上下文,更省 Token)assets/ —— 存放输出使用的文件(不加载到上下文)
定义完skill,还需要在配置文件中注册这个skill 。在 openclaw.json 中注册 Skill 及其环境变量配置。对于需要环境变量或 API  Key 的 Skill 尤其重要: ~/.openclaw/openclaw.json
{  "skills": {    "install": {      "nodeManager": "npm"    },    "load": {      "watch": true,      "watchDebounceMs": 250    },    "entries": {      "rss-daily-digest": {        "enabled": true,        "env": {          "RSS_FEEDS_CONFIG": "/home/user/.openclaw/skills/rss-daily-digest/references/feed-sources.md"        }      }    }  }}
然后测试下skill是否安装成功
# 查看所有已加载的 Skill 及其状态openclaw skills list --eligible# 更详细的视图(显示缺失的依赖、平台限制等)openclaw skills list --verbose
   openclaw还提供了工具clawhub来管理skill,其官网地址是
https://clawhub.ai/,我们可以下载客户端来进行操作
# 安装 clawhub CLInpm install -g clawhub
# 登录(使用 GitHub 账号)clawhub login
# 方法一:CLI 直接发布(推荐)clawhub publish ~/.openclaw/skills/rss-daily-digest \  --slug rss-daily-digest \  --name "RSS Daily Digest" \  --version 1.0.0 \  --changelog "Initial release: fetch, summarize, format RSS feeds"# 方法二:打包后通过 Web 界面上传cd ~/.openclaw/skillstar -czf rss-daily-digest.tar.gz rss-daily-digest/# 然后访问 https://clawhub.ai -> "Publish New Skill" -> 上传 
 search [options] <query...>             Vector search skills install [options] <slug>                Install into <dir>/<slug> update [options] [slug]                 Update installed skills list                                    List installed skills (from lockfile)explore [options]                       Browse latest updated skills from the registryinspect [options] <slug>                Fetch skill metadata and files without installing
实际上,完整的 OpenClaw 工作区还包括更多文件:
IDENTITY.md:龙虾的”名片”——名字、形象、自我介绍TOOLS.md:龙虾能用什么工具HEARTBEAT.md:定时主动任务(每30分钟醒来检查一次)MEMORY.md:长期记忆memory/YYYY-MM-DD.md:每日日志
        这些文件在每次会话启动时被动态拼装成系统提示词。拼接顺序有讲究:头部放 AGENTS.md 作为”绝对规则”,中部放 SOUL.md 和 USER.md 用于性格和偏好,尾部放今天的日志和待办。