Clawdbot Skills 完全指南:让你的 AI 助手学会新技能
-
Clawdbot Skills 完全指南:让你的 AI 助手学会新技能
目录- 🤔 什么是 Skills?一个形象的比喻
- 🌐 Skills 的技术背景与开放标准
- 什么是 Agent Skills 开放标准?
- 哪些工具支持 Agent Skills 标准?
- 企业级生态
- 🎯 Skills 能做什么?
- 🔍 信息搜索类
- 📧 邮件和日历类
- 🌐 浏览器和自动化类
- 🎨 AI 生成类
- 🛠️ 开发工具类
- 📱 通讯与协作类(新增)
- 🚀 如何使用 Skills
- 方式一:直接命令(推荐新手)⌨️
- 方式二:自然语言(更智能)🗣️
- 📦 Skills 从哪里来?
- 1️⃣ 内置技能(开箱即用)
- 2️⃣ ClawdHub 社区(一键安装)🌟
- 3️⃣ Git 仓库克隆(开发者常用)
- 4️⃣ 自己创建(高级玩法)✨
- 📂 技能存放在哪里?
- 📄 SKILL.md 文件详解
- 第一部分:YAML 元数据(技能的"身份证")📋
- 完整的元数据示例
- 第二部分:Markdown 说明(技能的"使用手册")📖
- 🛠️ 创建你的第一个 Skill
- 步骤 1:创建技能目录 📁
- 步骤 2:创建 SKILL.md 文件 📝
- 步骤 3:编写技能内容 ✍️
- 步骤 4:配置 API 密钥 🔑
- 步骤 5:验证技能加载 ✅
- 步骤 6:开始新会话测试 🧪
- ⚙️ Skills 配置进阶
- 在配置文件中管理技能
- 配置项详解
- 技能加载的时机
- 🔧 高级功能
- 1. 技能的模型调用控制
- 2. 技能的直接工具派发
- 3. 平台限制
- 4. 自动安装配置
- 5. 技能密钥 (skillKey)
- ❓ 常见问题解答
- Q1: 技能没有生效怎么办?
- Q2: 如何查看有哪些可用技能?
- Q3: 技能太多会影响性能吗?
- Q4: 如何分享我创建的技能?
- Q5: Skills 和 Plugins 有什么区别?
- Q6: 技能的依赖检查是在什么时候进行的?
- 📚 实战案例:创建一个 Trilium 笔记技能
- 🎓 总结
- Skills 的核心概念
- 创建 Skill 的最佳实践
- 📖 资源链接
- ✨ 写在最后
📘 本文面向刚接触 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 标准:
工具 开发者 支持状态 Clawdbot Clawdbot 社区 ✅ 完整支持 Claude Code Anthropic ✅ 完整支持 GitHub Copilot GitHub/Microsoft ✅ VS Code Insiders 已支持,稳定版预计 2026 年初发布 Codex CLI / ChatGPT OpenAI ✅ 完整支持 Cursor Cursor 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 内容并执行这种"按需加载"的设计确保了:
- 低延迟:只有需要时才读取完整技能说明
- 低成本:减少了 API Token 消耗
- 高准确:Agent 获得完整上下文后再执行
📦 Skills 从哪里来?
Skills 可以从四个地方获得:
1️⃣ 内置技能(开箱即用)
Clawdbot 自带一些常用技能,安装后直接可用(可能需要配置 API 密钥)。
内置技能包括但不限于:
- 基础搜索:
web-search、context7 - 文件操作:
summarize、pdf-reader - 开发辅助:
github、git
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/zeno4️⃣ 自己创建(高级玩法)✨
你也可以创建自己的技能!这就是本文重点要讲的内容。
📂 技能存放在哪里?
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.json的skills部分: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是否监听技能文件变化 trueload.watchDebounceMs文件变化防抖时间(毫秒) 250entries.<skill>.enabled启用或禁用技能 trueentries.<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 status3. 平台限制
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: 技能没有生效怎么办?
检查清单:
- ✅ 文件位置正确吗?(
~/.clawdbot/skills/技能名/SKILL.md) - ✅ YAML 格式正确吗?(用 YAML Lint 验证)
- ✅ metadata 是单行 JSON 吗?(不能换行!)
- ✅ 开始了新会话吗?(运行
/new) - ✅ 依赖满足了吗?(检查
requires.bins和requires.env) - ✅ 操作系统匹配吗?(检查
os字段)
调试命令:
# 查看已加载的技能 clawdbot skills list # 查看技能详情(包括为什么没有加载) clawdbot skills show 技能名 # 验证 SKILL.md 格式 clawdbot skills validate ~/.clawdbot/skills/技能名/SKILL.mdQ2: 如何查看有哪些可用技能?
# 列出所有已安装的技能 clawdbot skills list # 在 ClawdHub 搜索 clawdbot skills search 关键词 # 或直接访问 ClawdHub 网站 open https://clawdhub.comQ3: 技能太多会影响性能吗?
不会明显影响。 Clawdbot 的技能加载机制经过优化:
阶段 处理方式 系统提示 只注入简洁的技能列表(名称 + 简短描述) 技能调用 只有需要时才读取完整的 SKILL.md Token 消耗 技能列表的 Token 开销是确定性的,可预测 💡 优化建议:
- 禁用不常用的技能:
"enabled": false - 保持技能描述简洁(100 字符以内)
- 使用
disable-model-invocation避免不必要的自动调用
Q4: 如何分享我创建的技能?
方式一:发布到 ClawdHub(推荐)
- 在 ClawdHub 注册账号
- 运行
clawdhub publish 技能名 - 填写技能信息和版本说明
- 发布!
方式二:GitHub 仓库
- 创建 GitHub 仓库
- 将技能目录推送到仓库
- 分享仓库链接,用户可以 git clone 安装
方式三:PR 到 awesome-clawdbot-skills
将你的技能提交到 VoltAgent/awesome-clawdbot-skills 仓库。
Q5: Skills 和 Plugins 有什么区别?
特性 Skills Plugins 复杂度 简单(一个 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 配置参考 ClawdHub clawdhub.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 吧!🚀
歡迎留言回复交流。
Log in to reply.