本地克隆 agents 后用 npx skills add ./agents 列表出现重复技能怎么办?
2026/9/12 1:36:31 网站建设 项目流程

本地克隆 agents 后用 npx skills add ./agents 列表出现重复技能怎么办?

【免费下载链接】agentsMulti-harness agentic plugin marketplace for Claude Code, Codex, Cursor, OpenCode, GitHub Copilot, and Google Antigravity项目地址: https://gitcode.com/GitHub_Trending/agents24/agents

在 agents 这个多 harness 插件市场里,gh skillnpx skills是两条只安装技能(skills only)的渠道:它们直接读取plugins/*/skills/下的SKILL.md,不需要 clone、marketplace 或 generate 步骤。但如果你先本地克隆了仓库,又运行过make generate-all,再执行npx skills add ./agents(或npx skills add . --list)时,列表里会出现同一技能的重复项。原因是文档在 docs/harnesses.md 中明确指出的一个已知行为:

Local checkouts.Aftermake generate-all,npx skills add ./agentsalso walks the gitignored.codex/,.opencode/and.copilot/trees and lists their copies.

也就是说,npx skills会遍历目录树,把make generate生成到.codex/.opencode/.copilot/这些被 gitignore 的 harness 产物树里的技能副本也一并列出来,于是每个源技能旁边多出了几份来自生成树的拷贝。重复列表本身就是判断依据:只要你的本地目录里存在这三个生成树,npx skills的列表就会超过 183 个源技能的数量。

两条修复路径

文档给出的处理方式是:改用 GitHub 源安装,或换用跳过隐藏目录的本地安装命令。

方案一:从 GitHub 源安装(推荐主路径)

不要指向本地目录,直接用仓库名安装。npx skills从 GitHub 读取的是源树,本地生成树根本不在遍历范围内:

npx skills add wshobson/agents --list npx skills add wshobson/agents --skill python-testing-patterns -a claude-code npx skills add wshobson/agents --all -g

--list用于先浏览可安装的技能;-a指定目标 agent(如claude-code),-g表示装到用户级作用域;python-testing-patterns是一个真实技能名,换成你需要的技能即可。

方案二:用gh skill--from-local本地安装

如果你想坚持从本地目录安装(无网络),用 GitHub CLI 的本地模式。gh skill(GitHub CLI 2.90+)支持--from-local,该参数会跳过隐藏目录,因此不会把.codex/.opencode/.copilot/等生成树列进来:

gh skill install . --from-local

交互式列表中,本地源技能显示为[plugins] <plugin>/<skill>形式(<plugin>/前缀只是展示用途);选择时按裸技能名或完整plugins/<plugin>/skills/<skill>路径选择,python-development/python-testing-patterns这种带插件前缀的裸名不是有效选择器。

验证结果是否恢复正常

gh skill的本地安装列出技能并统计条目数,应恰好是 183 个源技能:

gh skill install . --from-local | grep -c '^\[plugins\]' # 预期:183 个源技能,显示为 `[plugins] <plugin>/<skill>`

该验证方式来自 docs/round-trip-results.md 的 "Agent Skills installers" 复现配方,其中 183 是分支切出时经真实 CLI 验证的源技能数量(gh skillnpx skills均发现 183/183)。如果npx skills add . --list的计数超过 183,对照该文档的说明,超出部分正是 gitignored 生成树的副本,说明你仍处在"生成过的 checkout"状态下,应改用上面两条路径之一。

另外可以用 Makefile 中的make smoke-test跑一次真实 CLI 冒烟测试:它会先生成缺失的产物(若.opencode.codex.antigravity目录不存在则先generate-all),然后运行tools/tests/test_cli_smoke.py,其中包含"每个源技能目录名在插件间唯一"以及两个安装 CLI 都能发现全部源技能的断言。测试对 PATH 上不存在的 CLI 会优雅跳过,所以本机装了什么就验证什么。

限制与边界

  • 两个安装器都按裸技能名安装(<agent>/skills/<skill>/),技能目录名在插件间必须唯一,make smoke-test会守住这一点;一旦出现重名,安装时会互相冲突。
  • npx skills在生成过的 checkout 上"列表是超集"是文档确认的行为,不是仓库数据损坏;从 GitHub 源安装或--from-local都不会遇到。
  • 这两条渠道只携带技能本身,不含 agents、commands 或 hooks;需要完整组件时走各 harness 的原生安装路径(见 docs/harnesses.md 的 "Native install" 一节)。

【免费下载链接】agentsMulti-harness agentic plugin marketplace for Claude Code, Codex, Cursor, OpenCode, GitHub Copilot, and Google Antigravity项目地址: https://gitcode.com/GitHub_Trending/agents24/agents

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询