最近一直在玩OpenClaw,被它的Skill功能圈粉了——简单说,Skill就是给AI智能体装“工具包”,让原本只会聊天的AI,能帮你做联网搜索、文件操作、终端命令这些实际活儿。

之前跟着官方文档摸索,踩了几个小坑,后来发现开发一个自定义Skill其实超简单,不用复杂配置,哪怕是零代码基础(我就是),10分钟也能做出第一个属于自己的Skill。今天就把这份新手友好型教程分享给大家,全程实操,跟着走就能成!

先给大家避个坑:很多人以为开发Skill要写复杂代码,其实不然——一个最基础的Skill,只需要2个文件,核心是“告诉AI怎么用”,脚本部分甚至可以用最简单的代码(我会给现成模板,直接复制粘贴)。

一、先搞懂核心:OpenClaw Skill到底是什么?

用一句大白话解释:OpenClaw是一部手机,Skill就是手机里的App——内置的web-search、filesystem是系统自带App,而我们自定义的Skill,就是自己安装的专属App,想让AI帮你做什么,就开发对应的“App”。

比如我今天要做的“hello-skill”,功能很简单:AI调用它,输入名字就能返回专属问候语,虽然简单,但能帮大家吃透Skill开发的核心逻辑,后续想扩展成查天气、发邮件、操作文件,都是换汤不换药。

二、准备工作:无需复杂环境,有电脑就够

不用装额外的开发工具,不用配置复杂的环境,只要你的电脑上已经安装了OpenClaw,并且有基础的文本编辑器(记事本、VS Code都可以),就能开始。

核心准备:记住一个目录规则——OpenClaw会自动加载“skills”文件夹里的所有Skill,所以后续我们做好的Skill,只要放进指定文件夹,重启就能用。

三、实操步骤:从零开发第一个Skill(hello-skill)

全程分6步,每一步都有现成代码,复制粘贴就能搞定,建议边看边操作,印象更深刻。

步骤1:创建Skill目录(固定结构)

先在你的OpenClaw项目目录里,新建一个文件夹,命名为“hello-skill”(技能名可以自定义,但建议英文,避免乱码),然后在这个文件夹里,再新建2个内容:

1. 一个名为“SKILL.md”的文件(必须,相当于技能说明书,AI全靠它识别技能);

2. 一个名为“scripts”的文件夹(可选,但我们要写简单脚本,所以新建),在scripts里再新建一个“hello.py”文件。

最终目录结构如下(复制即可):

hello-skill/
├─ SKILL.md
└─ scripts/
   └─ hello.py

步骤2:编写SKILL.md(最关键,AI的“使用说明书”)

这一步是核心,不用自己写,直接复制下面的内容,粘贴到SKILL.md里,其中“author”可以改成你自己的名字,其他内容不用动,我会在后面解释关键字段,帮你理解。

---
name: hello-skill
description: 打招呼技能,输入用户名字,返回专属问候语
version: 1.0.0
author: 你的名字
type: script
scope: local
command: python3 scripts/hello.py
args:
  - name: username
    description: 用户的名字
    required: true
---

# 技能使用说明
当用户提出“打招呼”“问候”相关需求,或者需要根据名字发送问候时,调用本技能。
调用方式:必须传入username参数(用户名字),无需其他额外操作,执行后即可返回问候语。

关键字段解释(新手必看,避免后续踩坑):

  • name:技能的名字,调用时会用到(比如“使用hello-skill”),不能有空格;

  • description:告诉AI什么时候用这个技能,写得越具体,AI越容易自动调用;

  • command:执行技能的命令,我们用Python脚本,所以写“python3 scripts/hello.py”(确保你的电脑能运行Python);

  • args:需要传入的参数,这里我们需要用户名字,所以定义了“username”,并且设置为“required: true”(必须传入,否则调用失败)。

步骤3:编写脚本hello.py(简单到离谱,复制就好)

