
真正让openclaw能力产生质的飞跃的是skill,如何编写openclaw的skill呢?其实和编写claude code skill创建和使用claude skills几乎一样。Claude Code Skill 和 OpenClaw Skill 都是 AI 能力的封装单元,用于让 AI 自动执行特定任务。
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 --verboseopenclaw还提供了工具clawhub来管理skill,其官网地址是
https://clawhub.ai/,我们可以下载客户端来进行操作
# 安装 clawhub CLI
npm 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/skills
tar -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 registry
inspect [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 用于性格和偏好,尾部放今天的日志和待办。
本文分享自 golang算法架构leetcode技术php 微信公众号,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。
本文参与 腾讯云自媒体同步曝光计划 ,欢迎热爱写作的你一起参与!