skill-normalize

SKILLAI 工具
AI 工具 未标注权限 许可证不明确
安装这个技能

多 AI agent skill 归一化与去重 Skill。当用户提到"skill 归一化"、"skill 去重"、"agent skill 合并"、"重复 skill 太多"、"~/.claude / ~/.codex / ~/.codebuddy 同一个 skill 多份"、"统一 skill 数据源"、"normalize agent skills"、"dedupe AI agent skills"、"merge skill copies"、"save disk space across Claude Codex CodeBuddy"、"一处更新所有 agent 生效"、"symlink agent skills" 时应触发。即使用户只说"我装了好几个 AI 工具,硬盘里同一个 skill 居然有 3-5 份"或者"~/.claude 里的 skill 跟 ~/.codex 里有重复的,能合并吗"也应触发。**不要 undertrigger** —— 用户问 agent skill 重复问题、跨 agent skill 共享、agent skill 维护负担时,不调本 Skill 而手动给建议会导致用户继续浪费磁盘空间和心智带宽。**不要 overtrigger** —— 用户说"安装一个新 skill"、"在 skillhub 上搜个 skill"、"升级 skill 版本"是 install / search / upgrade 子命令的事,与本 Skill 无关。本 Skill 通过扫描本机所有已知 AI agent (Claude Code / Codex / CodeBuddy / WorkBuddy / agents-personal) 的 skill 目录,把内容相同的 skill 合并到 ~/.skillhub/<slug>/ 单一权威拷贝,原 agent 路径变为目录级 symlink;schema 不兼容(带 allowed-tools / connector / disable)的 skill 自动跳过;冲突(同名不同 hash)报告但不动;提供 scan / status / plan / apply / rollback / dry-run 全套子命令 + tar 全量备份;macOS only。

一句话选型结论

按资料字段整理

skill-normalize是AI 工具类的 Agent Skill,安装方式未标注,权限级别未标注,许可证不明确,有可直接复制的安装命令。技能本质是给模型读的说明书,效果取决于模型与客户端;装完先用一个小任务验证,再放进正式流程。

分类AI 工具 安装方式未标注 权限级别未标注权限 许可证许可证不明确
累计安装 未标注 本周 未标注
GitHub 星标 未标注 仓库 未标注
下载量 未标注 技能市场下载数
权限级别 未标注权限 安装前请确认风险范围
许可证 许可证不明确 未说明

安装

未标注
在支持 Skills 的客户端里执行,装完问一句「你有哪些技能」验证
skillhub install user_d0123732/skill-normalize
  1. 1
    确认客户端支持

    确认你的客户端支持 Skills(Claude、Codex、Cursor 等),并升级到较新的版本。

  2. 2
    拿到技能文件

    执行上面的命令安装;也可以把仓库里的 SKILL.md 手动放进客户端的 skills 目录。

  3. 3
    刷新技能列表

    重新打开客户端,或刷新技能列表,让新放进来的技能被加载。

  4. 4
    验证是否生效

    问一句「你有哪些技能」,确认列表里出现它,再拿一个小任务试跑。

技能档案

AI 工具
字段来自技能仓库与公开索引,中文说明由本站标注
作者 / 维护方user_d0123732仓库 未标注 · 版本 未标注
宿主客户端未标注技能可被这些客户端加载
安装方式未标注安装包 community
权限级别未标注权限安装前请确认风险范围
许可证未说明许可证不明确,商用前请自行确认条款
仓库可用性available技能仓库当前是否可访问
最近核验未标注上游最后核验时间 · 数据更新 1791663563
正文体量9.1 KBSKILL.md 原文大小,越大说明说明书写得越细

典型使用场景

3 类
按分类整理的常见用法,具体以 SKILL.md 为准
组合多个 AI 能力

把写作、检索、总结串成一条流程。

搭工作流

把固定流程做成可重复调用的步骤。

做提示词与评测

整理提示词并对比输出效果。

选择建议

装之前先看这几条
按条目字段给出的判断,不替你决定用不用

值得选的地方

  • 有可直接复制的安装命令,不用自己翻文档找入口。

先想清楚的地方

  • 没有标注权限级别,实际能做什么要装好后确认。
  • 许可证不明确,商用或二次分发前先到仓库确认条款。
  • 没有做站内核验,内容以作者仓库为准。
  • 技能只是说明书,实际效果取决于模型与客户端,装完先用小任务试一遍。

更适合

  • 需要在AI 工具场景里给模型补一套做法的人。
  • 愿意先读一遍 SKILL.md、确认它会让模型做什么的人。

不太适合

  • 对许可证要求很严、必须明确可商用的人。
  • 只想装完就自动变强、不打算看说明书的人。

同类对比

