关于 create-skill
create-skill 是面向 openclaw-superpowers 贡献者的技能新增指南,涵盖技能的选择、编写、校验与注册,并说明有状态和定时技能的要求。
主要功能
- 01定义技能用途与触发条件
- 02规定命名和目录结构
- 03指导编写 SKILL.md
- 04提供校验清单
- 05说明有状态及 cron 设置
- 06列出 OpenClaw 自动发现要求
适用场景
- 01规划新技能的实现
- 02检查技能是否重复或范围过宽
- 03准备有状态或定时运行的技能
- 04提交前校验技能
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ archieindian/ openclaw-superpowers --skill create-skill安装后在 Claude Code 中输入/create-skill确认已加载。
附带文件TEMPLATE.md
详细介绍
创建技能
这是一个用于在 openclaw-superpowers 中引入新技能的元技能。每当你或贡献者想要添加新技能时,都请遵循此流程。
步骤 1:定义技能
开始编写前,请回答以下问题:
- 此技能的作用是什么?(一句话)
- Agent 应在何时使用它?(触发条件)
- 它属于核心技能还是 OpenClaw 原生技能?
- 核心技能: 通用 Agent 方法(头脑风暴、调试、规划)。适用于任何 Agent 运行时。
- OpenClaw 原生技能: 需要持久化、长时间运行的会话或记忆。专为 OpenClaw 的常驻运行模式设计。
- 现有技能是否已覆盖此功能? 如果是,请扩展现有技能,而不是创建新技能。
- 此技能是否需要在会话或唤醒之间保留状态? 如果需要 →
stateful: true+STATE_SCHEMA.yaml。
步骤 2:选择名称
- 使用 kebab-case:
my-new-skill - 名称应描述操作,而非类别:使用
retry-with-backoff,而不是error-handling-utils - 保持简短——最多 2–4 个词
步骤 3:搭建技能骨架
创建目录和文件:
skills/<core|openclaw-native>/<skill-name>/
├── SKILL.md
└── STATE_SCHEMA.yaml # only if stateful: true
使用 SKILL.md 的 frontmatter 模板(可选字段以注释形式展示):
---
name: <skill-name>
description: <One sentence — what it does and when to use it.>
# cron: "<5-field cron expression>" # optional: if skill runs on a schedule
# stateful: true # optional: if skill persists state
---
完整的内容结构请参见 TEMPLATE.md。
步骤 4:编写内容
遵循以下约定(总结自现有技能):
- 直截了当。 开篇阐述核心原则,不要写前言。(“计划可避免无用功。”而不是“此技能可帮助你编写计划。”)
- 给出明确指示。 逐步明确告诉 Agent 要做什么。避免含糊的指导。
- 简洁。 此仓库中最好的技能都少于 50 行。如果内容更长,请拆分成更小的技能。
- 明确判断标准。 告诉 Agent 何时使用,何时不该使用。
- 使用检查清单执行验证步骤(参见
verification-before-completion)。 - 如果技能适用于跨多个会话的工作,请添加检查点指导。
- 在正文中描述状态保存方式是错误的。 如果技能描述了将进度保存到 Markdown 或记忆文件,请改用
stateful: true+STATE_SCHEMA.yaml。
步骤 5:验证
提交前,请检查:
- Frontmatter 正确——
name与目录名一致,description是一个清晰的句子 - 文件路径正确——
skills/<core|openclaw-native>/<name>/SKILL.md - 与现有技能没有重叠——如果存在重叠,请合并或明确区分
- 遵循模板——包含 When to Use、The Process 和 Key Principles 部分
- 少于 80 行——如果更长,请考虑拆分
- 可执行——每个步骤都告诉 Agent 要做什么,而不是思考什么
- 可测试——查看输出即可判断 Agent 是否正确遵循了技能
- 如果设置了
stateful: true——STATE_SCHEMA.yaml存在,且包含version:和fields:键 - 如果设置了
cron:——表达式符合有效的 5 字段 cron 语法
步骤 6:注册
无需手动注册。OpenClaw 会自动从扩展目录中发现技能。请确保:
- 目录位于
skills/core/或skills/openclaw-native/下 - 文件名恰好为
SKILL.md - 安装符号链接已就位(
install.sh会处理) - 对于有状态技能,
install.sh会自动创建~/.openclaw/skill-state/<skill-name>/ - 对于设置了
cron:的技能,install.sh会在下次运行时将其注册到 OpenClaw 的 cron 中
常见错误
- 过于抽象。“仔细考虑边界情况”不是一个技能步骤。“列出 3 个边界情况,并为每个情况编写一个测试”才是。
- **范围过广。**如果一个技能涵盖多个不同的工作流,就将其拆分。
- **缺少触发条件。**没有明确的“何时使用”标准,Agent 就不知道何时调用它。
- **重复现有技能。**创建类似内容前,请检查
brainstorming、writing-plans、systematic-debugging和verification-before-completion。 - **用散文描述状态。**如果你的技能描述了将进度保存到 Markdown 或记忆文件中,请改用
stateful: true和STATE_SCHEMA.yaml——这种方式结构化、机器可读且可恢复。
评论
支持 Markdown