Decentralization? We're still early!

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

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

    發布人 Brave 2026-01-26 01:22

    目录

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


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

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

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

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

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

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

    这个类比的深层含义是: 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 年 1 月,已有 14+ 款 AI 编程助手支持 Agent Skills 标准:

    工具开发者支持状态
    ClawdbotClawdbot 社区✅ 完整支持
    Claude CodeAnthropic✅ 完整支持
    GitHub CopilotGitHub/Microsoft✅ VS Code Insiders 已支持,稳定版预计 2026 年初发布
    Codex CLI / ChatGPTOpenAI✅ 完整支持
    CursorCursor Inc.✅ 完整支持
    OpenCode开源社区✅ 内置支持
    Amp、Letta、Goose各开源项目✅ 支持中

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

    企业级生态

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


    🎯 Skills 能做什么?

    通过不同的 Skills,Clawdbot 可以:

    🔍 信息搜索类

    技能功能API/服务提供商
    web-search使用 Brave 搜索网页Brave Search API
    exa使用 Exa AI 进行神经语义搜索Exa AI
    kagi-search使用 Kagi 搜索引擎Kagi API
    perplexity使用 Perplexity AI 进行深度搜索Perplexity API

    📧 邮件和日历类

    技能功能适用场景
    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 集群操作云原生运维

    📱 通讯与协作类(新增)

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

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

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


    🚀 如何使用 Skills

    使用 Skills 有两种方式:

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

    在聊天中输入斜杠命令:

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

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

    💡 技巧提示:

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

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

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

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

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

    ⚙️ 工作原理解析:

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

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

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

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

    📦 Skills 从哪里来?

    Skills 可以从四个地方获得:

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

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

    内置技能包括但不限于:

    • 基础搜索web-searchcontext7
    • 文件操作summarizepdf-reader
    • 开发辅助githubgit

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

    ClawdHub 是 Clawdbot 的"技能商店",你可以:

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

    ClawdHub 特性:

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

    安装方法:

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

    批量操作命令:

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

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

    # 从 GitHub 克隆技能 git clone https://github.com/username/skill-name.git ~/.clawdbot/skills/skill-name
    
    # 例如安装 Zeno 技能 git clone https://github.com/anth0nylawrence/zeno.git ~/.clawdbot/skills/zeno

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

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


    📂 技能存放在哪里?

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

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

    优先级的实际意义:

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

    ⚠️ 重要提示:

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

    📄 SKILL.md 文件详解

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

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

    ---
    name: my-skill
    description: 这个技能能做什么的简短描述
    metadata: { "clawdbot": { "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需要的配置项(clawdbot.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: { "clawdbot": { "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 文本,告诉 Clawdbot 如何使用这个技能:

    # 网页搜索技能
    
    这个技能可以帮你搜索网页信息。
    
    ## 什么时候使用
    
    当用户说"搜一下"、"查一查"、"帮我找"等词语时,考虑使用此技能。
    
    ## 如何使用
    
    使用以下命令搜索网页:
    
    \`\`\`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 字以内为佳

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


    🛠️ 创建你的第一个 Skill

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

    步骤 1:创建技能目录 📁

    mkdir -p ~/.clawdbot/skills/weather

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

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

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

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

    步骤 4:配置 API 密钥 🔑

    方式一:编辑 Clawdbot 配置文件

    nano ~/.clawdbot/clawdbot.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:验证技能加载

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

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

    /new 

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

    然后尝试:

    /weather 北京今天天气怎么样

    或者自然语言:

    北京现在多少度?

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


    ⚙️ Skills 配置进阶

    在配置文件中管理技能

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

    json
    {
      "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环境变量键值对{}

    技能加载的时机

    技能加载流程:

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

    ⚠️ 重要提示:

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

    🔧 高级功能

    1. 技能的模型调用控制

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

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

    适用场景:

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

    示例:

    ---
    name: send-email
    description: 发送电子邮件
    metadata: { "clawdbot": { "emoji": "📤", "disable-model-invocation": true, "requires": { "env": ["GMAIL_API_KEY"] } } }
    ---

    2. 技能的直接工具派发

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

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

    适用场景:

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

    示例:

    ---
    name: quick-git
    description: 快速执行 git 命令
    metadata: { "clawdbot": { "command-dispatch": "tool", "command-tool": "bash" } }
    ---
    
    直接将用户输入作为 git 命令执行。
    
    用法:/quick-git status
    等同于:git status

    3. 平台限制

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

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

    可用的平台标识:

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

    4. 自动安装配置

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

    metadata: { "clawdbot": { "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" } }

    下载类型的完整配置:

    {
      "download": {
        "url": "https://example.com/tool.tar.gz",
        "archive": "tar.gz",
        "extract": true,
        "stripComponents": 1,
        "targetDir": "~/.clawdbot/tools/my-tool"   }
    }

    5. 技能密钥 (skillKey)

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

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

    配置文件中使用:

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

    ❓ 常见问题解答

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

    检查清单:

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

    调试命令:

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

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

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

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

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

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

    💡 优化建议:

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

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

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

    1. ClawdHub 注册账号
    2. 运行 clawdhub publish 技能名
    3. 填写技能信息和版本说明
    4. 发布!

    方式二:GitHub 仓库

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

    方式三:PR 到 awesome-clawdbot-skills

    将你的技能提交到 VoltAgent/awesome-clawdbot-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加载时环境变量或 clawdbot.json
    requires.config加载时clawdbot.json 配置项
    os加载时当前操作系统

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


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

    如果你使用 Trilium Notes,可以创建一个技能让 Clawdbot 直接搜索和获取笔记。可以从如下版本开始探索,限于精力,尚未具体测试:

    ---
    name: trilium
    description: 搜索和获取 Trilium Notes 笔记
    homepage: https://github.com/zadam/trilium
    metadata: { "clawdbot": { "emoji": "📚", "requires": { "bins": ["curl", "jq"], "env": ["TRILIUM_URL", "TRILIUM_TOKEN"] }, "primaryEnv": "TRILIUM_TOKEN" } }
    ---
    
    # Trilium Notes 技能
    
    连接到 Trilium Notes 知识库,搜索和获取笔记内容。Trilium 是一款开源的个人知识管理系统,支持层级化笔记组织和强大的搜索功能。
    
    ## 使用场景
    
    - 用户说"查一下我之前记的关于 XXX 的笔记"
    - 用户说"从笔记库找一下 XXX"
    - 用户提到需要参考之前的笔记
    - 用户想要创建或更新笔记
    
    ## 前置要求
    
    1. Trilium 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 错误 |
    | 连接失败 | 服务未运行 | 提示用户启动 Trilium 服务 |
    
    ## 使用示例
    
    用户:"帮我找一下关于 Python 异步编程的笔记"
    
    你应该:
    1. 使用搜索 API 查找相关笔记
    2. 列出找到的笔记标题供用户选择
    3. 用户确认后获取完整内容
    4. 以格式化的方式展示笔记内容

    🎓 总结

    Skills 的核心概念

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

    创建 Skill 的最佳实践

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

    📖 资源链接

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

    ✨ 写在最后

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

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

    更重要的是,你创建的技能可以在 Claude Code、GitHub Copilot、ChatGPT 等 14+ 款 AI 工具中使用——真正实现"写一次,处处可用"!现在,动手创建你的第一个 Skill 吧!🚀

    Brave 回复 5 days, 13 hours ago 1 成員 · 0 回复
  • 0 回复

歡迎留言回复交流。

Log in to reply.

讨论開始
00 回复 2018 年 6 月
現在