6 个同类
同分类里挑最接近的几条,字段以各自详情页为准
技能权限级别安装方式累计安装宿主客户端安装命令
skill-normalize当前 未标注权限 未标注 未标注 未标注 有
执行计划 只读 GitHub 仓库 151.5 万 Codex、Claude、Cursor 有
Playwright MCP 测试 浏览器控制 ClawHub 市场 136.5 万 OpenClaw 有
完成前的验证 未标注权限 GitHub 仓库 131.9 万 Codex、Claude、Cursor 有
子 Agent 驱动开发 只读 GitHub 仓库 131.2 万 Codex、Claude、Cursor 有
前端设计 执行命令 GitHub 仓库 125.6 万 Codex、Claude、Cursor 有

SKILL.md 全文

9.1 KB
模型实际读到的说明书原文,来自技能仓库

skill-normalize

把分散在多个 AI agent (Claude Code / Codex / CodeBuddy / WorkBuddy / agents-personal) 的重复 skill 合并到 ~/.skillhub/&lt;slug&gt;/ 单一权威拷贝,原 agent 路径替换为目录级 symlink。一处更新,所有 agent 生效。

> ℹ️ 本 Skill 是 skillhub CLI 的扩展子命令 normalize,由 scripts/skills_normalize.py 实现 + scripts/skillhub.sh 包装脚本驱动(安装后改名为 ~/.skillhub/skillhub,保持用户的 alias 习惯)。规范化只读模式默认输出,--apply 才动磁盘,所有改动 tar 全量备份后才落盘。

适用场景与边界

用户想做的事 是否触发本 Skill
把 ~/.claude / ~/.codex / ~/.codebuddy 的同一个 skill 合并 ✅
统一所有 AI agent 的 skill 数据源 ✅
算一下 skill 重复占了多少空间 ✅(用 --scan-only + --status)
加新 agent (Cursor / Aider / Continue) 的扫描支持 ✅(写 ~/.skillhub/.normalize-adapters.json,见 references/adapters.md)
安装新 skill / 搜索 skillhub 商店 / 升级单个 skill ❌(用 skillhub install / search / upgrade,不是本 Skill)
Linux / Windows 上跑 ❌(本 Skill 仅 macOS 适配)

工作流

1. 安装

skill 装到 ~/.skillhub/skill-normalize/ 之后,需要做一次性的 shell 集成。直接跑包内的安装脚本:

~/.skillhub/skill-normalize/scripts/install.sh

这一步会做:
1. 把 scripts/skills_normalize.py 软链到 ~/.skillhub/skills_normalize.py(与 skills_store_cli.py 同级)。
2. 把 scripts/skillhub.sh 软链到 ~/.skillhub/skillhub(去掉 .sh,保持用户 alias 习惯)。
3. 跑 python3 skills_normalize.py --bootstrap 把 normalize 子命令插进 skills_store_cli.py。
4. 给 shell rc 写 alias skillhub=&#x27;~/.skillhub/skillhub&#x27;(可选;脚本会问)。

之后每次 CLI self-upgrade 时如果 skills_store_cli.py 被替换,包装脚本会在每次调用前自动重打补丁,对用户透明。

2. 探查(read-only)

skillhub normalize --scan-only      # 列出每个 agent 装了多少 skill、多少已是 symlink
skillhub normalize --status         # 列出已归一化的 skill + 反向链接数
skillhub normalize                  # 计算 plan 写到 ~/.skillhub/.normalize-plan.json,不动磁盘

3. 执行

skillhub normalize --apply --dry-run   # 打印所有 mv / ln -s / cache invalidate 操作但不执行
skillhub normalize --apply             # 真跑,备份在 ~/.skillhub/.normalize-backup/&lt;ts&gt;/

4. 回滚

skillhub normalize --rollback &lt;ts&gt;     # 从备份还原;ts 用 ls ~/.skillhub/.normalize-backup/ 看

回滚做三件事:解 tar 还原 agent 原路径 → 删 ~/.skillhub/&lt;slug&gt;/ 权威副本 → 清 .skills_store_lock.json 里这次 apply 加的条目。

支持的 AI agents

Adapter 扫描路径 加载机制
claude ~/.claude/skills/&lt;slug&gt;/SKILL.md fs scan
claude-plugins ~/.claude-internal/plugins/cache/&lt;mp&gt;/&lt;plugin&gt;/&lt;ver&gt;/skills/&lt;slug&gt;/SKILL.md installed_plugins.json 注册
codex ~/.codex/vendor_imports/skills/skills/.curated/&lt;slug&gt;/SKILL.md skills-curated-cache.json
codex-internal 同 codex 但在 ~/.codex-internal/ 同 codex
codebuddy ~/.codebuddy/plugins/marketplaces/*/{plugins,external_plugins}/*/skills/&lt;slug&gt;/SKILL.md marketplace cache
workbuddy ~/.workbuddy/connectors/skills/&lt;conn&gt;/SKILL/SKILL.md MCP connector
agents-personal ~/.agents/skills/&lt;slug&gt;/SKILL.md 用户手动归一化目录

新 agent 通过 ~/.skillhub/.normalize-adapters.json 加,无需改代码。schema 见 references/adapters.md。

归一化判定(normalize-safe)

每个 skill 的 frontmatter 由 parse_frontmatter 取出后,按下表分类:

