🛠️ OpenClaw Agent Skills 实战入门

从零到一打造你的第一个技能 — SKILL.md编写、工具集成、测试调试全流程

Skills开发 SKILL.md ClawHub 实战教程

🤔 什么是Agent Skills

Agent Skills是OpenClaw的"技能包"系统。每个Skill本质上是一个SKILL.md文件加上可选的辅助文件,它告诉Agent在特定场景下应该如何行动。

💡 核心理念

Skills不是代码库,而是结构化的提示词+知识。Agent读取SKILL.md后,就知道如何处理特定类型的任务。这就像给Agent一本"操作手册"。

Skills vs 传统插件

📁 Skills目录结构解剖

my-awesome-skill/
├── SKILL.md              # 核心文件(必须)
├── templates/            # 可选:模板文件
│   └── report.md
├── examples/             # 可选:示例文件
│   └── sample-output.md
├── scripts/              # 可选:辅助脚本
│   └── fetch-data.sh
└── README.md             # 可选:说明文档

📌 关键规则

  • SKILL.md是唯一必须的文件
  • 目录名就是Skill的标识符
  • 所有路径相对于SKILL.md所在目录
  • 辅助文件通过相对路径在SKILL.md中引用

📝 SKILL.md编写指南

SKILL.md是Skill的灵魂,Agent通过它来理解"我该怎么做"。

基本结构

# Skill名称

## 触发条件
描述什么时候应该使用这个Skill。

## 执行步骤
1. 第一步做什么
2. 第二步做什么
3. ...

## 输出格式
描述输出应该是什么样的。

## 工具使用
列出需要用到的工具和使用方式。

## 注意事项
特殊情况处理、边界条件等。

实战示例:SEO审计Skill

# SEO审计技能

## 触发条件
当用户要求"检查SEO"、"SEO审计"、"网站优化分析"时触发。

## 执行步骤

### 1. 获取目标页面
使用 `web_fetch` 获取页面HTML内容:
- 提取 title、meta description
- 检查 h1-h6 标签层级
- 分析内部链接和外部链接

### 2. 技术SEO检查
使用 `exec` 执行以下检查:
```bash
# 检查页面加载速度
curl -o /dev/null -s -w '%{time_total}' URL

# 检查robots.txt
curl -s URL/robots.txt

# 检查sitemap
curl -s URL/sitemap.xml
```

### 3. 内容分析
- 关键词密度检查
- 内容长度评估
- 图片alt标签检查
- 移动端友好性

### 4. 生成报告
按以下格式输出:

| 检查项 | 状态 | 建议 |
|--------|------|------|
| Title标签 | ✅/❌ | 具体建议 |
| Meta描述 | ✅/❌ | 具体建议 |
| ... | ... | ... |

## 工具使用
- `web_fetch` — 获取页面内容
- `web_search` — 搜索竞品对比
- `exec` — 执行技术检查命令
- `write` — 生成报告文件

## 注意事项
- 单次最多审计5个页面
- 对于SPA页面,需要使用browser工具
- 报告保存到 /var/www/miaoquai/seo-report.html

🎯 创建第一个Skill

1创建目录
mkdir -p ~/.openclaw/skills/my-first-skill
cd ~/.openclaw/skills/my-first-skill
2编写SKILL.md
# 每日新闻摘要

## 触发条件
当用户说"今天有什么新闻"、"AI新闻"、"行业动态"时触发。

## 执行步骤
1. 使用 web_search 搜索最新AI新闻
2. 筛选过去24小时内的新闻
3. 按重要性排序
4. 生成摘要报告

## 输出格式
### 📰 今日AI新闻速递
1. **标题** — 一句话摘要(来源)
2. ...

## 工具使用
- web_search: 搜索新闻
- web_fetch: 获取新闻详情
- write: 保存报告
3测试Skill
# 在OpenClaw中测试
openclaw skills check
# 然后对Agent说:"今天有什么AI新闻?"

🔧 工具集成

Skills可以调用OpenClaw的所有内置工具,这是Skills强大能力的来源。

常用工具速查

# 搜索
web_search(query="关键词", count=5)

# 获取网页
web_fetch(url="https://example.com")

# 文件操作
read(path="/path/to/file")
write(path="/path/to/file", content="内容")
edit(path="/path/to/file", edits=[{...}])

# 系统命令
exec(command="ls -la")

# 浏览器
browser(action="navigate", url="https://example.com")
browser(action="snapshot")

# 消息
message(action="send", message="内容", target="channel")

# 定时任务
cron(action="add", job={...})

工具权限控制

# 在SKILL.md中声明需要的工具
## 工具权限
本Skill需要以下工具:
- web_search(只读)
- exec(受限:仅允许curl命令)
- write(仅限/var/www/目录)

🧪 测试与调试

# 1. 检查Skill是否被正确加载
openclaw skills check

# 2. 查看Agent的Skills列表
# 在对话中说:"你有哪些skills?"

# 3. 调试模式
# 在SKILL.md中添加调试步骤
## 调试
如果执行出错,请:
1. 检查工具是否可用
2. 查看错误日志
3. 逐步执行并输出中间结果

📤 发布到ClawHub

# 1. 确保SKILL.md质量
openclaw skills check

# 2. 发布到ClawHub
clawhub publish ./my-first-skill

# 3. 设置可见性
clawhub visibility my-first-skill public

# 4. 查看发布状态
clawhub info my-first-skill

🎓 高级模式

条件分支

# 在SKILL.md中使用条件逻辑
## 执行步骤
如果用户提供了URL:
  1. 使用 web_fetch 获取内容
否则:
  1. 使用 web_search 搜索
  2. 让用户选择结果

组合Skills

# 在一个Skill中引用另一个Skill的输出
## 执行步骤
1. 执行"数据收集"Skill获取原始数据
2. 执行"数据分析"Skill处理数据
3. 执行"报告生成"Skill输出报告

循环处理

# 处理列表数据
## 执行步骤
对于每个URL:
  1. web_fetch获取内容
  2. 提取关键信息
  3. 追加到结果列表