Agent 技能本质上是带有特定结构的 Markdown 文档。凭借可插拔、任务间通用、渐进式披露三大特性,它已经脱离了普通 prompt 的范畴,成为 Coding Agent 能力体系中独立的一层。尤其擅长那些有套路、有 SOP、需要风格迁移的任务——网页设计、数据分析、幻灯片制作。
但技能的管理体验一直跟不上。CLI 工具(npx skills)只能做安装和列表,技能一多列表就被截断,阅读基本无从谈起。哪些技能该删、哪些该更新、哪些质量高——这些判断都需要人主动参与,而参与的前提是看得见、读得懂。
Skill Zoo 的出发点就是这一句话:给所有流浪的技能宝宝一个家。用一个桌面 App 把技能管理的完整链条串起来,让阅读和维护不再是一件需要忍耐的事。
如果你同时用 Claude Code 和 Codex,两个 Agent 各有一套技能目录。同一个技能存两份——版本分裂、磁盘浪费、更新不可控。Skill Zoo 的方案是唯一真实源(SSOT)+ 软链接:
~/.agents/skills/web-search/ ← 唯一真源,统一管理 ~/.claude/skills/web-search → ~/.agents/skills/web-search/ ~/.codex/skills/web-search → ~/.agents/skills/web-search/
这里有一个产品决策值得展开。从架构最优的角度,把用户所有技能收归 SSOT 目录统一管理是最干净的。但这会破坏一个场景:如果用户同时用 npx skills 更新技能,那个工具依赖技能目录里的真实文件而非软链接,强制收归会导致更新失败。
选择最优架构,还是尊重用户习惯?Skill Zoo 选了后者。不强制迁移已有文件。只有通过 Skill Zoo 安装的技能才纳入 SSOT 管理。这意味着代码里要多维护一套路径判断逻辑,但用户的现有工作流完全不受影响。
owner/repo 标识直接查找。进入仓库页后自动下载并解析全部技能,提供逐个安装或批量安装。
npx skill-zoo)和内嵌轻量 Web 界面。Agent 可以用 CLI 调用,人可以用 GUI 浏览——两种消费端各得其所。
选择 Tauri v2 而非 Electron 是认真的。Electron 打包体积动辄上百 MB,内存占用高,对一个小工具来说太重了。 Tauri 用系统的 WebView 渲染,后端以 Rust 编写,打包体积小一个数量级,内存占用也低得多。
macOS 用户从 GitHub Releases
下载 .dmg,Windows 用户下载 .exe。也提供 npm CLI:
npm install -g skill-zoo
安装包通过 GitHub Actions 构建,过程透明可审计。项目以 MIT 协议开源, 欢迎 Star 与贡献:github.com/luochang212/skill-zoo