脚本的作用是“真正干活”——接收我们传入的名字,然后输出问候语。同样不用自己写,复制下面的代码,粘贴到scripts/hello.py里即可:

import sys

# 接收传入的username参数(从SKILL.md里传来)
username = sys.argv[1]

# 输出问候语,AI会自动读取这个输出,返回给用户
print(f"Hello, {username}! 这是你开发的第一个OpenClaw Skill,成功啦🎉")

解释一下:sys.argv[1]就是接收我们传入的“username”参数,后面的print就是输出结果,逻辑超级简单,哪怕不懂Python,也能看懂。

步骤4:放入指定目录,让OpenClaw识别

这一步很关键,放错目录,OpenClaw会找不到你的Skill。有两种方式,推荐新手用第一种(当前项目专用,不会乱):

方式1(推荐):把整个“hello-skill”文件夹,放到你的OpenClaw项目目录下的“skills”文件夹里(如果没有skills文件夹,新建一个即可),最终结构:

你的OpenClaw项目/
└─ skills/
   └─ hello-skill/  # 我们做好的技能

方式2(全局共用):把“hello-skill”文件夹放到“~/.openclaw/skills/”目录下,这样所有OpenClaw项目都能使用这个Skill。

步骤5:重启OpenClaw,加载Skill

放好目录后,重启你的OpenClaw会话(关闭再重新打开即可),然后输入指令:“列出所有技能”,如果看到“hello-skill”出现在列表里,说明加载成功啦!✅

步骤6:测试你的Skill,见证成果

加载成功后,有两种调用方式,都可以试试,感受一下自己开发的Skill:

方式1:自然对话(AI自动调用)

输入:“我叫小明,跟我打个招呼”,AI会自动识别需求,调用hello-skill,返回:“Hello, 小明! 这是你开发的第一个OpenClaw Skill,成功啦🎉”

方式2:强制调用(精准触发)

输入:“使用hello-skill,username=小红”,会直接返回:“Hello, 小红! 这是你开发的第一个OpenClaw Skill,成功啦🎉”

到这里,你的第一个自定义Skill就开发完成了!是不是超级简单?我第一次成功的时候,激动得截图保存了,毕竟零代码基础也能搞定,成就感拉满~

四、新手避坑指南(我踩过的坑,你别再踩)

1. Skill加载失败?大概率是目录放错了,一定要放到“skills”文件夹里,重启OpenClaw再试;

2. 调用失败?检查SKILL.md里的“command”路径是否正确,比如Python路径不对,或者脚本文件名写错了;

3. AI不自动调用?把SKILL.md里的“description”写得更具体,比如加上“用户需要问候、打招呼、喊名字问好时,使用本技能”;

4. 参数报错?确保调用时传入了“required: true”的参数,比如hello-skill必须传入username,不能空着。

五、进阶扩展:从hello-skill到实用Skill

学会了hello-skill,后续想开发更实用的Skill,只需要改两个地方:

1. 改SKILL.md:修改name、description、args(根据需求调整参数)、command(对应新的脚本);

2. 改脚本:把hello.py换成你需要的功能,比如:

  • 查天气:调用天气API,传入城市参数,返回天气信息;

  • 文件操作:新建、删除文件,读取文件内容;

  • 终端命令:执行系统命令,返回结果。

核心逻辑不变,都是“SKILL.md告诉AI怎么用,脚本负责干活”,新手可以从简单的功能开始,慢慢尝试,越练越熟练。

六、最后总结

其实OpenClaw Skill开发,真的没有想象中那么难,总结下来就是4句话:

1. 一个Skill = SKILL.md(说明书) + 脚本(干活的工具);

2. SKILL.md写清楚“技能名、什么时候用、怎么传参数”;

3. 脚本写简单的逻辑,接收参数、输出结果;

4. 放进skills目录,重启OpenClaw,就能用。

Logo

一站式 AI 云服务平台

更多推荐