当前位置:首页>文章>使用指南>OpenClaw Skill 自制指南:零代码,10分钟拥有专属AI技能

OpenClaw Skill 自制指南:零代码,10分钟拥有专属AI技能

文本是《AI咨询(共111篇)》专题的第 111 篇。阅读本文前,建议先阅读前面的文章:

前言

ClawHub 上没有你想要的功能?自己写一个。

不需要会写代码,不需要懂 API,会写 Markdown 就够了。

这篇文章从头到尾走一遍:Skill 是什么、怎么写、怎么调试、写好了怎么发布。我自己在用的 trend-scout Skill 就是这么做出来的,全程拿它当真实例子。

OpenClaw Skill 自制指南:零代码,10分钟拥有专属AI技能


一、Skill 是什么?不是插件,是「说明书」

很多人第一反应觉得 Skill 是浏览器插件那种东西——安装完有个程序在后台跑。

实际上不是。

Skill 更像是给 AI 的一份操作说明书。你在 SKILL.md 里写清楚三件事:

  • 什么时候用这个技能
  • 用的时候按什么步骤走
  • 最终输出什么格式

OpenClaw 的 AI 读到这份说明,遇到对应情况就知道该怎么处理了。

举个具体例子。

我给博客做了一个 trend-scout Skill,作用是定期扫描 V2EX、Hacker News、GitHub Trending、少数派、小众软件,找出适合写成文章的热门话题。

每次触发时,AI 读 SKILL.md 里的流程,拉各个平台的数据,过滤掉不相关的内容,最后整理成选题建议发给我。

这个 Skill 没有「安装后台服务」这回事。它就是一个文件夹,里面有说明文档和几个辅助脚本。OpenClaw 启动时自动扫描 skills 目录,把找到的 Skill 注册进来,AI 就知道有这个能力了。


二、文件结构:最小只需要一个文件

最简单的 Skill 长这样:

~/.openclaw/workspace/skills/
└── my-skill/
    └── SKILL.md        ← 这一个文件就够了

复杂一点,带脚本和参考资料:

~/.openclaw/workspace/skills/
└── trend-scout/
    ├── SKILL.md              ← 核心:技能说明和工作流程
    ├── scripts/
    │   └── scan-trends.sh    ← 辅助脚本(可选)
    └── references/
        └── sources.md        ← 参考资料(可选)

放在哪里? 默认位置是 ~/.openclaw/workspace/skills/。OpenClaw 启动时自动扫描这个目录下的所有子文件夹,找到 SKILL.md 就注册。放进去就生效,不需要手动配置。


三、SKILL.md 怎么写:三个部分

一个标准的 SKILL.md 分三个部分:frontmatter、触发条件、工作流程

第一部分:frontmatter(必须有)

---
name: trend-scout
description: >
  扫描 V2EX、Hacker News、GitHub Trending、少数派、小众软件,
  发现适合博客的选题方向。
  Use when: 用户要找新选题,或每 2 天定期触发。
  NOT for: 分析已有流量数据(那个用 GSC/Bing 工具直接查)。
---

frontmatter 里最关键的是 description。OpenClaw 在决定「要不要用这个 Skill」时,主要靠这段描述判断。

写清楚两件事:适合什么场景,以及不适合什么场景。后者经常被忽略,但很重要——AI 不知道边界的话,会在不该用的时候乱用。

第二部分:触发条件

## When to Run

- 每 2 天通过 heartbeat 或 cron 触发
- 用户主动问「有什么可以写的选题」
- 现有关键词数据感觉重复、没新意的时候

用自然语言写就行,目的是让 AI 知道这个 Skill 的使用时机。

第三部分:工作流程(核心)

## Workflow

1. 读 `references/sources.md` 了解信息源列表
2. 跑 `scripts/scan-trends.sh` 拉取各平台数据
3. 对于被 Cloudflare 拦截的来源(Linux.do、Reddit),用 web_search 代替:
   - `web_search "site:linux.do 热门"`
4. 对照博客受众过滤(见下方 Filtering 部分)
5. 输出排名选题列表

## Filtering Criteria

匹配条件:
- 受众:国内技术用户,关注 VPS/服务器、AI 工具、白嫖资源、支付工具
- 排除:企业 SaaS、纯代码教程、没有实操价值的新闻
- 优先:有免费版的工具、可自托管项目、需要中文教程的内容

