OpenClaw Skill模板开发与分发指南

更新时间:2026-04-24 | 预计阅读:14分钟

世界上有一种痛苦叫做"每次都写同样的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"

最佳实践

  1. 单一职责——一个Skill只做一件事
  2. 参数化一切——不要硬编码,让用户可配置
  3. 提供默认值——开箱即用,高级用户可调优
  4. 完善的文档——别人能看懂才会用
  5. 版本管理——重大更新要更新版本号

相关资源