教程 03 — 自定义技能:给你的 AI 加一招
目标:写一个自定义 Skill,让 AI 在特定场景下自动套用你预设的行为。
什么是 Skill?
Skill 是一段 Markdown 文件(SKILL.md),它在你调用斜杠命令时被注入到 AI 的上下文,告诉 AI"现在要做什么、怎么做"。
/代码审查 → 注入 SKILL.md → AI 按预设规则审查代码
Skills 存放在:
~/.openclaw/workspace/skills/<技能名>/SKILL.md
第一步:创建技能目录
mkdir -p ~/.openclaw/workspace/skills/代码审查第二步:写 SKILL.md
新建 ~/.openclaw/workspace/skills/代码审查/SKILL.md:
# 代码审查专家
你现在是一位资深代码审查专家。用户会粘贴代码,你需要:
## 审查维度
1. **正确性** — 逻辑是否有 bug,边界条件是否处理
2. **安全性** — 是否有 SQL 注入、XSS、不安全的反序列化等风险
3. **性能** — 是否有明显的性能瓶颈或不必要的复杂度
4. **可读性** — 命名是否清晰,注释是否到位
5. **最佳实践** — 是否符合该语言/框架的惯用写法
## 输出格式
用 Markdown 表格列出问题:
| 行号 | 严重程度 | 问题描述 | 建议修改 |
|------|----------|----------|----------|
| ... | 🔴高/🟡中/🟢低 | ... | ... |
最后给一个总体评分(1-10)和一句总结。
## 语气
专业但友好,指出问题时同时给出修改示例。第三步:使用技能
在 WebChat 或 Telegram 中输入:
/代码审查
def login(username, password):
query = f"SELECT * FROM users WHERE name='{username}' AND pwd='{password}'"
return db.execute(query)
AI 会自动套用审查专家的角色,输出结构化的审查报告。
更多 Skill 示例
每日简报(/简报)
# 每日简报助手
将用户提供的信息整理成简洁的每日简报,格式如下:
## 📅 [日期]
### 重点事项
- ...
### 待办事项
- [ ] ...
### 备注
...
语言简洁,要点优先,不超过 300 字。翻译润色(/润色)
# 专业翻译润色
你是一位中英双语写作专家。用户会提供中文或英文文本,你需要:
1. 识别语言
2. 翻译成另一种语言
3. 对翻译进行润色,使其更自然、地道
4. 给出原文、直译、润色版三个版本对比
保持专业术语准确,避免机器翻译腔。图表生成(/画图)
# Mermaid 图表生成器
将用户的文字描述转换为 Mermaid 图表代码。
支持类型:
- flowchart(流程图)
- sequenceDiagram(时序图)
- classDiagram(类图)
- gantt(甘特图)
输出格式:
\```mermaid
...图表代码...
\```
然后用文字解释图表结构。Skill 目录结构
~/.openclaw/workspace/skills/
├── 代码审查/
│ └── SKILL.md
├── 简报/
│ └── SKILL.md
├── 润色/
│ └── SKILL.md
└── 画图/
└── SKILL.md
查看已安装的 Skills
pnpm openclaw skills list进阶:Skills 里调用工具
在 SKILL.md 里可以指示 AI 使用特定工具:
# 网页摘要
用户提供 URL,你需要:
1. 使用 browser_navigate 打开页面
2. 使用 browser_snapshot 获取内容
3. 提炼核心观点,输出 3-5 条要点摘要常见问题
/技能名 命令不生效怎么排查?
首先运行 pnpm openclaw skills list 确认技能已被识别。常见原因:① 目录名和斜杠命令不一致(大小写敏感);② SKILL.md 文件名大小写错误;③ 技能目录层级不对,必须是 ~/.openclaw/workspace/skills/<技能名>/SKILL.md。修改后无需重启网关,直接重新发送命令即可。
Skill 可以调用哪些内置工具?
SKILL.md 中可以指示 AI 使用任何 OpenClaw 内置工具,包括:浏览器工具(browser_navigate、browser_snapshot、browser_action)、文件读写工具、以及通过配置启用的其他工具。在 SKILL.md 中自然语言描述你想要的行为,AI 会自动选择合适的工具。
SKILL.md 有字数或格式要求吗?
没有硬性限制,但建议控制在 500 字以内。过长的 SKILL.md 会占用更多上下文 token,增加费用并可能降低 AI 的指令遵循准确性。格式上推荐使用清晰的 Markdown 层级(# 主标题、## 章节),让 AI 更容易理解结构。
修改 Skill 后需要重启网关吗?
不需要。OpenClaw 每次调用斜杠命令时都会重新读取 SKILL.md 文件,修改后直接使用即可。但如果你修改的是 openclaw.json 中的配置,则需要重启网关。
能否让多个技能组合使用?
可以。在一条消息中先调用 /技能A,AI 会持续保持该技能的行为,直到你发 /new 开启新会话。也可以在一个 SKILL.md 中集成多种能力,写成"万能助手"型技能。