🔥 BRAVE 質押池已上線 — 在錢包搜尋 BRAVE 即可委託

OpenClaw/Clawdbot Skills 完全指南:让你的 AI 助手学会新技能

    • #32876

      本文面向刚接触 OpenClaw 的新手,试图将用通俗易懂的语言介绍 Skills(技能)功能,帮助你理解、使用和创建自己的技能。本指南基于 OpenClaw 2026.2 版本AgentSkills 开放标准 编写。

      ⚠️ 名称变更说明:OpenClaw 原名 Clawdbot,后因 Anthropic 的商标请求更名为 Moltbot,最终于 2026 年初正式更名为 OpenClaw。本文中的命令和目录已更新为最新名称。


      🤔 什么是 Skills?一个形象的比喻

      想象一下,OpenClaw 是一个刚入职的超级聪明的助手。他天生就懂得思考、分析和表达,但他不知道公司的具体业务——比如怎么查邮件、怎么搜网页、怎么操作日历。

      Skills(技能)就像是给这个助手的”培训手册”。

      每一个 Skill 都是一份说明书,告诉 OpenClaw:

      图标说明内容举例
      📖这个工具是干什么的“这是搜索网页的工具”
      🔧怎么使用这个工具“用这个命令来搜索”
      ⚠️使用时需要注意什么“需要先配置 API 密钥”
      💡什么时候该用这个工具“当用户问’帮我搜一下…’时”

      有了这些”培训手册”,OpenClaw 就能学会各种技能,变成一个无所不能的超级助手。

      这个类比的深层含义是: Skill 本质上是一种提示工程(Prompt Engineering) 的高级应用。它通过结构化的文本指令,让大语言模型(LLM)理解如何在特定场景下调用外部工具完成任务。与传统的硬编码 API 调用不同,Skills 是”软性”的——Agent 会阅读、理解并灵活执行这些指令,而不是机械地按固定流程运行。


      🌐 Skills 的技术背景与开放标准

      这是理解 Skills 架构的重要背景知识。

      什么是 Agent Skills 开放标准?

      2025 年底,Anthropic 将 Agent Skills 技术作为开放标准发布,规范定义在 agentskills.io。这一标准的核心理念是:“写一次,处处可用”(Write Once, Use Everywhere)

      Agent Skills 的设计原则:

      原则说明
      📄 纯文本驱动Skills 是简单的 Markdown 文件,无需编译或复杂配置
      🔄 按需加载只有在需要时才会被 Agent 读取,保持 AI 快速响应
      🔓 跨平台兼容同一个 Skill 可在多个支持该标准的 AI 工具中使用
      🛠️ 易于创建任何人都可以用自然语言编写 Skill,无需编程背景

      哪些工具支持 Agent Skills 标准?

      截至 2026 年 2 月,已有 15+ 款 AI 编程助手支持 Agent Skills 标准:

      工具开发者支持状态
      OpenClawOpenClaw 社区(原 Clawdbot)✅ 完整支持
      Claude CodeAnthropic✅ 完整支持
      GitHub CopilotGitHub/Microsoft✅ 稳定版已支持
      Codex CLI / ChatGPTOpenAI✅ 完整支持
      CursorCursor Inc.✅ 完整支持
      OpenCode开源社区✅ 内置支持
      Gemini CLIGoogle✅ 完整支持
      WindsurfCodeium✅ 支持中
      Amp、Letta、Goose各开源项目✅ 支持中

      这意味着什么? 你为 OpenClaw 创建的 Skill,可以直接在 Claude Code、GitHub Copilot、ChatGPT 等工具中使用,无需任何修改!

      企业级生态

      Anthropic 还发布了来自知名企业的官方技能包,包括:Atlassian、Figma、Canva、Stripe、Notion、Zapier 等。这些官方技能可通过 SkillsMP 市场ClawHub 获取,目前市场上已有超过 71,000+ 个可用技能。


      🎯 Skills 能做什么?

      通过不同的 Skills,OpenClaw 可以:

      🔍 信息搜索类

      技能功能API/服务提供商
      web-search使用 Brave 搜索网页Brave Search API
      exa使用 Exa AI 进行神经语义搜索Exa AI
      kagi-search使用 Kagi 搜索引擎Kagi API
      perplexity使用 Perplexity AI 进行深度搜索Perplexity API
      zeno通过递归阅读实现无界上下文本地代码分析

      📧 邮件和日历类

      技能功能适用场景
      gogGoogle Workspace(Gmail、日历、云盘)个人/企业 Google 账户
      clippyMicrosoft 365(Outlook、日历)Microsoft 365 用户
      caldav-calendar通用日历同步(iCloud、Nextcloud 等)需要跨平台日历同步

      🌐 浏览器和自动化类

      技能功能技术特点
      browser打开网页、填写表单、提取数据轻量级,适合简单任务
      playwright高级浏览器自动化支持复杂交互和截图

      🎨 AI 生成类

      技能功能模型说明
      nano-banana-pro使用 Gemini 生成/编辑图片Google Gemini 图像模型
      dall-e使用 DALL-E 生成图片OpenAI DALL-E 3
      midjourney通过 API 调用 Midjourney 生成图片需要 Midjourney 订阅
      stable-diffusion本地或云端 Stable Diffusion 图像生成支持 ComfyUI / A1111

      🛠️ 开发工具类

      技能功能使用场景
      gemini调用 Gemini CLI 辅助编程代码生成与分析
      github操作 GitHub 仓库PR、Issue、Actions 管理
      docker管理 Docker 容器和镜像DevOps 自动化
      k8sKubernetes 集群操作云原生运维

      📱 通讯与协作类

      OpenClaw 2026 版本支持多渠道消息收发:

      技能功能
      telegram通过 Telegram Bot 发送/接收消息
      slackSlack 工作区消息与通知
      discordDiscord 服务器交互
      teamsMicrosoft Teams 集成
      whatsappWhatsApp Business API 消息

      这只是冰山一角!通过 ClawHub,你可以发现更多社区创建的技能。截至 2026 年 2 月,ClawHub 已收录 3,000+ 个经过审核的技能,涵盖开发、办公、创意、数据分析等多个领域。


      🚀 如何使用 Skills

      使用 Skills 有两种方式:

      方式一:直接命令(推荐新手)⌨️

      在聊天中输入斜杠命令:

      /web-search 今天的科技新闻
      /gmail 查看我的未读邮件
      /calendar 明天有什么安排

      就像在微信中发送指令一样简单!

      💡 技巧提示:

      • 输入 / 后,OpenClaw 会自动显示可用技能列表
      • Tab 键可以自动补全技能名称
      • 技能名称不区分大小写

      方式二:自然语言(更智能)🗣️

      你也可以用自然的方式说话,OpenClaw 会自动判断是否需要使用某个技能:

      用户:帮我搜一下最近有什么好看的电影
      
      OpenClaw:(内部思考:用户想搜索信息,我应该使用 web-search 技能)
               (自动调用搜索)
               根据搜索结果,最近热门的电影有...

      OpenClaw 会”读懂”你的意图,自动选择合适的技能。

      ⚙️ 工作原理解析:

      当你发送消息时,OpenClaw 的处理流程如下:

      用户输入 → 意图识别 → 技能匹配 → 执行任务 → 返回结果
                 ↓
          系统提示中包含所有
          可用技能的简要描述
                 ↓
          Agent 判断是否需要
          调用某个技能
                 ↓
          如果需要,读取完整的
          SKILL.md 内容并执行

      这种”按需加载”的设计确保了:

      • 低延迟:只有需要时才读取完整技能说明
      • 低成本:减少了 API Token 消耗
      • 高准确:Agent 获得完整上下文后再执行

      📦 Skills 从哪里来?

      Skills 可以从四个地方获得:

      1️⃣ 内置技能(开箱即用)

      OpenClaw 自带一些常用技能,安装后直接可用(可能需要配置 API 密钥)。

      内置技能包括但不限于:

      • 基础搜索:web-search、context7
      • 文件操作:summarize、pdf-reader
      • 开发辅助:github、git

      2️⃣ ClawHub 社区(一键安装)🌟

      ClawHub 是 OpenClaw 的”技能商店”,你可以:

      • 🔍 浏览各种社区创建的技能
      • ⬇️ 一键安装到本地
      • ⭐ 给技能评分和反馈
      • 🔄 同步和更新已安装的技能
      • 📤 发布自己创建的技能

      ClawHub 特性:

      功能说明
      向量搜索使用语义搜索找到最相关的技能
      版本管理每个技能支持多版本,可回滚
      自动审核基础安全检查确保技能质量
      CLI 友好所有操作都可通过命令行完成

      安装方法:

      # 方式一:使用 openclaw 命令(推荐)
      openclaw skills install <技能名称>
      
      # 方式二:使用 clawhub 命令
      clawhub install <技能名称>
      
      # 例如安装 Exa 搜索技能
      openclaw skills install exa
      
      # 安装到指定目录
      clawhub install exa --dir ~/.openclaw/skills

      批量操作命令:

      # 更新所有已安装的技能
      clawhub update --all
      
      # 同步所有技能(备份 + 更新)
      clawhub sync --all
      
      # 列出已安装的技能
      openclaw skills list
      
      # 搜索可用技能
      openclaw skills search "搜索关键词"

      ⚠️ 安全提示:ClawHub 上曾发现恶意技能(如 ClawHavoc 系列),请注意查看技能的评分、评论和发布者信息。对于超过 3 个用户举报的技能,ClawHub 会自动隐藏。

      3️⃣ Git 仓库克隆(开发者常用)

      # 从 GitHub 克隆技能
      git clone https://github.com/username/skill-name.git ~/.openclaw/skills/skill-name
      
      # 例如安装 Zeno 技能(递归阅读,无界上下文)
      git clone https://github.com/anth0nylawrence/zeno.git ~/.openclaw/skills/zeno

      4️⃣ 自己创建(高级玩法)✨

      你也可以创建自己的技能!这就是本文重点要讲的内容。


      📂 技能存放在哪里?

      OpenClaw 会从以下位置加载技能,优先级从高到低:

      位置说明优先级用途
      <工作区>/skills/当前项目专用的技能⭐⭐⭐ 最高项目特定的技能覆盖
      ~/.openclaw/skills/你安装的共享技能⭐⭐ 中等个人定制和本地安装
      内置技能目录OpenClaw 自带的技能⭐ 最低开箱即用的基础能力
      skills.load.extraDirs配置文件中指定的额外目录⭐ 最低团队共享技能库

      优先级的实际意义:

      场景:你想修改内置的 web-search 技能
      
      做法:在 ~/.openclaw/skills/web-search/ 创建自定义版本
      结果:你的版本会覆盖内置版本,而原版保持不变
      好处:可以随时删除自定义版本恢复默认行为

      ⚠️ 重要提示:

      • 工作区技能 是项目级别的,只在该项目目录下生效
      • 用户技能 是全局的,在所有项目中都可用
      • 技能名称冲突时,高优先级的版本会”遮蔽”低优先级版本

      📄 SKILL.md 文件详解

      每个技能就是一个文件夹,里面有一个 SKILL.md 文件。这个文件分为两部分:

      第一部分:YAML 元数据(技能的”身份证”)📋

      ---
      name: my-skill
      description: 这个技能能做什么的简短描述
      metadata: { "openclaw": { "emoji": "⚙️", "requires": { "bins": ["curl"], "env": ["MY_API_KEY"], "config": ["some.setting"] } } }
      ---

      ⚠️ 格式注意:metadata 必须是单行 JSON 对象,不能换行!

      字段说明:

      字段含义示例必填
      name技能的名称,用于 /name 命令“web-search”✅ 是
      description简短描述(建议不超过 100 字符)“搜索网页内容”✅ 是
      homepage技能官网或文档链接https://example.com❌ 否
      emoji在 UI 中显示的图标“🔍”❌ 否
      requires.bins需要的命令行工具(全部必须存在)[“curl”, “jq”]❌ 否
      requires.anyBins需要的命令行工具(至少一个存在即可)[“node”, “bun”]❌ 否
      requires.env需要的环境变量(通常是 API 密钥)[“OPENAI_API_KEY”]❌ 否
      requires.config需要的配置项(openclaw.json 中的路径)[“browser.enabled”]❌ 否
      primaryEnv主要的环境变量名,可通过 apiKey 配置“BRAVE_API_KEY”❌ 否
      os支持的操作系统列表[“darwin”, “linux”]❌ 否
      install自动安装配置(macOS Skills UI 使用)[{“brew”: “curl”}]❌ 否

      完整的元数据示例:

      ---
      name: advanced-search
      description: 高级网络搜索与内容提取
      homepage: https://github.com/example/advanced-search
      metadata: { "openclaw": { "emoji": "🔬", "os": ["darwin", "linux", "win32"], "requires": { "bins": ["curl", "jq"], "anyBins": ["node", "bun"], "env": ["SEARCH_API_KEY"], "config": ["search.enabled"] }, "primaryEnv": "SEARCH_API_KEY", "install": [{ "brew": "jq" }, { "node": "search-cli" }] } }
      ---

      第二部分:Markdown 说明(技能的”使用手册”)📖

      这部分是普通的 Markdown 文本,告诉 OpenClaw 如何使用这个技能:

      # 网页搜索技能
      
      这个技能可以帮你搜索网页信息。
      
      ## 什么时候使用
      
      当用户说"搜一下"、"查一查"、"帮我找"等词语时,考虑使用此技能。
      
      ## 如何使用
      
      使用以下命令搜索网页:
      
      \`\`\`bash
      curl "https://api.search.brave.com/res/v1/web/search?q=${关键词}" \
        -H "X-Subscription-Token: ${BRAVE_API_KEY}"
      \`\`\`
      
      ## 返回结果处理
      
      API 返回 JSON 格式数据,主要字段包括:
      - `web.results[]`: 搜索结果数组
      - `title`: 页面标题
      - `url`: 页面链接
      - `description`: 页面描述
      
      ## 注意事项
      
      - 搜索结果可能包含过时信息
      - 注意验证信息来源的可靠性
      - 每分钟最多 100 次请求

      📝 编写技能说明的最佳实践:

      原则说明示例
      明确触发条件告诉 Agent 什么时候该用这个技能“当用户说’帮我搜…’时”
      提供完整命令给出可直接执行的代码示例包含环境变量占位符的 curl 命令
      解释返回结果帮助 Agent 理解输出并正确呈现“API 返回的 JSON 包含…”
      列出限制和错误说明可能的失败情况和处理方式“如果返回 401,提示用户检查 API 密钥”
      保持简洁不要写成百科全书,突出关键信息控制在 500 字以内为佳

      关键点: 这部分内容会被 OpenClaw “阅读”,所以要写得清晰、具体、有示例。Agent 会将这些文字作为操作指南,因此表述的准确性直接影响执行效果。


      🛠️ 创建你的第一个 Skill

      让我们动手创建一个简单的技能:天气查询技能

      步骤 1:创建技能目录 📁

      mkdir -p ~/.openclaw/skills/weather

      步骤 2:创建 SKILL.md 文件 📝

      # 使用你喜欢的编辑器
      nano ~/.openclaw/skills/weather/SKILL.md
      # 或 code ~/.openclaw/skills/weather/SKILL.md
      # 或 vim ~/.openclaw/skills/weather/SKILL.md

      步骤 3:编写技能内容 ✍️

      ---
      name: weather
      description: 查询指定城市的天气信息
      homepage: https://openweathermap.org/api
      metadata: { "openclaw": { "emoji": "🌤️", "requires": { "bins": ["curl"], "env": ["OPENWEATHER_API_KEY"] }, "primaryEnv": "OPENWEATHER_API_KEY" } }
      ---
      
      # 天气查询技能
      
      查询全球任意城市的实时天气信息,数据来源于 OpenWeatherMap One Call API 3.0。
      
      ## 什么时候使用这个技能
      
      当用户询问以下类似问题时,使用此技能:
      - "今天天气怎么样?"
      - "北京现在多少度?"
      - "明天会下雨吗?"
      - "上海的天气预报"
      - "需要带伞吗?"
      
      ## 如何查询天气
      
      使用 OpenWeatherMap One Call API 3.0 查询天气:
      
      > ⚠️ **注意**:API V2.5 已弃用,请使用 V3.0
      
      \`\`\`bash
      # 查询当前天气和未来 8 天预报(使用 One Call API 3.0)
      # 需要先通过城市名获取经纬度
      curl -s "https://api.openweathermap.org/geo/1.0/direct?q=${城市名}&limit=1&appid=${OPENWEATHER_API_KEY}" | jq '.'
      
      # 使用经纬度查询天气
      curl -s "https://api.openweathermap.org/data/3.0/onecall?lat=${纬度}&lon=${经度}&appid=${OPENWEATHER_API_KEY}&units=metric&lang=zh_cn" | jq '.'
      \`\`\`
      
      ## 返回结果说明
      
      API 返回的 JSON 包含:
      - `current.temp`: 当前温度(摄氏度)
      - `current.feels_like`: 体感温度
      - `current.humidity`: 湿度百分比
      - `current.weather[0].description`: 天气描述(如"多云"、"小雨")
      - `current.wind_speed`: 风速(米/秒)
      - `daily[]`: 未来 8 天的每日预报
      - `hourly[]`: 未来 48 小时的逐时预报
      - `alerts[]`: 天气预警(如有)
      
      ## 使用示例
      
      用户说:"北京今天天气怎么样?"
      
      你应该:
      1. 先调用地理编码 API 获取北京的经纬度
      2. 再调用 One Call API 查询天气
      3. 解析返回的 JSON
      4. 用自然语言告诉用户:
         - 当前温度和体感温度
         - 天气状况描述
         - 湿度和风速
         - 如果有降水可能,提醒用户带伞
         - 如果有天气预警,优先提醒用户
      
      ## 城市名称对照
      
      常用中国城市的英文名:
      - 北京: Beijing
      - 上海: Shanghai
      - 广州: Guangzhou
      - 深圳: Shenzhen
      - 杭州: Hangzhou
      - 成都: Chengdu
      - 香港: Hong Kong
      - 台北: Taipei
      
      ## 错误处理
      
      - **401 错误**:API Key 无效,提示用户检查配置
      - **404 错误**:城市不存在,提示用户检查城市名拼写
      - **429 错误**:请求过于频繁,稍后重试
      - **网络错误**:提示用户检查网络连接
      
      ## 注意事项
      
      - 城市名使用英文(如 Beijing, Shanghai, Tokyo)
      - 如果查询失败,告诉用户可能是城市名拼写错误
      - One Call API 3.0 免费版每天限制 1000 次请求
      - 预报数据最多提供未来 8 天

      步骤 4:配置 API 密钥 🔑

      方式一:编辑 OpenClaw 配置文件

      nano ~/.openclaw/openclaw.json

      添加:

      {
        "skills": {
          "entries": {
            "weather": {
              "enabled": true,
              "apiKey": "你的OpenWeatherMap API密钥"
            }
          }
        }
      }

      方式二:使用环境变量(推荐用于开发)

      # 在 ~/.bashrc 或 ~/.zshrc 中添加
      export OPENWEATHER_API_KEY="你的API密钥"

      方式三:使用 .env 文件

      # 在项目根目录创建 .env 文件
      echo "OPENWEATHER_API_KEY=你的API密钥" >> .env

      步骤 5:验证技能加载 ✅

      # 查看已加载的技能列表
      openclaw skills list
      
      # 查看特定技能的详细信息
      openclaw skills show weather

      步骤 6:开始新会话测试 🧪

      /new

      ⚠️ 重要:技能只在新会话开始时加载。修改 SKILL.md 后必须开始新会话才能生效!

      然后尝试:

      /weather 北京今天天气怎么样

      或者自然语言:

      北京现在多少度?

      🎉 恭喜!你创建了第一个自定义技能!


      ⚙️ Skills 配置进阶

      在配置文件中管理技能

      所有技能配置都在 ~/.openclaw/openclaw.jsonskills 部分:

      {
        "skills": {
          "load": {
            "extraDirs": ["/path/to/team/skills", "/path/to/my/skills"],
            "watch": true,
            "watchDebounceMs": 250
          },
          "entries": {
            "web-search": {
              "enabled": true,
              "apiKey": "xxx"
            },
            "some-skill-i-dont-want": {
              "enabled": false
            },
            "custom-skill": {
              "enabled": true,
              "env": {
                "CUSTOM_API_KEY": "xxx",
                "CUSTOM_ENDPOINT": "https://api.example.com"
              }
            }
          }
        }
      }

      配置项详解

      配置路径说明默认值
      load.extraDirs额外的技能目录列表[]
      load.watch是否监听技能文件变化true
      load.watchDebounceMs文件变化防抖时间(毫秒)250
      entries.<skill>.enabled启用或禁用技能true
      entries.<skill>.apiKey便捷 API 密钥配置(需技能声明 primaryEnv)
      entries.<skill>.env环境变量键值对{}

      技能加载的时机

      OpenClaw 启动 / 新会话开始
              ↓
      扫描所有技能目录
              ↓
      读取每个 SKILL.md 的元数据
              ↓
      根据 requires 检查依赖
              ↓
      过滤不满足条件的技能
              ↓
      将合格技能注入系统提示

      ⚠️ 重要提示:

      场景生效方式
      修改了 SKILL.md 文件使用 /new 开始新会话,或等待 watch 自动刷新
      修改了 openclaw.json重启 OpenClaw Gateway
      安装了新技能使用 /new 开始新会话
      启用了 watch: true技能变化会在下一个 Agent 回合自动生效

      🔧 高级功能

      1. 技能的模型调用控制

      metadata: { "openclaw": { "disable-model-invocation": true } }

      设置为 true 后,技能只能通过 /命令 调用,OpenClaw 不会自动使用它。

      适用场景:

      • ⚠️ 敏感操作(如删除文件、发送邮件)需要用户明确触发
      • 💰 高成本 API 调用,避免意外消耗额度
      • 🔐 涉及权限操作的功能

      2. 技能的直接工具派发

      metadata: { "openclaw": { "command-dispatch": "tool", "command-tool": "bash" } }

      这样设置后,/技能名 参数 会直接调用底层工具,跳过模型思考。

      适用场景:

      • ⚡ 简单的命令转发,不需要 AI 理解
      • 🚀 追求极致的响应速度
      • 🔄 固定格式的任务执行

      3. 平台限制

      metadata: { "openclaw": { "os": ["darwin", "linux"] } }

      只在指定操作系统上启用技能。

      标识操作系统
      darwinmacOS
      linuxLinux(所有发行版)
      win32Windows

      4. 自动安装配置

      对于 macOS 用户,技能可以声明自动安装方式:

      metadata: { "openclaw": { "install": [{ "brew": "jq" }, { "node": "my-cli-tool" }, { "go": "github.com/user/tool@latest" }] } }
      类型说明示例
      brewHomebrew 包{ "brew": "jq" }
      nodenpm 全局包{ "node": "typescript" }
      goGo 模块{ "go": "github.com/user/tool@latest" }
      uvPython uv 包{ "uv": "requests" }
      download直接下载{ "download": { "url": "...", "archive": "tar.gz" } }

      5. 技能密钥 (skillKey)

      当技能名称与配置键不一致时使用:

      metadata: { "openclaw": { "skillKey": "my-special-key" } }

      配置文件中使用:

      {
        "skills": {
          "entries": {
            "my-special-key": {
              "enabled": true,
              "apiKey": "xxx"
            }
          }
        }
      }

      ❓ 常见问题解答

      Q1: 技能没有生效怎么办?

      检查清单:

      • ✅ 文件位置正确吗?(~/.openclaw/skills/技能名/SKILL.md
      • ✅ YAML 格式正确吗?(用 YAML Lint 验证)
      • ✅ metadata 是单行 JSON 吗?(不能换行!)
      • ✅ 开始了新会话吗?(运行 /new
      • ✅ 依赖满足了吗?(检查 requires.binsrequires.env
      • ✅ 操作系统匹配吗?(检查 os 字段)

      调试命令:

      # 查看已加载的技能
      openclaw skills list
      
      # 查看技能详情(包括为什么没有加载)
      openclaw skills show 技能名
      
      # 验证 SKILL.md 格式
      openclaw skills validate ~/.openclaw/skills/技能名/SKILL.md

      Q2: 如何查看有哪些可用技能?

      # 列出所有已安装的技能
      openclaw skills list
      
      # 在 ClawHub 搜索
      openclaw skills search 关键词
      
      # 或直接访问 ClawHub 网站
      open https://clawhub.ai

      Q3: 技能太多会影响性能吗?

      不会明显影响。 OpenClaw 的技能加载机制经过优化:

      阶段处理方式
      系统提示只注入简洁的技能列表(名称 + 简短描述)
      技能调用只有需要时才读取完整的 SKILL.md
      Token 消耗技能列表的 Token 开销是确定性的,可预测

      💡 优化建议:

      • 禁用不常用的技能:"enabled": false
      • 保持技能描述简洁(100 字符以内)
      • 使用 disable-model-invocation 避免不必要的自动调用

      Q4: 如何分享我创建的技能?

      方式一:发布到 ClawHub(推荐)

      1. 在 ClawHub 注册账号(GitHub 账号需满一周)
      2. 运行 clawhub publish 技能名
      3. 填写技能信息和版本说明
      4. 发布!

      方式二:GitHub 仓库

      1. 创建 GitHub 仓库
      2. 将技能目录推送到仓库
      3. 分享仓库链接,用户可以 git clone 安装

      方式三:PR 到 awesome-openclaw-skills

      将你的技能提交到 VoltAgent/awesome-openclaw-skills 仓库。

      Q5: Skills 和 Plugins 有什么区别?

      特性SkillsPlugins
      复杂度简单(一个 Markdown 文件)复杂(JavaScript/TypeScript 代码)
      功能教 Agent 使用现有工具添加全新的功能和工具
      创建难度低,无需编程高,需要开发经验
      运行方式Agent 根据说明执行命令直接运行代码
      调试难度容易,修改文本即可需要调试代码
      跨平台性✅ 天然跨平台(遵循 AgentSkills 标准)❌ 可能需要适配

      简单理解:

      • Skill = 说明书(告诉 Agent 怎么做)
      • Plugin = 新功能(给 Agent 新的能力)

      如何选择?

      需求推荐
      调用现有 API 或命令行工具✅ Skill
      需要复杂的业务逻辑处理✅ Plugin
      希望快速实现,不想写代码✅ Skill
      需要访问数据库或内部系统✅ Plugin
      希望在多个 AI 工具中使用✅ Skill

      Q6: 技能的依赖检查是在什么时候进行的?

      依赖检查发生在技能加载时(新会话开始或 watch 刷新时):

      检查项检查时机检查位置
      requires.bins加载时主机 PATH
      requires.env加载时环境变量或 openclaw.json
      requires.config加载时openclaw.json 配置项
      os加载时当前操作系统

      注意: 如果使用 sandbox 模式,requires.bins 检查的是主机上的二进制文件,而不是 sandbox 内的。


      📚 实战案例:创建一个 TriliumNext 笔记技能

      如果你使用 TriliumNext Notes,可以创建一个技能让 OpenClaw 直接搜索和获取笔记。

      💡 提示:TriliumNext(原 Trilium Notes)现已提供多个 MCP Server 集成,包括 TriliumNext MCP Server,可以更方便地与 AI 助手集成。

      以下是基于 ETAPI 的 Skill 实现:

      ---
      name: trilium
      description: 搜索和获取 TriliumNext Notes 笔记
      homepage: https://github.com/TriliumNext/Trilium
      metadata: { "openclaw": { "emoji": "📚", "requires": { "bins": ["curl", "jq"], "env": ["TRILIUM_URL", "TRILIUM_TOKEN"] }, "primaryEnv": "TRILIUM_TOKEN" } }
      ---
      
      # TriliumNext Notes 技能
      
      连接到 TriliumNext Notes 知识库,搜索和获取笔记内容。TriliumNext 是一款开源的个人知识管理系统,支持层级化笔记组织和强大的搜索功能。
      
      > 📖 官方 ETAPI 文档已迁移至 [docs.triliumnotes.org](https://docs.triliumnotes.org/)
      
      ## 使用场景
      
      - 用户说"查一下我之前记的关于 XXX 的笔记"
      - 用户说"从笔记库找一下 XXX"
      - 用户提到需要参考之前的笔记
      - 用户想要创建或更新笔记
      
      ## 前置要求
      
      1. TriliumNext Notes 服务正在运行
      2. 已配置 ETAPI Token(在 Trilium 设置 → ETAPI 中获取)
      3. 环境变量已设置:
         - `TRILIUM_URL`: Trilium 服务地址(如 http://localhost:8080)
         - `TRILIUM_TOKEN`: ETAPI Token
      
      ## 搜索笔记
      
      \`\`\`bash
      curl -s -H "Authorization: ${TRILIUM_TOKEN}" \
        "${TRILIUM_URL}/etapi/notes?search=关键词&limit=10" | jq '.results[] | {noteId, title}'
      \`\`\`
      
      ## 获取笔记内容
      
      \`\`\`bash
      # 获取笔记元数据
      curl -s -H "Authorization: ${TRILIUM_TOKEN}" \
        "${TRILIUM_URL}/etapi/notes/{noteId}"
      
      # 获取笔记内容
      curl -s -H "Authorization: ${TRILIUM_TOKEN}" \
        "${TRILIUM_URL}/etapi/notes/{noteId}/content"
      \`\`\`
      
      ## 创建新笔记
      
      \`\`\`bash
      curl -s -X POST -H "Authorization: ${TRILIUM_TOKEN}" \
        -H "Content-Type: application/json" \
        "${TRILIUM_URL}/etapi/create-note" \
        -d '{"parentNoteId": "root", "title": "笔记标题", "type": "text", "content": "笔记内容"}'
      \`\`\`
      
      ## 响应处理
      
      1. 搜索结果会返回 noteId 和 title 列表
      2. 根据相关性选择最匹配的笔记
      3. 获取内容后,用 Markdown 格式展示给用户
      4. 如果内容是 HTML,先转换为 Markdown
      
      ## 错误处理
      
      | 错误码 | 原因 | 处理方式 |
      |--------|------|----------|
      | 401 | Token 无效 | 提示用户检查 TRILIUM_TOKEN 配置 |
      | 404 | 笔记不存在 | 告知用户笔记已被删除或 ID 错误 |
      | 连接失败 | 服务未运行 | 提示用户启动 TriliumNext 服务 |
      
      ## 使用示例
      
      用户:"帮我找一下关于 Python 异步编程的笔记"
      
      你应该:
      1. 使用搜索 API 查找相关笔记
      2. 列出找到的笔记标题供用户选择
      3. 用户确认后获取完整内容
      4. 以格式化的方式展示笔记内容

      🎓 总结

      Skills 的核心概念

      概念说明
      Skills 是”培训手册”教 OpenClaw 如何使用工具,本质是提示工程
      SKILL.md 是唯一需要的文件包含元数据(YAML)和使用说明(Markdown)
      两种调用方式斜杠命令 /skill 或自然语言
      四个来源内置、ClawHub、Git 克隆、自己创建
      优先级规则工作区 > 用户目录 > extraDirs > 内置
      开放标准遵循 AgentSkills.io 规范,跨 15+ 工具兼容

      创建 Skill 的最佳实践

      原则做法
      ✅ 写清楚什么时候用明确的触发场景和关键词
      ✅ 给出具体命令可复制粘贴的示例代码
      ✅ 说明返回结果帮助 Agent 理解和格式化输出
      ✅ 列出注意事项错误处理、限制条件、边界情况
      ✅ 保持简洁控制在 500 字以内,突出关键信息
      ✅ 单行 JSON 元数据metadata 字段必须是单行

      📖 资源链接

      资源链接说明
      官方文档docs.openclaw.ai/tools/skills完整技术文档
      技能配置docs.openclaw.ai/tools/skills-config配置参考
      ClawHubclawhub.ai技能注册表
      GitHub 仓库github.com/openclaw/openclaw源代码
      社区技能集合github.com/VoltAgent/awesome-openclaw-skills精选技能
      AgentSkills 标准agentskills.io开放标准规范
      SkillsMP 市场skillsmp.com跨平台技能市场

      ✨ 写在最后

      Skills 是 OpenClaw 最强大的扩展机制之一。通过简单的 Markdown 文件,你就能让 AI 助手学会任何技能——从查天气到管理邮件,从搜索笔记到自动化办公。

      最棒的是,你不需要懂编程! 只需要能够清晰地描述一个任务怎么做,OpenClaw 就能学会并帮你执行。

      更重要的是,你创建的技能可以在 Claude Code、GitHub Copilot、ChatGPT、Gemini CLI 等 15+ 款 AI 工具中使用——真正实现”写一次,处处可用”!

      现在,动手创建你的第一个 Skill 吧!🚀

  • 抱歉,回覆主題必需先登入。