OpenClaw Skill模板开发与分发指南
世界上有一种痛苦叫做"每次都写同样的Prompt"——生成SEO文章、写日报、分析竞品、发Discord消息...它们大同小异,但每次都要从头配置。Skill模板就是解决这个问题:把重复的能力打包,一次开发,到处复用。
什么是Skill模板
Skill模板是一个可复用的Agent能力包,包含:
- SKILL.md:技能描述、触发条件、执行逻辑
- 配置文件:参数、环境变量、依赖
- 提示词模板:经过优化的System Prompt
- 工作流定义:工具调用顺序、错误处理
Skill模板结构
标准目录结构
my-skill/
├── SKILL.md # 必需:技能定义
├── config.yaml # 可选:配置参数
├── prompts/
│ ├── system.md # System Prompt模板
│ └── user.md # User Prompt模板(可选)
├── tools/
│ └── custom_tool.js # 自定义工具(可选)
├── examples/
│ └── example.md # 使用示例
└── README.md # 文档
SKILL.md 核心结构
# SKILL.md - SEO文章生成器
## 触发条件
当用户需要生成SEO优化文章、批量创建工具页面、或优化现有内容时。
## 能力描述
根据关键词和主题自动生成SEO友好的文章,包含:
- 标题优化(关键词前置)
- Meta描述生成
- 结构化内容(H2/H3层级)
- 内部链接建议
- sitemap自动更新
## 参数
- `topic` (必需): 文章主题
- `keywords` (可选): 目标关键词数组,默认从主题提取
- `length` (可选): 文章长度 [short|medium|long],默认medium
- `internal_links` (可选): 是否自动添加内链,默认true
## 工具依赖
- write: 写入HTML文件
- web_search: 研究主题
- web_fetch: 获取参考资料
## 执行流程
1. 使用web_search研究主题
2. 获取前5篇相关文章作为参考
3. 生成结构化HTML内容
4. 添加内部链接
5. 更新sitemap.xml
6. 返回生成结果和文件路径
创建你的第一个Skill模板
Step 1: 创建目录
mkdir -p ~/.openclaw/skills/seo-article-generator
cd ~/.openclaw/skills/seo-article-generator
touch SKILL.md config.yaml prompts/system.md
Step 2: 定义配置
# config.yaml
name: seo-article-generator
version: 1.0.0
author: miaoquai
description: 自动生成SEO优化文章
# 默认参数
defaults:
length: medium
internal_links: true
language: zh-CN
# 环境变量需求
env:
- OPENAI_API_KEY # 可选:如果使用OpenAI
- BRAVE_API_KEY # 可选:如果使用Brave搜索
# 依赖的Skill
dependencies:
- web-search
- web-fetch
Step 3: 编写Prompt模板
你是一个专业的SEO内容撰写助手。你的任务是生成高质量的SEO优化文章。
## 写作规范
1. 标题必须包含主关键词,控制在60字符内
2. Meta描述包含核心关键词,控制在160字符内
3. 使用H2/H3层级结构,每段控制在150字内
4. 关键词密度控制在1-2%
5. 自然融入内部链接,每篇文章3-5个
## 输出格式
生成完整的HTML文档,包含:
- DOCTYPE声明
- Meta标签(title, description, keywords)
- 语义化的HTML结构
- 内部链接
## 当前任务
主题:{{topic}}
关键词:{{keywords}}
长度:{{length}}
Step 4: 测试Skill
# 本地测试
openclaw skill test seo-article-generator \
--topic "OpenClaw入门教程" \
--keywords '["OpenClaw", "Agent教程", "AI自动化"]'
# 查看输出
cat /tmp/skill-test-output.html
发布到ClawHub
发布前检查清单
- [ ] SKILL.md 完整且格式正确
- [ ] config.yaml 参数定义清晰
- [ ] 提示词模板经过测试
- [ ] 提供至少一个使用示例
- [ ] README.md 包含安装和使用说明
- [ ] 没有硬编码敏感信息
发布命令
# 登录ClawHub
openclaw clawhub login
# 发布Skill
openclaw clawhub publish seo-article-generator
# 查看发布状态
openclaw clawhub status seo-article-generator
ClawHub元数据
# clawhub.yaml(发布时自动生成)
name: seo-article-generator
display_name: SEO文章生成器
category: content
tags:
- seo
- content-generation
- marketing
rating: 4.8
downloads: 1234
last_updated: 2026-04-24
高级特性
参数验证
# config.yaml
params:
topic:
type: string
required: true
min_length: 5
max_length: 200
keywords:
type: array
items: string
min_items: 1
max_items: 10
length:
type: enum
values: [short, medium, long]
default: medium
tone:
type: enum
values: [formal, casual, humorous]
default: casual
条件执行
# SKILL.md中的条件逻辑
## 执行条件
只有当满足以下条件时才触发:
1. 用户明确提到"生成文章"或"写页面"
2. 或者提供了主题和关键词参数
3. 并且当前环境有写入权限
## 禁用条件
以下情况不要触发:
1. 用户说"不要自动生成"
2. 目标目录不存在
3. 磁盘空间不足100MB
多步骤工作流
# 工作流定义
workflow:
steps:
- name: 研究
tool: web_search
input: "{{topic}} 最新趋势"
output_to: research_results
- name: 分析
tool: llm
prompt: "分析以下搜索结果,提取关键信息:{{research_results}}"
- name: 生成
tool: write
path: "/var/www/{{filename}}.html"
content: "{{generated_html}}"
- name: 索引
tool: exec
command: "openclaw sitemap update"
最佳实践
- 单一职责——一个Skill只做一件事
- 参数化一切——不要硬编码,让用户可配置
- 提供默认值——开箱即用,高级用户可调优
- 完善的文档——别人能看懂才会用
- 版本管理——重大更新要更新版本号