解读 SKILL.md:技能开发规范详解

    解读 SKILL.md:技能开发规范详解

    每个 OpenClaw 技能根目录下都必须有一个 SKILL.md 文件。这个文件到底要写什么?遵循什么规范?本文详细解读。

    什么是 SKILL.md

    SKILL.md 是技能的说明书,而且是给 AI 看的。当 AI 需要使用这个技能时,它会读取 SKILL.md 来了解:

    • 这个技能是做什么的
    • 有哪些工具可用
    • 每个工具的参数是什么
    • 应该怎么调用

    所以 SKILL.md 必须清晰、准确,格式正确。AI 依赖它才能正确使用你的技能。

    SKILL.md 基本结构

    一个标准的 SKILL.md 结构:

    # 技能名称
    
    一句话描述这个技能做什么用。
    
    ## 可用工具
    
    ### tool_name(param1: type, param2: type)
    简短描述这个工具做什么。
    
    **参数说明:**
    - param1: type - 参数说明
    - param2: type - 参数说明
    
    **返回:** 返回什么内容
    
    ### another_tool(param: type)
    ...

    标题格式

    一级标题 # 就是技能名称:

    # Word Counter

    这就足够了,不需要加 SkillOpenClaw 这些后缀。

    工具定义格式

    每个工具用三级标题 ### 定义,格式为:

    ### 工具名(参数名: 类型, 参数名: 类型)

    例子:

    ### count_words(text: string)
    统计文本的字数、词数、行数。
    
    **参数:**
    - text: string - 要统计的文本内容
    
    **返回:** JSON 格式的统计结果,包含 chars, words, lines 三个字段

    参数类型

    OpenClaw 技能常用的参数类型:

    类型说明例子
    string字符串文本内容、文件路径、URL
    number数字数量、温度、最大 token
    boolean布尔值true/false 开关
    array数组列表、多选
    object对象复杂结构

    大部分情况下,stringnumber 就够用了。

    必须包含的信息

    对于每个工具,你必须说明:

    1. ✅ 工具的作用(这个工具干什么)
    2. ✅ 每个参数的含义
    3. ✅ 返回值说明

    AI 需要这些信息才能正确调用工具。

    好的例子

    来自 wordpress-publisher 技能:

    # WordPress Publisher
    
    通过 REST API 发布文章到 WordPress 博客,支持创建文章、分类、标签,自动转换 Markdown 到 Gutenberg 区块。
    
    ## 可用工具
    
    ### create_post(title: string, content: string, category_name: string, tags: string[], status: string)
    创建一篇新的 WordPress 文章,可以是草稿或直接发布。
    
    **参数:**
    - title: string - 文章标题
    - content: string - 文章内容(Markdown 格式)
    - category_name: string - 分类名称(不存在会自动创建)
    - tags: string[] - 标签名称列表
    - status: string - 发布状态:draft/publish/future,默认 draft
    
    **返回:** 创建结果,包含文章 ID 和 URL

    这个例子清晰完整,AI 能轻松理解。

    坏的例子

    不要这样写:

    # 我的技能
    
    这个技能很厉害。
    
    ## 工具
    
    - func1 做点什么
    - func2 做点别的

    问题:

    • ❌ 没有参数说明
    • ❌ 没有返回说明
    • ❌ 格式不对,AI 无法正确解析

    AI 不知道怎么调用,肯定会出错。

    进阶:添加更多信息

    除了工具定义,你还可以添加:

    使用示例

    ## 使用示例
    

    帮我统计这个文件的字数:README.md

    
    ### 注意事项
    

    注意事项

    • 文件路径是相对于当前 workspace 的相对路径
    • API Key 需要配置在环境变量中
    
    ### 作者信息
    

    作者

    你的名字,GitHub 链接

    
    这些是可选的,但加上会让你的技能更完善。
    
    ## 总结
    
    SKILL.md 规范要点:
    
    1. **一级标题** = 技能名称
    2. **开头一段** = 技能简介
    3. **## 可用工具** = 工具列表开始
    4. **### 工具名(params)** = 每个工具定义
    5. **参数说明** = 每个参数的作用和类型
    6. **返回说明** = 工具返回什么
    
    遵循这个规范,AI 就能正确理解和使用你的技能了。
    
    ---
    
    *更多技能开发教程请关注本站持续更新。*
    

    发表回复

    您的邮箱地址不会被公开。 必填项已用 * 标注