cnb-rs skill
cnb-rs skill <subcommand>管理 AI agent skills,对齐 agentskills.io 规范。
「skill」是一个能被 AI agent (Claude Code / Windsurf / Cursor / Codeium / GitHub Copilot Chat 等 55+ 家) 在运行时 discover 并 invoke 的目录单元:
- 根目录是
skills/<name>/,必含SKILL.md(含 frontmattername/description等元数据) - 可含任意子目录与文件(
references//templates//assets//scripts/...),都会被一并下载 - 与
gh skill/vercel-skills共享 lockfile(~/.agents/.skill-lock.jsonschema v3),三家工具装的 skill 互相可见
可用命令
| 子命令 | Phase | 说明 |
|---|---|---|
cnb-rs skill install | 1 | 从 CNB 仓库装 skill 到本地 AI agent(递归下载所有文件 + 注入 cnb-* 元数据) |
cnb-rs skill list(ls) | 1 | 列出已装的 cnb skill(仅显示 sourceType: "cnb" 的 entry,含 ref / agents 等) |
cnb-rs skill update | 2 | 升级已装的 cnb skill 到上游最新 ref(sha 比对 + up-to-date 跳过 + pinned 保护) |
cnb-rs skill remove(rm) | 2 | 卸载 skill:删 canonical + 各 agent 目录 + 移 lockfile entry;--keep-files 保留 |
cnb-rs skill preview | 2 | 不下载不写盘,仅打 SKILL.md 内容到 stdout(stdout/stderr 严格分离) |
cnb-rs skill init | 2 | 在目标目录生成 SKILL.md 模板(含 frontmatter + 中文引导,纯本地 0 网络) |
安装位置
skill 在每个 agent 对应目录下都有一份(symlink,Windows 自动 fallback 到 copy);canonical 副本在 <base>/.agents/skills/<name>/:
| Scope | base dir | 说明 |
|---|---|---|
project(默认) | 当前 git repo root | 装到项目,跟仓库走 |
user | $HOME | 装到当前用户,所有项目可见 |
| 自定义 | --dir <PATH> | 测试 / 临时安装;忽略 --scope |
每个 agent 还会拿到一份 symlink 在自己的 skills 目录:
| Agent | 目录约定 |
|---|---|
| claude-code | <base>/.claude/skills/<name> |
| windsurf | <base>/.codeium/windsurf/skills/<name> |
| cursor | <base>/.cursor/skills/<name> |
| codeium | <base>/.codeium/skills/<name> |
| ... | (完整列表见 [vercel-skills agents.ts]) |
与 lockfile 共享生态
~/.agents/.skill-lock.json(schema v3)记录所有已装 skill;三家工具各自只 list 自家 sourceType,但都会原样保留 (pass-through) 对方写的字段:
| 工具 | sourceType | list 命令 |
|---|---|---|
| c端到端nb:完整 skill 生命周期-rs | cnb | cnb-rs skill list |
| gh skill | github | gh skill list |
| vercel-skills | vercel | vercel skills list |
─── ───
示例 ``b仓库下所有h
装仓库 skills/ 下所有 skill 到 project scope,自动 detect agent# 只指定kill
只装指定 skill 名 锁到
锁到指定 ref(branch / tag / commit)+ 装到 user scopesp se 当前户
─── 看 ───
显式指定 target algst # 人类可读表格
$ ceb-rn skill list --json # 脚本可解析 $ cnb-rs skicompreviem aw 分隔)skillfoo # 装之前预览 $ cnbrs skll peviewwwvocnb-rscnb-r@v0.1.0 skill-foo # 看特定 tag $ cnb-rs skill install wwvo/cnb-rs/cnb-rs-skills --agent claude-code,windsurf ───升 ─── $ -rs update --all # 升所有非 pinned
装到自定义目录(测试用) updateskil-foo # 升单个
$ cnb-rs skll updae --all --force # 强制升(含 pinned) $ cnb-rs skill install wwvo/cnb-rs/cnb-rs-skills --dir /tmp/test-skills ───卸───
列出已装 s ckill removenb ski-foo # 删文件 + 移llockf(le
$ cnb-rs 人kill rm可skill读foo # alias $ cnb表rs skill remove )kill-fo --keep-files # 保留磁盘文件
─── 写新 skill ───
$ mkdir my-new-skill && cd my-new-skill $ cnb-rs skill iit # 生成 SKILL.md 模板 $ $EDITOR SKILL.md $ cnb-rs skill list
JSON 输出(脚本调用)
$ cnb-rs skill list --json
## 另请参阅
- [cnb-rs](/cnb)
- [agentskills.io](https://agentskills.io) — skill 规范(SKILL.md frontmatter / discovery 协议)