技能 (Skills)
Clawdbot 使用 AgentSkills (opens in a new tab) 兼容的技能文件夹来教代理如何使用工具。每个技能是一个包含 SKILL.md 的目录,其中有 YAML frontmatter 和指令。
技能位置和优先级
技能从三个位置加载:
- 内置技能:随安装一起提供(npm 包或 Clawdbot.app)
- 托管/本地技能:
~/.clawdbot/skills - 工作区技能:
<workspace>/skills
如果技能名称冲突,优先级为:
<workspace>/skills(最高)→ ~/.clawdbot/skills → 内置技能(最低)
多代理设置
在多代理设置中,每个代理有自己的工作区:
- 每代理技能在
<workspace>/skills中,仅对该代理可见 - 共享技能在
~/.clawdbot/skills(托管/本地)中,对同一机器上的所有代理可见 - 共享文件夹也可以通过
skills.load.extraDirs添加
技能格式
SKILL.md 必须至少包含:
---
name: nano-banana-pro
description: 通过 Gemini 3 Pro Image 生成或编辑图像
---可选 frontmatter 键
| 键 | 描述 |
|---|---|
homepage | URL,显示为"网站" |
user-invocable | true/false(默认:true),是否作为用户斜杠命令暴露 |
disable-model-invocation | true/false(默认:false),当 true 时从模型提示中排除 |
command-dispatch | tool(可选),当设置时斜杠命令绕过模型直接分发到工具 |
command-tool | 当 command-dispatch: tool 设置时要调用的工具名称 |
门控(加载时过滤)
Clawdbot 在加载时过滤技能 使用 metadata(单行 JSON):
---
name: nano-banana-pro
description: 通过 Gemini 3 Pro Image 生成或编辑图像
metadata: {"clawdbot":{"requires":{"bins":["uv"],"env":["GEMINI_API_KEY"],"config":["browser.enabled"]},"primaryEnv":"GEMINI_API_KEY"}}
---metadata.clawdbot 下的字段
| 字段 | 描述 |
|---|---|
always: true | 始终包含技能(跳过其他门控) |
emoji | 可选表情符号 |
homepage | 可选 URL |
os | 可选平台列表(darwin、linux、win32) |
requires.bins | 列表;每个必须存在于 PATH 上 |
requires.anyBins | 列表;至少一个必须存在于 PATH 上 |
requires.env | 列表;环境变量必须存在或在配置中提供 |
requires.config | clawdbot.json 路径列表,必须为真值 |
primaryEnv | 与 skills.entries.<name>.apiKey 关联的环境变量名 |
install | 可选安装程序规格数组 |
配置覆盖
内置/托管技能可以在配置中切换和提供环境值:
{
skills: {
entries: {
"nano-banana-pro": {
enabled: true,
apiKey: "GEMINI_KEY_HERE",
env: {
GEMINI_API_KEY: "GEMINI_KEY_HERE"
},
config: {
endpoint: "https://example.invalid",
model: "nano-pro"
}
},
peekaboo: { enabled: true },
sag: { enabled: false }
}
}
}规则:
enabled: false禁用技能,即使它是内置/已安装的env: 仅在变量未在进程中设置时注入apiKey: 为声明metadata.clawdbot.primaryEnv的技能提供便利config: 自定义每技能字段的可选包
ClawdHub(安装和同步)
ClawdHub 是 Clawdbot 的公共技能注册表。浏览 https://clawdhub.com (opens in a new tab)
常用流程:
# 安装技能到工作区
clawdhub install <skill-slug>
# 更新所有已安装技能
clawdhub update --all
# 同步(扫描 + 发布更新)
clawdhub sync --all会话快照(性能)
Clawdbot 在会话开始时快照符合条件的技能,并在同一会话的后续轮次中重用该列表。技能或配置的更改在下一个新会话中生效。
远程 macOS 节点(Linux 网关)
如果网关在 Linux 上运行但连接了允许 system.run 的 macOS 节点,Clawdbot 可以在所需二进制文件存在于该节点上时将仅 macOS 技能视为符合条件。代理应通过 nodes 工具(通常 nodes.run)执行这些技能。
技能观察器(自动刷新)
默认情况下,Clawdbot 监视技能文件夹并在 SKILL.md 文件更改时更新技能快照:
{
skills: {
load: {
watch: true,
watchDebounceMs: 250
}
}
}令牌影响
当技能符合条件时,Clawdbot 将可用技能的紧凑 XML 列表注入系统提示。
每技能大约:97 字符 ≈ 24 令牌 加上实际字段长度。