@niceforbear/uniskill
v0.1.1
Published
Unified skill manager for AI agents: one canonical store (~/.uniskill/store) symlinked into every agent app's skills directory (Qoder, Qoder CN, QoderWork, WorkBuddy, Claude Code, Codex CLI, ...). Install a skill once, update once, available everywhere. A
Downloads
53
Maintainers
Readme
uniskill
一份技能,所有 AI 应用通用。 技能只安装一次、只更新一次,即可同时在 Qoder、Qoder CN、QoderWork、WorkBuddy、Claude Code、Codex CLI 等所有应用中使用——零冗余、零重复劳动。
为什么做这个
每个 AI 应用都从自己的私有目录加载用户技能(~/.qoder/skills、~/.claude/skills、~/.codex/skills……),不存在公共的用户级目录。后果:
- 存储冗余:N 个技能 × M 个应用 = N×M 份完整拷贝
- 更新痛苦:每次升级都要在每个应用目录重复安装一遍
- 状态盲区:无法一眼看清"哪个应用装了什么",拷贝之间逐渐版本漂移
uniskill 让每个技能在 ~/.uniskill/store 只保留一份真实副本,通过符号链接扇出到各应用的 skills 目录:
~/.uniskill/store/political-thinking ← 唯一真实副本
↑ 链接自 ~/.qoder/skills/political-thinking
↑ 链接自 ~/.qoder-cn/skills/political-thinking
↑ 链接自 ~/.qoderwork/skills/political-thinking
↑ 链接自 ~/.workbuddy/skills/political-thinking
↑ 链接自 ~/.codex/skills/political-thinking更新 store 里的一份 → 所有应用重启后即可看到新版本。
安装
npm install -g uniskill
uniskill init # 创建 ~/.uniskill 并探测本机已装的 agent 应用零依赖,Node >= 16.7,macOS / Linux(v0.1)。
使用
# 三种来源,装入 store 后自动链接到所有应用
uniskill add political-thinking-skill # npm 包(安装器式)
uniskill add https://github.com/user/some-skill # git 仓库
uniskill add ~/dev/my-skill # 本地目录:直接活链接,改代码即时生效
# 一眼看清全局
uniskill list
# 精细控制扇出
uniskill link my-skill --apps qoder,codex # 只链到指定应用
uniskill unlink my-skill --apps workbuddy
uniskill update all # 按记录的来源重新拉取
uniskill remove my-skill # 解除链接 + 删除 store 副本
# 体检:断链、陈旧拷贝、孤儿条目
uniskill doctor
# 验证哪些应用真的跟随符号链接(安装探针技能)
uniskill probeuniskill list 输出示例:
skill qoder qoder-cn codex
----------------- ------------ ------------ -------------
political-thinking linked linked linked
open-repo-wiki linked missing missing
store: /Users/you/.uniskill/store (2 skill(s))工作原理
| 概念 | 含义 |
| --- | --- |
| Store | ~/.uniskill/store/<skill>/——唯一真实副本,顶层必须含 SKILL.md |
| 扇出 | 每个「技能 × 应用」一条软链:<app目录>/<skill> → store/<skill> |
| 拷贝模式 | 对拒绝软链的应用降级为真实拷贝,uniskill sync 重新分发(--mode copy) |
| 注册表 | registry.json 记录每个技能的来源(本地/npm/git),供 update 溯源 |
| 应用注册表 | apps.json 列出已知应用与目录,社区共建,欢迎 PR |
完整约定(store 结构、链接规则、注册表结构、对应用厂商的建议)见 SPEC.md——它既是本工具的实现依据,也欢迎其他工具乃至各 agent 应用原生采纳。
兼容性
软链支持因应用而异。验证方法:链接任意技能后重启应用看是否加载,然后在
~/.uniskill/apps.json 中记录(followsSymlink: "yes" | "no")。标记为
"no" 的应用会自动改用拷贝模式。默认防冲突:已存在的条目不加
--force 绝不覆盖。
局限
- v0.1 支持 macOS / Linux;Windows 需要目录联接或拷贝模式(规划中)
- 应用通常在启动时扫描技能——增删链接后请重启应用
- npm 方式
add依赖包自带支持--target的安装器;否则手动安装后用uniskill add <路径>登记
许可证
MIT — 见 LICENSE。
