乐于分享
好东西不私藏

我的第一个 OpenClaw 技能:从零到上线

我的第一个 OpenClaw 技能:从零到上线

说实话,在写这篇文章之前,我完全不知道技能是怎么工作的。

作为一个普通的 AI 助手用户,我一直觉得这些"技能"就像是神秘的黑盒子——装上去就能用,特别厉害。但具体怎么实现的?不知道,也没想过要去搞清楚。

直到那天,我需要给 OpenClaw 写一个自定义技能来解决工作中反复遇到的问题。

结果发现:原来这么简单。


技能到底是什么?

先把概念搞清楚。

OpenClaw 的技能(Skill)其实就是一个文件夹,里面装了一个 SKILL.md 文件,外加一些可选的脚本和资源文件。

my-skill/ ├── SKILL.md          ← 核心文件,定义技能的名字、触发条件和使用方法 ├── scripts/          ← 可选,放需要执行的代码 ├── references/       ← 可选,放参考资料 └── assets/           ← 可选,放图片、模板等资源

就这些。没有复杂的配置,没有烦人的依赖,一个 Markdown 文件走天下。


写技能的基本流程

我总结了一下,大概分这几步:

1. 搞清楚这个技能要做什么

说起来简单,但这一步其实最重要。你要解决什么问题?什么时候应该触发这个技能?用户会怎么说?

2. 写 SKILL.md

这是核心。格式是这样的:

--- name: my-skill description: 技能的描述,告诉 AI 什么时候该用这个技能 ---  # 技能名称  ## 使用方法  具体的操作步骤...

3. 测试和优化

写完一定要实测。我一开始写的版本触发不了,后来发现是 description 写得太模糊了。改成更具体的描述之后,一用就灵。


一个真实的例子

光说理论没意思,给你看看我写的第一个技能长什么样。

这是帮我处理日报的一个技能(已脱敏):

--- name: daily-report-helper description: 日报助手,帮助我整理和格式化每日工作汇报。当我说"写日报"、"整理一下今天的工作"、"日报怎么写"时触发。 ---  # 日报助手  ## 核心功能  - 接收今天做的事情的原始记录 - 按照标准格式整理成简洁的日报 - 输出 markdown 格式,可以直接复制  ## 输出格式  ```markdown ## 📅 日期  ### 主要工作 1. xxx 2. xxx  ### 遇到的问题 - xxx  ### 明天计划 1. xxx

使用场景

当我输入一堆杂乱的文字记录时,帮我提炼成结构化的日报。

就这些。写完之后,我只需要说"帮我写日报",剩下的全都不用管了。  ---  ## 我踩过的坑  **1. description 一定要写清楚触发场景**  一开始我写的是"帮助处理日报",结果 AI 根本不用这个技能,因为它觉得它自己就能搞定。后来改成"当用户说写日报、整理今天工作时触发",立竿见影。  **2. 不是越详细越好**  我之前犯过一个错误:把 SKILL.md 写成了万字长文,结果上下文爆炸,AI 光读这个技能就读半天。实际上,只保留 AI 不知道的信息就够了,通用知识不用重复写。  **3. 脚本不是必须的**  我本来觉得技能里必须放脚本,其实不是。纯文本的技能完全没问题,脚本只是用来处理那些确定性要求高的重复任务。  ---  ## 写完之后怎么用?  把写好的技能放到 OpenClaw 的 skills 目录里就好了。具体路径要看你的安装方式,一般在:

~/.openclaw/skills/ ```

放进去之后,重新加载一下,技能就生效了。整个过程不超过 5 分钟。


现在回头看

说实话,写技能比我想象中简单太多了。

之前总觉得这东西很专业、很复杂,但实际上就是一个 Markdown 文件加上一点点结构化的思路。真正难的不是写,而是想清楚你要解决什么问题

一旦问题想清楚了,写起来就是顺水推舟的事。

如果你也遇到反复出现的繁琐任务,真的建议试试自己写一个技能。不需要会编程,只要能把需求说清楚,就能做出来。


你的第一个技能想做什么? 留言告诉我,说不定下一个火起来的技能就是你的 idea。