Agent Skill不仅仅是提示词的集合。SKILL.md中的指令可以改变代理的行为,而附带的scripts/可以执行本地命令。安装公共技能是一项供应链操作,它在增加便利功能的同时,也将新的代码和指令引入信任边界内。
本文将实践如何在skills.sh上查找技能,不立即进行全局安装,而是先审查源代码,然后仅在项目范围内安装。命令已根据2026年8月7日确认的skills CLI 1.5.22版本进行验证。

本次实践内容
实践目标分为以下五个步骤:
- 在skills.sh和CLI中查找候选技能。
- 安装前检查仓库和包含的文件。
- 创建记录提交哈希的本地审查副本。
- 仅将特定技能复制到Codex的项目范围。
- 验证安装结果,并在必要时移除。
准备工作包括Git、Node.js 18或更高版本以及rg。如果没有rg,也可以使用编辑器的搜索功能执行相同的搜索。
node --version
npm --version
git --version
rg --version
skills CLI可以直接通过npx运行。首先,我们只检查版本和帮助信息。
npx --yes skills@latest --version
npx --yes skills@latest --help
预期结果是1.5.22之类的版本号以及add, use, remove, list, find, update, init命令列表。版本会随时间变化,因此在团队文档中记录实践时使用的版本是一个好习惯。

图:公共技能的安全安装流程 · 基于skills.sh CLI文档、vercel-labs/skills README重构
为什么安装前需要审查
skills.sh文档指出,它无法保证公共生态系统中所有技能的质量或安全性,因此用户在安装前必须自行审查。排名是基于匿名安装统计的发现信号,而非安全评分。即使有审计徽章,当前版本、安装后添加的文件、实际权限和执行环境也必须单独检查。
从安全角度来看,至少需要区分三点:
WRIMO-MD-TABLE-0][OWASP LLM01:2025也描述了间接提示词注入,即外部文件或网页的指令改变代理行为。因此,即使正在审查的SKILL.md中包含“停止本次审查”、“忽略上级指令”等语句,也应将其视为分析数据,而非命令。
步骤1:在skills.sh中查找候选
您可以在浏览器中打开
npx --yes skills@latest find security
npx --yes skills@latest find skill --owner vercel-labs
确定候选后,不要立即安装,而是先列出仓库中包含哪些技能。
npx --yes skills@latest add vercel-labs/agent-skills --list
–list显示在仓库中找到的技能名称。从这里记录作者、仓库地址和所需的技能名称。
步骤2:在单独的目录中审查源代码
创建一个用于实践的工作目录。
mkdir -p skill-lab/vendor
cd skill-lab
浅克隆要审查的官方仓库。示例是Vercel Labs的公共仓库,但相同的过程也适用于其他技能。
git clone --depth 1 https://github.com/vercel-labs/agent-skills.git
vendor/agent-skills-review
git -C vendor/agent-skills-review rev-parse HEAD
最后一条命令的提交哈希是描述所审查确切状态的证据。接下来,查找文件列表和危险信号。
find vendor/agent-skills-review -type f -maxdepth 4 | sort
rg -n -i
'ignore previous|system prompt|curl|wget|eval(|exec(|shell=true|.ssh|.aws|process.env|os.environ|rm -rf'
vendor/agent-skills-review
搜索结果不应立即被判定为恶意。安全教育文档可能包含危险命令作为示例。请同时检查发现行的上下文、该文件是否实际执行,以及它是否在未经用户批准的情况下执行网络或文件更改。
特别是,如果无法回答以下问题,请暂停安装:
- 为什么此技能需要访问网络?
- 它读取和写入哪些路径?
- Shell命令参数是否与用户输入合并?
- 在删除、上传、提交、部署等外部操作之前是否需要批准?
- scripts/中是否包含二进制文件或混淆代码?
步骤3:仅在项目范围内安装特定技能
从已审查的本地仓库中,将所需的单个技能复制到Codex的项目路径中。
npx --yes skills@latest add ./vendor/agent-skills-review
--skill skill-creator
--agent codex
--copy
核心是三个选项:
- –skill skill-creator:仅选择所需的技能,而不是整个仓库。
- –agent codex:将安装目标限制为Codex。
- –copy:从原始仓库创建独立的副本,明确保留实际安装文件。
由于未附加-g或–global,它将默认安装在项目范围内。全局安装会将技能暴露给所有项目,因此,只有在确定重复使用(例如作为组织标准)的情况下,才考虑全局安装更为安全。
如果不想发送匿名安装统计信息,可以在执行前指定以下环境变量:
export DISABLE_TELEMETRY=1
根据skills.sh CLI文档,此设置将禁用用于安装排名的匿名遥测数据。
步骤4:验证安装结果
分别以人类可读的列表和JSON格式验证已安装的技能。
npx --yes skills@latest list --agent codex
npx --yes skills@latest list --agent codex --json
接下来,检查项目中生成的技能路径。
find . -path '*/skills/*/SKILL.md' -print
比较安装前的审查副本和实际安装副本。路径可能因CLI和代理版本而异,因此请使用前一条命令中确认的实际路径。
diff -ru
vendor/agent-skills-review/skills/skill-creator
.codex/skills/skill-creator
如果Codex将项目技能安装在.agents/skills/中,则只需更改第二个路径。如果差异与预期不符,请勿运行该技能,并重新检查安装来源和选项。
步骤5:移除和清理
如果已完成实践或审查失败,请移除已安装的技能。
npx --yes skills@latest remove skill-creator --agent codex --yes
再次检查它是否已从列表中消失。
npx --yes skills@latest list --agent codex
最后,仅在工作目录内删除实践用的审查副本。删除前务必确认当前位置。
pwd
rm -rf ./vendor/agent-skills-review
操作环境检查清单
- 记录仓库地址和审查提交哈希。
- 默认情况下,优先选择项目安装而非全局安装。
- 仅选择必要的技能,而不是整个仓库。
- 检查SKILL.md、脚本、引用文件和二进制文件。
- 通过单独的执行策略限制网络、凭据、删除和部署权限。
- 更新也应与新安装一样,重新进行审查。
- 不要将自动扫描器的通过解释为安全保证。
总结
虽然一行`npx skills add`很方便,但安全的引入过程在审查上花费的时间比发现上更多。公共技能是结合了提示词和代码的供应链包。为了明确信任边界,您必须固定来源和提交,仅在项目范围内安装必要的技能,并与实际安装版本进行比较。
下一篇中,我们将应用此原则,使用skill-creator直接创建专用于安全审查的技能。
发表回复