工作流程写得越具体,AI 执行得越准。 「拉数据、过滤、输出」这种三步骤太模糊,不如直接写跑哪个脚本、用什么 API、遇到什么情况用什么 fallback。


四、从零开始做一个最简单的 Skill

光看 trend-scout 这种复杂的可能有点晕,我再做一个最小版本演示。

需求: 每天早上自动生成一份简报,包含上海天气和 V2EX 热帖,推送到 Telegram。

第一步,建文件夹:

mkdir -p ~/.openclaw/workspace/skills/daily-brief
touch ~/.openclaw/workspace/skills/daily-brief/SKILL.md

第二步,写 SKILL.md:

---
name: daily-brief
description: >
  每天早上生成简报:上海天气 + V2EX 热帖前 5 条。
  Use when: 用户说"生成今日简报",或 cron 在早上 8 点触发。
  NOT for: 详细天气预报或深度新闻分析。
---

# Daily Brief

## When to Run

- 每天 8:00 AM 通过 cron 触发
- 用户主动说「给我今天的简报」「今天有什么热点」

## Workflow

1. 拉取上海天气:
   `curl "https://wttr.in/Shanghai?format=3"`
2. 拉取 V2EX 热帖前 5 条:
   `curl https://www.v2ex.com/api/topics/hot.json`
   取 title 和 node.title 字段
3. 整合输出以下格式,推送 Telegram

## Output Format

📅 {今天日期}
🌤 天气:{wttr.in 返回结果}

🔥 V2EX 今日热帖:
1. {标题}({节点})
2. ...(共 5 条)

第三步,重启 gateway 让 Skill 生效:

openclaw gateway restart

然后在 Telegram 里对 OpenClaw 说「给我今天的简报」,它就会按 Workflow 里的步骤跑,拉天气、拉热帖、整合成格式推给你。

整个流程大概 10 分钟,没写一行逻辑代码。

如果想让它每天自动跑,加一条 cron:

openclaw cron add \
  --name "早间简报" \
  --cron "0 8 * * *" \
  --tz "Asia/Shanghai" \
  --session main \
  --message "生成今日简报并推送"

五、带脚本的 Skill:当纯文字说明不够用

纯文字说明有时候不够用。比如「批量拉 8 个平台的 API」,每次让 AI 手写 curl 太慢,结果格式也不统一。

这时候写一个辅助脚本,让 AI 直接调用就干净多了。

我的 scan-trends.sh 干一件事:依次请求各平台,把结果存成 JSON 文件放到 /tmp/trend-scout/,再让 AI 读 JSON 来分析。

关键片段:

#!/bin/bash
OUTPUT_DIR="${1:-/tmp/trend-scout}"
mkdir -p "$OUTPUT_DIR"

# V2EX 热门话题(有公开 API,不需要认证)
curl -s "https://www.v2ex.com/api/topics/hot.json" | python3 -c "
import json, sys
data = json.load(sys.stdin)
results = []
for t in data[:10]:
    results.append({
        'title': t.get('title', ''),
        'node': t.get('node', {}).get('title', ''),
        'replies': t.get('replies', 0)
    })
print(json.dumps(results, ensure_ascii=False, indent=2))
" > "$OUTPUT_DIR/v2ex.json"

# Hacker News(Firebase 实时数据库,稳定好用)
curl -s "https://hacker-news.firebaseio.com/v0/topstories.json" | python3 -c "
import json, sys, urllib.request
ids = json.load(sys.stdin)[:10]
results = []
for id in ids:
    resp = urllib.request.urlopen(f'https://hacker-news.firebaseio.com/v0/item/{id}.json')
    item = json.loads(resp.read())
    if item and item.get('type') == 'story':
        results.append({'title': item.get('title', ''), 'score': item.get('score', 0)})
print(json.dumps(results, ensure_ascii=False, indent=2))
" > "$OUTPUT_DIR/hn.json"

脚本放在 scripts/ 子目录,在 SKILL.md 的 Workflow 里直接引用路径:

2. 跑 `scripts/scan-trends.sh` 拉取数据

