跳转到内容

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(含 frontmatter name / description 等元数据)
  • 可含任意子目录与文件(references/ / templates/ / assets/ / scripts/ ...),都会被一并下载
  • 与 gh skill / vercel-skills 共享 lockfile(~/.agents/.skill-lock.json schema v3),三家工具装的 skill 互相可见

别名:cnb-rs skill / cnb-rs skills 两者完全等价。

可用命令 ​

子命令Phase说明
cnb-rs skill install1从 CNB 仓库装 skill 到本地 AI agent(递归下载所有文件 + 注入 cnb-* 元数据)
cnb-rs skill list(ls)1列出已装的 cnb skill(仅显示 sourceType: "cnb" 的 entry,含 ref / agents 等)
cnb-rs skill update2升级已装的 cnb skill 到上游最新 ref(sha 比对 + up-to-date 跳过 + pinned 保护)
cnb-rs skill remove(rm)2卸载 skill:删 canonical + 各 agent 目录 + 移 lockfile entry;--keep-files 保留
cnb-rs skill preview2不下载不写盘,仅打 SKILL.md 内容到 stdout(stdout/stderr 严格分离)
cnb-rs skill init2在目标目录生成 SKILL.md 模板(含 frontmatter + 中文引导,纯本地 0 网络)

安装位置 ​

skill 在每个 agent 对应目录下都有一份(symlink,Windows 自动 fallback 到 copy);canonical 副本在 <base>/.agents/skills/<name>/:

Scopebase 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) 对方写的字段:

工具sourceTypelist 命令
cnb-rscnbcnb-rs skill list
gh skillgithubgh skill list
vercel-skillsvercelvercel skills list

端到端示例:完整 skill 生命周期 ​

bash
# ─── 装 ───
# 装仓库 skills/ 下所有 skill 到 project scope,自动 detect agent
$ cnb-rs skill install wwvo/cnb-rs/cnb-rs-skills

# 只装指定 skill 名(空格分隔)
$ cnb-rs skill install wwvo/cnb-rs/cnb-rs-skills skill-foo skill-bar

# 锁到指定 ref(branch / tag / commit)+ 装到 user scope
$ cnb-rs skill install wwvo/cnb-rs/cnb-rs-skills --pin v1.0.0 --scope user

# 显式指定 target agent(comma 分隔)
$ cnb-rs skill install wwvo/cnb-rs/cnb-rs-skills --agent claude-code,windsurf

# 装到自定义目录(测试用)
$ cnb-rs skill install wwvo/cnb-rs/cnb-rs-skills --dir /tmp/test-skills

# ─── 看 ───
# 列出已装 cnb skill(人类可读表格)
$ cnb-rs skill list
$ cnb-rs skill ls               # alias

# JSON 输出(脚本调用)
$ cnb-rs skill list --json

# 装之前先预览 SKILL.md(不下载、不写盘)
$ cnb-rs skill preview wwvo/cnb-rs/cnb-rs-skills skill-foo
$ cnb-rs skill preview wwvo/cnb-rs/cnb-rs-skills@v0.1.0 skill-foo  # 看特定 tag

# ─── 升 ───
$ cnb-rs skill update --all                  # 升所有非 pinned
$ cnb-rs skill update skill-foo              # 升单个
$ cnb-rs skill update --all --force          # 强制升(含 pinned)

# ─── 卸 ───
$ cnb-rs skill remove skill-foo              # 删文件 + 移 lockfile entry
$ cnb-rs skill rm skill-foo                  # alias
$ cnb-rs skill remove skill-foo --keep-files # 保留磁盘文件

# ─── 写新 skill ───
$ mkdir my-new-skill && cd my-new-skill
$ cnb-rs skill init                          # 生成 SKILL.md 模板
$ $EDITOR SKILL.md                           # 编辑骨架

另请参阅 ​

Released under the MIT License.