$ go mod for Agent Skills v0.0.5

skillmod

声明依赖、锁定内容、一键对齐。任何机器,得到完全一致的 skill 集合。

zsh
$ skillmod get github.com/openai/skills//gh-fix-ci
✓ 已安装 gh-fix-ci,SKILL.mod 与 SKILL.lock 已更新
$ skillmod sync
✓ 与 SKILL.lock 逐字节一致,幂等完成
$ skillmod share --all --agent claude --agent workbuddy
✓ 链接已就绪:claude · workbuddy
$ skillmod verify
✓ 无漂移(exit 0)

skill 的依赖管理,停在了"前包管理时代"

skill(指令 + 脚本的打包单元)决定 agent 行为。AGENTS.md 告诉 agent 怎么行为,SKILL.mod 声明 agent 需要什么能力。skillmod 把 go mod 的同构方案搬到 skill 上:SKILL.mod 声明,SKILL.lock 用 dirhash 内容寻址锁定,skillmod sync 幂等对齐;share 把同一套安装分发给任意 agent,verify 在漂移时让构建失败。

  • ✗ 手工复制、git submodule、平台市场,同团队不同机器的 agent 行为不一致
  • ✗ 出了故障,回答不了"当时用的是哪个版本"
  • ✓ SKILL.lock 内容寻址,任何篡改在 verify 时无所遁形

三个场景,对号入座

skillmod 不为"一台机器、一个 skill"存在。下面任一场景成立,声明加锁就物有所值。

01

全局底座,项目选装

个人常用技能声明在全局清单,全机器可用;项目依赖声明在项目根的 SKILL.mod / SKILL.lock,随仓库提交。项目只装自己需要的 skill,换项目不串味。两个清单互不合并,命令带 --global 才动全局。

$ skillmod --global init
接管 ~/.agents/skills 里的存量技能
$ cd my-project && skillmod init
只登记这个项目要用的

02

项目分发,一条 sync 到位

SKILL.mod 与 SKILL.lock 提交进仓库,.agents/skills/ 加进 .gitignore。新同事 clone、你换新机器、CI 跑构建,都是同一条 skillmod sync:按锁文件装出逐字节一致的 skill 集合,share 记录的 agent 链接也在每台机器自动重建。

$ git clone … && cd my-project
$ skillmod sync
$ skillmod verify
clone 完一条命令,装出和团队完全一致的 skill

03

更新,或钉死版本

skillmod update 把每个远端 skill 挪到最新的不可变版本——最高 tag 优先,无 tag 仓库才跟 HEAD。要钉住某个版本,在 SKILL.mod 的 version 字段写死 tag 或 commit,分支名直接拒绝。SKILL.lock 记下 version、commit、dirhash,"当时用的哪个版本"永远有答案。

$ skillmod update
$ skillmod update gh-fix-ci
钉版本:version = 'v1.2.0',分支名直接拒绝

每个场景的完整步骤、接管存量、卸载清理,见 场景指南。

装好之后,你得到什么

不是又一个安装脚本,而是一套可提交、可复现、可校验的 skill 声明。

每台机器,逐字节一致

clone、换机、CI 跑构建,同一条 skillmod sync 装出同一套 skill。

版本问题有答案

SKILL.lock 记录 version、commit、dirhash,"当时用的哪个版本"随时可查。

篡改与漂移现形

内容寻址锁定,skillmod verify 在漂移时退出码 2,可直接当构建门槛。

本地修改不被硬覆盖

冲突目标保留并报告,exit 3 把决定权交还给人。

十一条命令、地址与版本规则、存储与配置——完整参考见 skillmod 文档。

两种路径,开始使用

装好之后都用 skillmod upgrade 原地升级:先按发布校验和验证,再替换可执行文件。

装完不知道干什么?五分钟上手 →

让 Agent 引导安装推荐

$ npx skills add huija/skillmod --skill skillmod --global

这条命令只是把引导技能装给 Agent;再对它说一句"安装 skillmod,并确保它可以从 PATH 调用",平台识别、SHA-256 校验、装入 PATH 都由它完成。

手动安装 · 一条命令直达

$ go install github.com/huija/skillmod@v0.0.5

需 Go 1.26.6+;不用 Go 也可以从 Releases 下载压缩包,对照 checksums.txt 校验后放进 PATH。