每天都会冒出来各种高质量(至少看起来)的 Skill,很多时候看到有用的就会顺手装一下试试。
很多人会图方便直接装到全局,一次安装到处都能用。这确实很方便,但这会严重污染上下文。
不管现在做的是什么项目,Agent 都能看到这一大堆 Skill。有些完全用不上,有些功能重叠,还有些甚至互相冲突。带来的不仅是账单爆炸,还会感觉 AI 好像越来越笨了。
所以 Skill 其实不适合全都装在全局。真正每个项目都要用的可能只有几个,剩下的还是应该跟着项目走,做好隔离,各自只加载自己需要的。
但这么装又会遇到另一个问题。
同一个 Skill 可能被复制到好几个项目里,改了一份,其他地方还是旧的。再加上 Skill 的来源本来就很乱,有些从 GitHub 拉,有些通过 npx skills 安装,有些是自己在本地写的。过一段时间以后,连自己都搞不清哪份是最新的、哪些项目装过、现在实际生效的又有哪些。
@dotey 宝玉之前分享过一种做法:把 Skill 统一放在一个目录里,再通过软链接(相当于 Windows 的快捷方式)装到不同项目。
https://x.com/i/web/status/2069632132431929651
我很认同这个思路,我之前也是这么做的。一份 Skill 只维护一次,每个项目又可以只挑自己需要的,基本就是我认为最合理的管理方式。
问题是,手动维护这套东西还是挺麻烦的。
Skill 得自己收集和归档,软链接的命令又实在不常用,我每次都记不住。经常是临时开个 Agent 会话让它帮我处理,或者懒得折腾,干脆又往当前项目里装一份。
而且就算都整理进一个目录,也还是看不出来每个 Skill 是干什么的、装到了哪些项目、每个项目现在到底生效了多少 Skill、占了多少 token。
本来想建立一套干净的管理方式,最后往往还是慢慢乱掉,关键还是这一套管理方式对人来说心智成本太高了,并且非常不直观。
所以我做了 Kitter
Kitter 会在本地维护一个统一的 Skill 仓库。无论 Skill 原来在本地目录、GitHub,还是通过 npx skills 安装,都可以收进来一起管理。
需要用的时候,选中一个 Skill,再选择要安装的项目和 Agent。Kitter 会把仓库里的那一份软链过去。
这样每个 Skill 都只有一份需要维护,每个项目又只会拿到自己需要的组合

之前用软链接时,我只能看到那个统一目录里有哪些文件。至于一个 Skill 到底被哪些项目用了,还是得自己挨个找。
Kitter 把这层关系直观的展示了出来。打开一个 Skill,可以看到它被装到了哪些项目、对哪些 Agent 生效。以后更新这份 Skill,所有引用它的项目都会一起生效。

选好项目以后,可以装到通用的 .agents/skills,也可以只给 Codex、Claude Code、Cursor、OpenCode 等某一个 Agent 使用。Kitter 会处理具体路径和链接。
我还很想知道另一件事:一个项目现在实际用了哪些 Skill、这些 Skill 会占多少的 Token.
项目里生效的 Skill 不一定都经过 Kitter。它可能来自项目目录、用户目录、上级目录、Agent 自己的内置能力或者已经启用的插件。只看 Kitter 安装了什么,得到的并不是完整结果。
所以在 Kitter 里打开一个项目,会看到各个 Agent 当前真正能发现的 Skill,包括那些没有被 Kitter 托管的。

这里会显示当前项目生效的所有 Skill,对于每一个 Agent 来说会占用多少的 Token,当我们发现占用太多时,就说明需要治理了。
Kitter 管理了一个 Skill 的整个生命周期,并以友好的可视化界面将这一切呈现了出来。
Kitter 的 Logo 是一只抱着石头的小海獭,小海獭会收集石头来当玩具或者工具,就像我们会收集一堆 Skill 一样,哈哈哈哈哈。

使用 @s1dashu 老师的 Skill 生成,好用,推荐!
https://x.com/i/web/status/2089720502483067016
也可以只使用 Skill 和 CLI
Kitter 有桌面客户端,也有独立 CLI。
如果不想安装客户端,可以直接安装 Kitter 自带的 Skill:
这个 Skill 会教 Agent 使用 Kitter CLI。
之后可以直接让 Agent 帮你完成这些事情,比如:
- 看看当前机器上的 Skill 是怎么分布的;
- 把已有 Skill 收进 Kitter;
- 从 GitHub 添加一个 Skill,并安装到当前项目;
- 查看当前项目实际生效的 Skill 和 Token 占用;
- 更新或者卸载已经托管的 Skill。
桌面客户端和 CLI 使用同一套本地数据,按自己习惯选一种入口就行。
对了,项目使用 Rust 和 GPUI 开发,非常的精致小巧,对内存和磁盘的占用几乎可以忽略不计了。

目前三个操作系统都打包好了,但只有 MacOS 是测过的, Windows、Linux 没设备,暂时没测,有兴趣的可以帮忙试试这两个平台🙏🏻
由于目前还没有 Apple Developer ID,macOS 第一次打开时需要在 Finder 里按住 Control 点击 Kitter,再选择「打开」。如果仍然被系统拦截,可以执行:
现已开源 https://github.com/what1f/kitter Apache 2.0 协议。
觉得有帮助的话,希望顺手点个 Star ⭐ 支持一下!
后续还有个 Agent Team 的项目会继续开源,有兴趣的话求个关注!