关于 npx-skills
这项技能介绍如何用 `npx skills` 命令行安装和维护 Agent 技能,重点涵盖 Claude Code 项目目录及通过锁定文件检查缺失技能。
主要功能
- 01使用 `npx skills add` 安装技能
- 02用 `skills-lock.json` 记录项目技能
- 03根据锁定文件检测缺失技能
- 04支持项目级和全局安装
- 05通过复制安装来更新文件
适用场景
- 01为 Claude Code 项目配置技能
- 02检查锁定文件中的技能是否缺失
- 03刷新已安装的技能文件
- 04选择项目级或全局安装
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ petr-korobeinikov/ skills --skill npx-skills安装后在 Claude Code 中输入/npx-skills确认已加载。
详细介绍
npx-skills
npx skills CLI
(https://github.com/vercel-labs/skills)
会从 GitHub 源安装 Agent 技能到宿主项目的 .claude/skills/ 目录,
并写入项目级 skills-lock.json,记录已安装的内容。
锁定文件
| 文件 | 范围 | 是否纳入版本控制 | 每项技能的字段 |
|---|---|---|---|
skills-lock.json(仓库根目录) | 项目 | 是 | source、sourceType、skillPath、computedHash |
~/.agents/.skill-lock.json | 全局 | 否 | 使用 -g 时写入 |
项目锁定文件是仓库预期存在的技能的权威记录。
启动时检测
首次在项目中交互时,如果仓库根目录存在 skills-lock.json,
但没有 .claude/skills/ 目录
(或者该目录存在,但锁定文件中列出的技能缺失):
-
读取
skills-lock.json, 列出skills.*下 不在.claude/skills/中的技能名称。 -
收集这些条目中不重复的
source值。 -
向用户报告缺失的技能, 并为每个不重复的源提供一条安装命令:
npx skills add <source> --skill '*' --copy -a claude-code -y -
运行任何命令前,等待用户确认。
只有当用户明确希望将技能安装到
~/.claude/skills/ 下时,
才使用 -g,而非默认的项目本地安装方式。
安装 — 某个源的所有技能
npx skills add <owner/repo> --skill '*' --copy -a claude-code -y
--skill '*'— 源中的每项技能。 替换为--skill <name>可安装单项技能。--copy— 写入普通文件副本, 而非符号链接。 符号链接会使宿主仓库与源代码检出目录耦合, 并让使用方的git status输出变得杂乱。-a claude-code— 指定 Claude Code 的.claude/skills/目录布局。-y— 非交互模式 (跳过逐项技能确认提示)。
安装 — 单项技能
npx skills add <owner/repo> --skill <skill-name> -a claude-code
添加单项技能时,省略 -y —
交互提示简短,
且会确认解析出的源。
更新 — 重新运行 add --copy -y
使用 --copy -y 重新运行安装命令,会原位覆盖
.claude/skills/ 中的现有文件,
因此安装和更新共用一条命令:
npx skills add <owner/repo> --skill '*' --copy -a claude-code -y
避免使用 npx skills update
update 会将软件包暂存到宿主仓库的 .agents/ 下,
使使用方项目的 git status 输出变得杂乱。
--copy 标志不会改变这一点 —
update 虽然接受该标志,却会静默忽略它。
请改用 add --copy -y。
范围:项目与全局
| 模式 | 标志 | 安装路径 |
|---|---|---|
| 项目 | (默认) | .claude/skills/ |
| 全局 | -g | ~/.claude/skills/ |
项目是默认范围,也是推荐范围。
对照上游验证
npx skills 文档站点内容不多。
如果不清楚某个标志或命令的具体行为,
请阅读
https://github.com/vercel-labs/skills
中的源代码(src/add.ts、src/update.ts、src/skill-lock.ts),
不要猜测。