Skip to content

小龙虾 OpenClaw 自定义技能开发教程:0 到 1 创建你的第一个 Skill(2026 版)

2026年4月8日

OpenClaw 自定义 Skill 从 0 到 1 开发教程:手把手教你创建第一个技能

官方技能不够用?社区技能不精准?自己写一个 Skill,让 AI 完全按你的逻辑干活。

Skill 是什么?

Skill(技能)是 OpenClaw 的功能扩展模块,教 Agent 如何使用特定工具、执行固定流程、遵循特定规范。

核心特点:

特点说明
Markdown 格式无需编程,写文档就能定义技能
独立目录每个技能一个文件夹,便于管理
触发词驱动用户说特定关键词时自动激活
权限隔离技能可申请特定权限,安全可控

Skill 目录结构

基本结构

skills/
└── my-first-skill/           # 技能目录名 = 技能唯一标识
    ├── SKILL.md              # 技能定义文件(必须)
    ├── README.md             # 说明文档(可选)
    └── assets/               # 资源文件(可选)
        └── example.png

SKILL.md 基本格式

markdown
---
name: 我的第一个技能
description: 这是一个示例技能
triggers:
  - 当用户说"帮我XXX"时
  - 当用户提到"XXX"时
---

# 我的第一个技能

## 功能说明
告诉 Agent 这个技能能做什么。

## 使用场景
- 场景一:...
- 场景二:...

## 执行步骤
1. 第一步:...
2. 第二步:...
3. 第三步:...

Frontmatter 配置详解

完整参数列表

yaml
---
# 基本信息
name: 技能名称                    # 必填,显示名称
description: 技能描述              # 必填,功能说明
version: 1.0.0                   # 可选,版本号
author: your-name                # 可选,作者

# 触发条件
triggers:                        # 必填,触发词列表
  - 当用户说"帮我XXX"时
  - 当用户提到"XXX"关键词时

# 权限申请
permissions:                     # 可选,需要的权限
  - file_read
  - file_write
  - network

# 依赖技能
dependencies:                    # 可选,依赖的其他技能
  - web-search
  - file-operations

# 执行配置
execution:                       # 可选,执行参数
  timeout: 60000                 # 超时时间(毫秒)
  retry: 2                       # 重试次数
---

权限类型说明

权限说明
file_read读取文件
file_write写入文件
network网络访问
execute执行命令
browser浏览器操作
memory记忆系统访问

实战案例一:创建翻译技能

Step 1:创建技能目录

bash
mkdir -p skills/my-translator

Step 2:编写 SKILL.md

markdown
---
name: 智能翻译助手
description: 中英互译,支持专业术语、俚语、长文翻译
triggers:
  - 当用户说"翻译"时
  - 当用户说"translate"时
  - 当用户提供外文内容请求翻译时
permissions:
  - network
---

# 智能翻译助手

## 功能说明
提供高质量的中英互译服务,支持:
- 普通文本翻译
- 专业术语翻译
- 俚语/口语翻译
- 长文档翻译

## 翻译原则
1. **信**:准确传达原文含义,不漏译、不错译
2. **达**:译文通顺流畅,符合目标语言习惯
3. **雅**:用词优美,风格恰当

## 执行流程

### 短文本翻译(<500字)
1. 识别源语言和目标语言
2. 直译核心内容
3. 意译优化表达
4. 输出双语对照

### 长文本翻译(≥500字)
1. 分析文本结构和专业领域
2. 提取专业术语,建立术语表
3. 分段翻译,保持上下文连贯
4. 整合校对,输出完整译文

## 输出格式

### 短文本

原文:[原文内容] 译文:[译文内容]


### 长文本

【译文】

[分段译文]


【术语表】

原文译文
term术语

## 特殊处理
- **代码片段**:保持原样,翻译注释
- **专有名词**:保留原文或采用通行译法
- **文化梗**:加注释说明文化背景

Step 3:测试技能

bash
openclaw skill test my-translator

输入测试内容:

翻译:The quick brown fox jumps over the lazy dog.

预期输出:

原文:The quick brown fox jumps over the lazy dog.
译文:敏捷的棕色狐狸跳过了懒狗。

实战案例二:创建日报生成技能

Step 1:创建技能目录

bash
mkdir -p skills/daily-report

Step 2:编写 SKILL.md

markdown
---
name: 日报生成器
description: 根据工作记录自动生成格式化日报
triggers:
  - 当用户说"生成日报"时
  - 当用户说"写日报"时
  - 当用户说"今日工作总结"时
permissions:
  - file_read
  - file_write
---

# 日报生成器

## 功能说明
自动整理工作内容,生成规范化的日报文档。

## 日报模板

