之前搞懂了OpenClaw怎么工作、怎么加载Skill。
在 OpenClaw 中,Skill 就是 AI 智能体(Agent)的 App,它们可以赋予智能体特定能力的扩展。通过安装不同的 Skill,OpenClaw 可以突破大语言模型单纯「聊天和生成文本」的限制,获得执行具体任务的权限和路径。总的来说,Skill让OpenClaw从“能听懂”升级为“能做事”。
然后,“写Skill”似乎是件很高级的事。
作用
扩展能力边界:通过安装不同Skill,OpenClaw可以突破大语言模型仅生成文本的限制,获得执行具体任务(如操作Excel、发送邮件、调用API)的权限。
构建应用生态:OpenClaw就像操作系统,Skill就像应用,用户可根据工作流的需要灵活组合。
促进生态发展:Skill的开放与共享(如clawHub)推动了OpenClaw生态的发展。
实际上,Skill就是一个Markdown文件——SKILL.md,里面写清楚“什么情况下用”和“具体怎么做”。OpenClaw读到它,就能照着执行。
结构
一个 Skill 其实就是一个文件夹,核心只需要一个文件SKILL.md:
my-skill ├── SKILL.md # 必须有:核心指令文件,也是唯一必须有的 ├── scripts/ # 可选:放脚本代码,比如数据校验、格式转换 │ └── analyze.py ├── references/ # 可选:放参考文档,比如品牌手册、行业规范 │ └── style-guide.md └── assets / # 可选:放模板和素材,比如报告模板、logo
最简单的Skill只需要一个SKILL.md就能跑,其他几个文件夹按需添加。
SKILL.md 才是真正的「代码」。OpenClaw 读这个文件来理解 Skill 该干什么,说白了就是一份结构化的 prompt。
放在~/.openclaw/skills/你的Skill名/目录下。
结构很简单,由3部分组成:
这个Skill的基本信息,开始和结束各有一个—。
— name: my-skill description: 描述 - 写清做什么 version: 1.0.0 author: 你的名字 tags: [web, review] triggers:
- “触发词”
- “代码审查”
- “帮我看看这段代码” tools:
- bash
- read
- write —
name:Skill唯一标识,建议小写+连字符description:一句话描述,这会被加载到Skill索引里(第1层)- triggers:触发词
version:版本号,方便更新author/tags:可选,方便分享
用自然语言写清楚:什么场景下调用、怎么用。
比如:
适用场景 当用户提供微信公众号文章链接,并要求总结、提取关键信息或全文时,使用此Skill。使用方法
- 首先通过
openclaw browser list检查是否有已连接的浏览器实例 - 如果没有,提示用户启动Chrome并打开调试端口:
/Applications/Google Chrome.app/Contents/MacOS/Google Chrome --remote-debugging-port=9222 - 使用
openclaw browser navigate打开文章链接,等待页面完全加载(约3秒) - 执行
openclaw browser snapshot获取页面HTML结构 - 从HTML中提取
.rich_media_content内的正文内容,以及#activity-name中的标题 - 将正文和标题返回给用户
关键是步骤要清晰、命令要准确。AI会逐条执行,所以每一步都要是可执行的。
注意事项
- 需要用户预先在浏览器中登录微信网页版,否则可能无法访问文章
- 如果浏览器未开启调试端口,Skill会自动给出启动命令
- 文章正文可能包含大量HTML标签,返回前建议做简单清洗
这部分不是必须,但能帮AI避免常见坑。
mkdir -p ~/.openclaw/skills/my-skill-test cd ~/.openclaw/skills/my-skill-test touch SKILL.md— name: wechat-article-viewer description: 读取微信公众号文章正文,通过浏览器渲染绕过反爬,支持提取标题、作者和正文内容version: 1.0.0 author: 你的名字 tags: [wechat, scraping, browser] —
适用场景
- 用户提供 mp.weixin..com 链接
- 要求总结、提取信息、翻译或分析文章内容
前置条件
需要一个已打开调试端口的 Chrome 浏览器,并登录了微信网页版。
如果尚未准备,按以下方式启动:
- Mac:
/Applications/Google Chrome.app/Contents/MacOS/Google Chrome --remote-debugging-port=9222 - Windows:
"C:Program FilesGoogleChromeApplicationchrome.exe" --remote-debugging-port=9222 - Linux:
google-chrome --remote-debugging-port=9222
执行步骤
- 检查浏览器连接
- 运行
openclaw browser list
- 如果返回空,提示用户启动带调试端口的浏览器,并重试
- 打开文章链接
- 使用
openclaw browser navigate --url {用户提供的链接}
- 等待 3 秒让页面完全渲染
- 获取页面内容
- 执行
openclaw browser snapshot
- 返回的是页面的 DOM 结构
- 提取关键信息
- 标题:选择器
#activity-name的文本
- 作者:选择器
#js_name的文本(可选)
- 正文:选择器
.rich_media_content的 HTML 内容
- 将正文中的
、等标签转换为纯文本,保留段落结构
- 返回结果
- 格式: 标题:{title} 作者:{author} 正文:{content}
错误处理
- 如果浏览器未连接 → 给出启动命令并终止
- 如果页面加载超时 → 提示用户网络问题,建议重试
- 如果选择器找不到内容 → 返回原始 snapshot 的前500字符,供用户判断
示例
用户输入:帮我总结这篇文章:https://mp.weixin..com/s/xxxxSkill执行后返回文章标题和正文摘要。
决策逻辑
当用户提供URL时:- 如果URL包含 mp.weixin..com → 调用此Skill- 否则 → 使用内置的 web_fetch 工具
保存文件后,不需要重启OpenClaw。由于OpenClaw有文件监听机制,Skill会自动生效。
在Web控制台输入指令:帮我抓取这篇文章:网址
观察AI的反应,正常情况下:检查浏览器连接情况→在浏览器打开链接→抓取内容→返回结果
看日志:tail -f ~/.openclaw/logs/skill.log
手动执行命令:先在终端里跑openclaw browser list,确认浏览器可连接
简化步骤:把Skill里写的一大段先删掉,只留第一步,看AI能不能识别
如果你想让用户自定义参数,可以在 SKILL.md 里加配置声明:
— name: smart-test config: severity_threshold:
type: string default: "warning" description: "级别: info, warning, error"
max_issues:
type: number default: 20 description: "最多检索的问题数"
—
通过 openclaw.json 自定义:
{ “skills”: {
"smart-reviewer": { "enabled": true, "config": { "severity_threshold": "error", "max_issues": 10 } }
} }
更高级的玩法是:在Skill里调用其他Skill。比如读完微信文章后,自动调用“总结Skill”生成摘要。这就实现了Skill组合,形成工作流。
恶意 Skill问题
近期在 ClawHub 上发现了 800 多个恶意 Skill,有的会窃取 .env 里的 API key,有的会在你不知道的情况下往外部发请求。
- 装别人的 Skill 前一定要看源码,特别是 scripts 目录
- 检查 tools 声明——如果一个「翻译 Skill」要求 bash 和 network 权限,那就很可疑
- 优先用有 ✅ 标记的官方审核 Skill
总之
自己写 OpenClaw Skill 远没有想象中那么难,核心就是一个 SKILL.md 文件 + 可选的脚本。
与其在 ClawHub 上大海捞针找别人的 Skill,不如花 30 分钟针对自己的需求写一个。毕竟最懂你工作流的人是你自己。
Skill的价值不是“写起来多简单”,而是一次编写,无限复用。发布到clawhub,从skills的使用者变成贡献者
bash 体验AI代码助手 代码解读复制代码# 1. fork ClawHub 仓库 git clone https://github.com/openclaw/clawhub.git cd clawhub
2. 把你的 Skill 放进去
cp -r ~/my-smart-reviewer skills/smart-skill
3. 提 PR
git checkout -b add-smart-test git add . git commit -m “feat: add my-skill” git push origin add-smart-skill
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/283573.html