Skill 归一化
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_d0123732/skill-normalize。
技能介绍
问题从哪来
如果你同时在 Claude Code、Codex、CodeBuddy、WorkBuddy 或 agents-personal 里装过同一套 skill,磁盘上往往是多份内容相同或近似的目录:各自更新、各自占空间,改一处其它 agent 仍读旧拷贝。本技能面向的是「本地多 agent 目录里 skill 重复」这件事,而不是从 skillhub 商店安装或搜索云端包。
它怎么工作
skill-normalize 是 skillhub CLI 的 normalize 子命令(scripts/skills_normalize.py + 包装脚本)。流程可以概括为:
- 探查:按内置 adapter 扫描各 agent 的 skill 路径(如
~/.claude/skills/、~/.codex/vendor_imports/skills/等),用 frontmatter 做 normalize-safe 判定;带allowed-tools、connector、disable等与 agent 绑定的 skill 会 跳过 并记录原因。 - 合并:按 skill 目录名(小写 basename)分组,组内 sha256 全相同 才进入 canonicalize;同名不同内容记为 conflict,写入 plan 但 apply 不自动选边。
- 落盘:仅
--apply会改磁盘;每个 skill 单事务——先 tar 备份目标与所有出现路径到~/.skillhub/.normalize-backup/,再把权威副本放到~/.skillhub/<skill>/,各 agent 原路径换成 目录级 symlink;并清理 adapter 声明的 cache,避免 stale 状态。
默认是只读输出;回滚可解 tar 还原 agent 路径、删除权威副本并清理 lockfile 中本次 apply 条目。新 agent 可通过 ~/.skillhub/.normalize-adapters.json 扩展,无需改代码。
边界与注意
- 平台:文档写明仅 macOS 适配,Linux / Windows 不在支持范围。
- 职责:
install/search/upgrade/list仍由 skillhub 其它子命令负责;normalize 写入 lock 的source为 agent-import,列表可见但不会按云端 URL 升级。 - 冲突:v1 不自动合并 hash 不一致的同名 skill,误合并代价大于保留重复,需你手动二选一、跳过或重命名。
使用场景
- 在 Mac 上同时用 Claude Code 与 Codex,发现同名 skill 各占一份目录,想合并到 `~/.skillhub/` 并用 symlink 指回各 agent
- 准备整理本机 skill 占用,先用只读扫描统计重复组与可释放空间,再决定是否 `--apply`
- 刚在权威目录改完某个 skill,希望 CodeBuddy、WorkBuddy 等路径不必再手动同步拷贝
- 要为 Cursor 或 Aider 增加扫描路径,通过 `~/.skillhub/.normalize-adapters.json` 接入而不改 normalize 源码
适合人员
- 在 macOS 上并行维护 Claude、Codex、CodeBuddy 多套 skill 目录、厌倦双份更新的后端工程师
- 负责把同一内部 skill 分别放进 CodeBuddy marketplace 与 Codex curated 缓存的平台工具同学
- 使用 `~/.agents/skills/` 与 Claude plugins cache、想统一数据源的个人 agent 配置维护者
- 维护 skillhub 本机工具链、需要为新增 AI 客户端写 normalize adapter 配置的 CLI 贡献者