你每周都在输入同一段长长的请求:"审查这个 PR,找出 bug 和缺失的测试,标注文件和行号,不要评论代码风格"。Skill 把这段脚本存进一个文件,变成一条命令。在 Verboo Code 中,你在文件夹里创建 skill,用 /skills 查看,再用 /skill 名称 调用。
Verboo Code 中的 skill 是什么?
它是放在以 skill 命名的文件夹里的 SKILL.md 文件。文件夹名就是命令:.verboo/skills/revisar-pr/SKILL.md 对应 /revisar-pr。文件开头是 frontmatter,说明何时使用以及 skill 能做什么,下面是智能体要遵循的指令。
与每次对话都会载入的 AGENTS.md 不同,skill 只有在被调用时才载入全文。在那之前,只有名称和描述占用上下文。
如何一步步创建 skill?
在项目根目录创建文件夹和文件:
mkdir -p .verboo/skills/revisar-pr
touch .verboo/skills/revisar-pr/SKILL.md
把以下内容粘贴到 SKILL.md:
---
description: 审查 GitHub PR 的 diff,指出 bug、缺失的测试和含糊的命名
when_to_use: 当用户按编号要求审查 pull request 时
argument-hint: <PR 编号>
allowed-tools:
- Bash(gh pr diff:*)
- Bash(gh pr view:*)
- Read
---
审查本仓库的 pull request #$ARGUMENTS。
1. 运行 gh pr view $ARGUMENTS 和 gh pr diff $ARGUMENTS。
2. diff 缺少上下文时,读取完整的改动文件。
3. 分三块回答:bug、缺失的测试、含糊的命名。
4. 每一条都标注文件和行号。不要评论代码风格。
用 verboo 启动会话,然后调用:
/revisar-pr 42
在内容送达智能体之前,文本中所有 $ARGUMENTS 都会被替换为 42。
/skills 会显示什么?
会话载入的所有 skill,按来源分组,并显示每个描述在上下文中占用多少 token。输入:
/skills
每个分组都会附上来源路径,例如 Project skills (.verboo/skills) 和 User skills (~/.verboo/skills)。每个 skill 旁边会显示类似 ~40 description tokens 的内容:这是名称、description 和 when_to_use 在每次对话中占用的估算值。如果一个都没有,菜单会显示 No skills found,并提示两个创建路径。
Verboo Code 在哪里查找 skill?
四个位置。文件夹决定谁能看到这个 skill。
| 来源 | 路径 | 使用者 |
|---|---|---|
| 项目 | .verboo/skills/<name>/SKILL.md(也读取 .claude/skills/) | 所有克隆该仓库的人 |
| 用户 | ~/.verboo/skills/<name>/SKILL.md(也读取 ~/.claude/skills/) | 仅你自己,任何项目都可用 |
| 托管 | 由公司指定的文件夹 | 整个团队,只读 |
| 插件与 MCP | 来自插件或 MCP 服务器 | 安装者 |
你为 Claude Code 写在 ~/.claude/skills/ 中的 skill 无需复制就会出现。如果设置了 VERBOO_CONFIG_DIR,就不会再读取 ~/.claude/skills/。
文件夹嵌套会形成命名空间:.verboo/skills/frontend/revisar/SKILL.md 的调用方式是 /frontend:revisar。
frontmatter 支持哪些字段?
全部可选。没有 description 时,Verboo Code 会从正文开头提取描述。
| 字段 | 作用 |
|---|---|
description | 一句话说明 skill 做什么。智能体据此决定是否使用。 |
when_to_use | 何时触发。同样计入 /skills 的 token 估算。 |
argument-hint | 输入命令时显示的提示,例如 <PR 编号>。 |
arguments | 为参数命名:写 arguments: [pr, foco] 后,可用 $pr 和 $foco。 |
allowed-tools | 允许 skill 使用的工具,格式与 /permissions 相同。 |
model | skill 使用的模型。inherit 表示沿用会话模型。 |
effort | 推理等级,取值与 /effort 相同。 |
disable-model-invocation | true 禁止智能体自行调用该 skill。 |
user-invocable | false 会在命令菜单中隐藏该 skill,只有智能体能用。 |
context | fork 让 skill 脱离主对话单独运行。 |
除了 $ARGUMENTS(命令后面的全部内容),还有 $ARGUMENTS[0]、$ARGUMENTS[1] 以及简写 $0、$1。如果正文中一个都没有,Verboo Code 会在末尾追加 ARGUMENTS: ...,参数不会丢失。
如何阻止智能体自行运行 skill?
在 frontmatter 中加入 disable-model-invocation: true。skill 仍会出现在菜单里,你依然可以用 /名称 调用,但智能体无法自行触发。适用于部署、提交、推送等需要你在合适时机亲自触发的操作,而不是由智能体自己判断时机。
---
description: 升级版本号、创建 tag 并发布 release
disable-model-invocation: true
---
陷阱:会话打开时才创建文件夹,skill 没有出现。Verboo Code 会在文件变化时重新载入 skill,但只有当 ~/.verboo/skills 和 .verboo/skills 在会话启动时已存在,才会监听它们。如果你刚刚创建了 .verboo/skills,请退出并重新启动会话,或用 verboo --continue 恢复。此后修改 SKILL.md 无需重启即可生效。
Skill、AGENTS.md 还是内置命令:用哪个?
| 你想要 | 使用 |
|---|---|
| 每次对话都生效的规则("用 pnpm"、"测试用 Vitest") | AGENTS.md 配合 /memory |
| 偶尔重复、需要参数的脚本 | .verboo/skills/ 中的 skill |
| 在每个工具执行前后自动运行命令 | Hooks |
| 与团队共享脚本 | 项目级 skill,随仓库版本管理 |
好的 skill 是你在每个 PR 上都会调用的,哪怕是两千行的 PR,也不用考虑大小。在 Verboo Code 上,各套餐都提供无限 token,所以 /revisar-pr 每次调用都能读完整个 diff。



