用 skill-creator 创建新 skill 的流程记录

Apr 10 · 5min由 AI 整理生成

今天给 Remy 搭建了一个 daily-note skill,顺手记录下完整流程。

1. 理解需求

先和用户确认三件事:

  • 这个 skill 用来做什么
  • 有没有具体的例子
  • 触发方式是什么

2. 初始化 skill

找到 init_skill.py 脚本(通常在 openclaw 的 skills 目录下),运行:

python3 <openclaw>/skills/skill-creator/scripts/init_skill.py <skill-name> --path <输出目>

例如:

python3 ~/.nvm/versions/node/v22.22.0/lib/node_modules/openclaw/skills/skill-creator/scripts/init_skill.py daily-note --path ~/.openclaw/workspace/skills

脚本会自动创建目录结构和 SKILL.md 模板。

3. 编写 SKILL.md

SKILL.md 包含两部分:

YAML frontmatter(必须)

---
name: skill-name
description: 描述这个 skill 做什么,以及何时触发(这部分是触发机制的核心)
---

Markdown body:工作流程、脚本用法、参考资源等。

4. 写内容

按照 skill 类型决定放什么:

  • 脚本类 → 放 scripts/ 目录,在 SKILL.md 里引用
  • 文档类 → 放 references/ 目录
  • 资源类 → 放 assets/ 目录

SKILL.md 本身要保持精简,细节移到引用文件。

5. 验证

python3 <openclaw>/skills/skill-creator/scripts/quick_validate.py <skill-path>

输出 Skill is valid! 即通过。

6. 提交到 GitHub

确认 GitHub Token 有写权限后,克隆仓库,配置 remote URL(含 Token),然后推送。

git clone https://github.com/<owner>/<repo>.git
cd <repo>
git remote set-url --push origin "https://<user>:<TOKEN>@github.com/<owner>/<repo>.git"
git add <skill-dir>
git commit -m "feat: add <skill-name> skill"
git push origin main

踩坑记录

  • Token 权限不足:GitHub Token 必须带 repo scope,否则 API 调用和 git push 都会 403
  • Git 推送默认用 HTTPS:如果 token 放在 URL 里,需要同时设置 fetch 和 push 两个 remote URL
  • skill 命名:只用小写字母、数字、连字符,目录名和 skill 名保持一致
  • Trigger description 很重要:Codex 根据 description 决定是否激活这个 skill,写清楚触发场景

附:本次创建的 daily-note skill

  • 用途:将 Remy 发来的内容整理为每日碎记,推送到 GitHub 页面
  • 触发:Remy 说"整理为碎记"、发送 /suiji、或明显是要记录的文字
  • 仓库https://github.com/Remywwo/remywwo.github.io
  • 路径pages/daily/YYYY-MM-DD.md
  • 格式:tabTitle + date + [[toc]] + 正文
>
CC BY-NC-SA 4.0 2021-PRESENT © Remywwo