```markdown
# 工作日报 - {日期}

## 一、今日完成
- [ ] 任务1:描述
- [ ] 任务2:描述
- [ ] 任务3:描述

## 二、进行中
- 任务A:进度 XX%
- 任务B:进度 XX%

## 三、遇到问题
1. 问题描述
   - 影响:
   - 解决方案:

## 四、明日计划
- [ ] 计划1
- [ ] 计划2

## 五、备注
其他需要说明的事项

执行流程

  1. 询问收集

    • 今日完成了哪些任务?
    • 进行中的任务及进度?
    • 遇到什么问题?
    • 明天计划做什么?
  2. 整理归纳

    • 提取关键信息
    • 分类整理
    • 补充细节
  3. 生成日报

    • 填充模板
    • 格式化输出
    • 询问是否保存文件

输出要求

  • 简洁明了,避免废话
  • 用数据说话,量化成果
  • 问题要写明影响和解决方案
  • 保存为 Markdown 文件

### Step 3:交互测试

用户:生成日报

Agent:好的,我来帮你生成日报。请告诉我:

  1. 今日完成了哪些任务?
  2. 进行中的任务有哪些?进度如何?
  3. 遇到什么问题?
  4. 明天计划做什么?

用户:完成了用户登录功能开发和API文档编写。进行中的任务:订单模块开发,进度60%。遇到问题是第三方支付接口调用超时,已联系技术支持。明天计划完成订单模块,开始支付对接。

Agent:正在生成日报...

工作日报 - 2026-04-08

一、今日完成

  • 用户登录功能开发
  • API 文档编写

二、进行中

  • 订单模块开发:进度 60%

三、遇到问题

  1. 第三方支付接口调用超时
    • 影响:支付功能无法正常使用
    • 解决方案:已联系技术支持,等待回复

四、明日计划

  • 完成订单模块开发
  • 开始支付对接

是否保存为文件?


---

## 实战案例三:创建代码审查技能

### SKILL.md 完整示例

```markdown
---
name: 代码审查助手
description: 审查代码质量,发现潜在问题,提出优化建议
triggers:
  - 当用户说"审查代码"时
  - 当用户说"code review"时
  - 当用户提供代码片段请求审查时
permissions:
  - file_read
---

# 代码审查助手

## 审查维度

### 1. 代码规范
- 命名规范:变量、函数、类名是否语义化
- 格式规范:缩进、空格、换行是否统一
- 注释规范:关键逻辑是否有注释

### 2. 代码质量
- 可读性:代码是否易于理解
- 可维护性:修改是否方便
- 可测试性:是否便于单元测试

### 3. 潜在问题
- 空指针风险
- 资源泄漏
- 并发安全
- SQL 注入
- XSS 漏洞

### 4. 性能优化
- 算法复杂度
- 数据库查询效率
- 内存使用

## 输出格式

```markdown
# 代码审查报告

## 总体评价
- 评分:A/B/C/D
- 摘要:一句话总结

## 问题列表

### 严重问题(必须修复)
| 行号 | 问题 | 修复建议 |
|------|------|----------|
| 42 | 空指针风险 | 添加 null 检查 |

### 一般问题(建议修复)
| 行号 | 问题 | 修复建议 |
|------|------|----------|
| 15 | 变量命名不清晰 | 改为语义化命名 |

### 优化建议
- 建议1
- 建议2

## 亮点
- 值得肯定的代码实践

执行流程

  1. 解析代码

    • 识别编程语言
    • 分析代码结构
  2. 逐项检查

    • 按审查维度检查
    • 记录问题和位置
  3. 生成报告

    • 分类整理问题
    • 提供修复建议
    • 给出总体评价

---

## 高级配置

### 多语言支持

```yaml
---
name: 多语言技能
i18n:
  zh-CN:
    name: 中文技能名
    description: 中文描述
  en-US:
    name: English Skill Name
    description: English description
---

执行环境配置

yaml
---
execution:
  timeout: 120000           # 超时 2 分钟
  retry: 3                  # 失败重试 3 次
  parallel: true            # 允许并行执行
  memory_limit: 512         # 内存限制 512MB
---

条件触发

yaml
---
triggers:
  - condition: user_role == 'developer'
    phrases:
      - "代码审查"
      - "code review"
  - condition: time >= '09:00' and time <= '18:00'
    phrases:
      - "生成日报"
---

调试技巧

查看技能加载日志

bash
openclaw skill list --verbose

测试技能触发

bash
openclaw skill test my-skill --trigger "翻译这段话"

查看技能执行过程

bash
openclaw skill debug my-skill

常见错误排查

错误原因解决
Skill not found目录名与配置不匹配检查目录名和 SKILL.md 中的 name
Trigger not working触发词格式错误使用标准格式:"当用户说XXX时"
Permission denied未申请必要权限在 frontmatter 中添加 permissions
Timeout执行时间过长增加 execution.timeout

发布技能到 ClawHub

Step 1:准备发布文件

my-skill/
├── SKILL.md          # 技能定义
├── README.md         # 详细说明
├── LICENSE           # 开源协议
├── examples/         # 使用示例
│   └── example1.md
└── tests/            # 测试用例
    └── test1.md

Step 2:打包

bash
tar -czvf my-skill.tar.gz my-skill/

Step 3:提交审核

访问 ClawHub 技能市场,上传技能包,等待审核通过。


最佳实践

实践一:单一职责

一个技能只做一件事,职责清晰。

实践二:明确触发词

触发词要具体,避免歧义:

✅ 当用户说"翻译成中文"时
❌ 当用户提到"翻译"时(太宽泛)

实践三:输出结构化

使用表格、列表、代码块,让输出清晰易读。

实践四:异常处理

在 SKILL.md 中说明异常情况的处理方式。

实践五:版本管理

用 Git 管理技能代码,方便迭代。


总结

步骤内容
1. 创建目录mkdir skills/my-skill
2. 编写 SKILL.mdfrontmatter + 内容
3. 配置触发词phrases 或 condition
4. 申请权限permissions 列表
5. 测试验证openclaw skill test
6. 发布分享打包提交 ClawHub

核心要点:

  • Skill 本质是 Markdown 文档,无编程门槛
  • 触发词决定何时激活技能
  • 权限配置确保安全可控
  • 结构化输出提升可读性

从简单的单功能技能开始,逐步扩展到复杂的多步骤技能。关键是明确技能要解决的问题,用清晰的逻辑告诉 Agent 该怎么做。

不要孤军奋战啦!

加入微信群一起学习交流 AI

与大神一起使用 OpenClaw、Hermes、Claude Code、Seedance 2.0、GPT-Image-2 等

微信公众号

扫码关注微信公众号
私信 "加群",将自动获取微信群二维码

探索 AI 世界,掌握智能未来