AI 看到这行,会用 exec 工具直接跑这个脚本,不需要你再解释参数。

⚠️ 踩坑提醒: 脚本里如果用了 python3,要先确认服务器上装了。写完之后先手动跑一遍,确认输出正常,再写进 Skill。我当时 GitHub Trending 那段 HTML 解析代码跑不起来,排查了半天才发现是正则表达式写错了。


六、Skill 没触发?排查四个常见原因

写完发现 AI 不用这个 Skill,或者用错了,检查这四个地方:

① description 写得太模糊

AI 判断要不要用 Skill,靠的是 frontmatter 里的 description。如果写「处理各种任务」这种宽泛的话,AI 不知道该不该用,通常选择不用。

改成「当用户说 XX 时使用,不适用于 XX」这种明确格式。

② 文件夹结构不对

SKILL.md 必须直接放在 skills 子目录下,不能再嵌套一层。

  • ✅ 正确:skills/my-skill/SKILL.md
  • ❌ 错误:skills/my-skill/src/SKILL.md

③ 改完没重启

OpenClaw 在启动时扫描 skills 目录,改完 SKILL.md 需要重启 gateway:

openclaw gateway restart

④ 脚本没有执行权限

如果 Skill 带了 shell 脚本,要给执行权限:

chmod +x ~/.openclaw/workspace/skills/my-skill/scripts/*.sh

调试技巧: 直接在 OpenClaw 对话里说「用 daily-brief Skill 生成简报」,强制指定 Skill,看执行过程哪步出了问题。


七、发布到 ClawHub:让别人也能用

Skill 写好了,如果觉得对别人也有用,可以发布到 ClawHub。

第一步,装 CLI:

npm install -g clawhub

第二步,在 Skill 文件夹里初始化:

cd ~/.openclaw/workspace/skills/daily-brief
clawhub init

它会问几个问题:Skill 名称、简介、版本号、分类。填完会生成一个 clawhub.json

第三步,登录并发布:

clawhub login    # 用 GitHub 账号授权
clawhub publish  # 发布

发布成功后,别人就可以用 npx clawhub install daily-brief 安装你的 Skill 了。

ClawHub 会做安全扫描(VirusTotal + OpenClaw 双重检测),通过后显示绿色安全标记。

⚠️ 发布前检查: SKILL.md 里有没有硬编码的个人信息——API Key、服务器 IP、个人路径——这些要替换成占位符或从环境变量读取。


八、几个实用写法技巧

踩坑之后总结的经验,直接拿去用:

① 流程步骤写命令,不写意图

「搜索相关资料」不如「用 web_search 搜索 '{关键词} site:github.com'」。前者 AI 会自由发挥,后者会按你说的做。

② 一定要加 NOT for

在 description 里写清楚这个 Skill 不适合什么场景,防止 AI 误触发。我的 trend-scout 里写了「NOT for: 分析已有流量数据」,就是因为最开始 AI 总是在我问流量数据的时候也跑这个 Skill。

③ Output Format 单独写一节

如果要求固定格式输出(比如推送 Telegram),把格式模板明确写出来,连 emoji 都可以指定,AI 会按格式来。

④ 辅助文件放 references/

不要把大段参考内容(比如 100 行的信息源列表)直接堆在 SKILL.md 里,放到 references/ 子目录,在 Workflow 里引用路径。这样 SKILL.md 保持简洁,AI 读起来也快。


小结

步骤 要做什么
建文件夹 skills/your-skill/SKILL.md
写 frontmatter name + description(含 Use when 和 NOT for)
写触发条件 什么情况下用这个 Skill
写工作流程 具体命令,不要模糊意图
重启生效 openclaw gateway restart
发布分享 clawhub publish

自己写 Skill 门槛很低,主要是把流程想清楚、写清楚,剩下的交给 AI 执行。

想了解更多细节、获取专属支持,可访问一步API官网:https://yibuapi.com 或添加客服微信:xuexiv5876 \ YibuDev,随时咨询交流~

使用指南

OpenClaw Skills 热门技能排行榜 Top 10|搭配一步API,AI开发效率直接拉满!

2026-3-13 9:34:44

使用指南

小龙虾接入QQ!官方直连超简单,无云主机无公网IP

2026-3-9 8:44:59

搜索