Frontmatter 字段 处理
仅 name / description / shortDescription / icon* / repoPath / version / author / source ✅ 归一化候选
含 allowed-tools(CodeBuddy 工具授权专属) ❌ skipped,原样保留 + 写 reason
含 connector(WorkBuddy MCP 连接器 ID 专属) ❌ skipped
含 disable(WorkBuddy 启用标志专属) ❌ skipped

把 CodeBuddy 的 allowed-tools skill 拷到 Codex 下不会出错,但工具授权会失效;把 WorkBuddy 的 connector skill 拷到 Claude 下没有 MCP server 它就废了。所以这类 skill 保留原样并标 reason,不归一化。

冲突处理

按 lowercase basename 分组后,组内 sha256:
- 全相等 → canonicalize action(合并)
- 不相等 → conflict action(同名不同内容,写到 plan 但 apply 跳过)

冲突常见来源:不同 agent vendor 了不同版本的同名 skill(比如 pdf 在 codex 和 codebuddy 里 hash 不一样)。看到 conflict 后用户可以:
1. 手动二选一然后删除其他副本
2. 跳过让两边各保留各的副本
3. 重命名其中一个让 hash 不同的也能共存

v1 不自动选——错的合并代价比保留重复大得多。

内置安全网

每次 --apply:
1. 单 skill 单事务:先 tar 全量备份目标 + 所有 appearance 路径到 ~/.skillhub/.normalize-backup/&lt;ts&gt;/,再 os.rename 权威源到 ~/.skillhub/&lt;slug&gt;/,再建 symlink。中途 crash → 备份完整可回滚。
2. 失效 cache:每个 adapter 声明的 cache 文件被 unlink,下次 agent 启动时重建,避免读到 stale state。
3. Symlink 形态保留:tar 不解引用 symlink,rollback 时 agent 原本是 symlink 还会还原成 symlink(早期版本曾把 symlink 还原成 regular dir,现已修复,回归测试覆盖)。
4. 已归一化跳过:所有 member 的 real_path 都指向 ~/.skillhub/&lt;slug&gt;/ 的组在 plan 阶段被过滤,所以 apply 是幂等的。

与 skillhub 现有功能的关系

子命令 谁负责
skillhub install &lt;slug&gt; 不是本 Skill:从 metadata.json 配置的云端仓库下载 zip 装到 ~/.skillhub/&lt;slug&gt;/
skillhub search &lt;query&gt; 不是本 Skill:调 skills_search_url 找云端 skill
skillhub upgrade [&lt;slug&gt;] 不是本 Skill:根据每个 skill config.json 里的 update URL 升级
skillhub list 不是本 Skill:读 .skills_store_lock.json 列已装
skillhub normalize 本 Skill:扫描本地各 AI agent 的 skill 目录、合并重复、symlink 归一
skillhub self-upgrade 不是本 Skill:升级 CLI 自身

normalize 写到 lockfile 时 source 字段标 agent-import(区别于 skillhub 这个 install source),所以后续 list 和 upgrade 看得到这些条目,但不会去云端找它们的更新(云端没这些 slug,因为它们是从本地 agent 目录"逆向"来的)。

验证示例

跑完 skillhub normalize --apply 之后,验证三个独立 agent 路径下的 algorithmic-art 全部指向同一个权威拷贝:

for p in \
  ~/.claude-internal/plugins/cache/anthropic-agent-skills/document-skills/*/skills/algorithmic-art \
  ~/.claude-internal/plugins/cache/anthropic-agent-skills/example-skills/*/skills/algorithmic-art \
  ~/.claude-internal/plugins/cache/anthropic-agent-skills/claude-api/*/skills/algorithmic-art ; do
  echo &quot;$p -&gt; $(readlink -f &quot;$p&quot;)&quot;
done
# 期望:3 行 readlink -f 输出全是 ~/.skillhub/algorithmic-art

架构与详细参考

  • references/architecture.md — 数据流图、operation 序列、单事务保证
  • references/adapters.md — 自定义 adapter schema + 加新 agent 的步骤
  • references/troubleshooting.md — 常见问题 + 调试命令

常见问题

5 问
答案由本站依据条目字段整理
skill-normalize怎么安装?

在支持 Skills 的客户端里执行:skillhub install user_d0123732/skill-normalize。安装方式为未标注。装完刷新技能列表或重开客户端。

skill-normalize支持哪些客户端?

资料没有标注宿主客户端,但只要客户端支持 Skills(Claude、Codex、Cursor 等),一般都能加载。

skill-normalize权限高吗,安全吗?

权限级别为未标注权限。安装前先看它会读取或写入哪些内容。

skill-normalize收费吗?

本站不代收费用,也没有标注具体价格。是否收费取决于技能本身和所用的模型或客户端,正式使用前按作者说明确认。

skill-normalize用什么许可证?

许可证标注为 未说明(许可证不明确)。商用或二次分发前请到仓库确认条款原文。

热门专题

按场景挑技能
全部专题 →

技能内容以作者仓库为准;分类、权限级别与许可证状态的中文说明为中文整理,最近核验 未标注。