一、痛点:Skill 越攒越多,挑到眼花
我这边用户级 skill 目录已经 80 多个,加上插件缓存和项目级,全部加起来 160+ 个。问题来了:做一件具体的事,到底该调哪个?原生「技能」面板就是一长串下拉,没有排序、没有备注,每次都得从头肉眼看。这不是我一个人的困扰——任何把 Agent Skill 用到一定量级的人都会卡在这。
本文交付物
一个零依赖 Python CLI(开源在 GitHub imlikun/skill-radar),统一索引机器上所有 SKILL.md,回答三个问题:做任务 X 该用哪个 / 我常用的到底是哪几个 / 给某个 skill 起个好记的名字。
二、它解决什么、不解决什么
先说清边界,免得夸大。工具管的是 skill 目录本身(扫描、计数、备注、改名),不碰你 IDE / 客户端里那个原生技能面板的 UI——那是客户端内置行为,改不了。三件事对应你脑子里的三个真实需求:
给一句任务描述,按「相关度 + 使用频率」打分排序。ASCII 关键词和中文 bigram 双通道匹配,name / 别名 / 备注都参与检索,所以你自己起的中文名也能被搜到。
每用一次 skill 记一笔计数,rank 按真实使用频率降序。用得越多越靠前,这才是「自动排序」——不是拍脑袋,是你手上攒出来的。
给一个英文 skill 起个中文展示名、加一句备注。全部走「别名 / 备注」存本地索引,不改动 skill 原文件和目录名(改了框架按 name 就找不到了)。
三、装好就能用
零依赖,只用 Python 标准库。clone 下来直接跑,它会自动探测 .workbuddy / .claude / 项目级这些常见 skill 位置:
# clone 即用 git clone https://github.com/imlikun/skill-radar cd skill-radar python3 skill-radar.py --help # 任务推荐 python3 skill-radar.py recommend 生成一张商品图 # 按使用次数排(最常用在前) python3 skill-radar.py rank # 起别名 / 加备注 / 记一次使用 python3 skill-radar.py alias apple-design 萍果 python3 skill-radar.py note ecs-deploy "主力 101.*.*.140 部署" python3 skill-radar.py use agnes-image-video
坑:你的 skill 不在默认路径?
现象:默认探测没扫到你那堆。解法:环境变量 SKILL_RADAR_DIRS(冒号分隔)或每次 --root /path 追加自定义目录。另可用 --index 把索引换到别处,个人偏好不入库。
四、推荐是怎么打分的
推荐不是玄学,是几个可解释的加分项累加(对每个 skill 求和,降序取前 8):
| 命中 | 加分 |
|---|---|
任务里出现 skill name | +6 |
| 每个命中的别名 | +4 |
| 每个命中的 ASCII 关键词 | +1 |
| 中文 bigram 重合(封顶 +8) | +N |
| 使用频率加成(用得越多越靠前) | +1 ~ +2 |
实测:给「生成一张商品图」,排第 1 的正是出图 skill;给「把 H5 部署到 ECS」,排第 1 的正是 ECS 静态站部署 skill——命中对路,不是泛泛罗列。
五、让「使用次数」真正长起来的约定
排序要「自动」,计数得有人喂。我这边定的是:每次真正调用了某个 skill 干完活,收尾静默记一笔 use。数据落在本地一个 JSON(默认 ~/.skill-radar/index.json),rank 就按它排。删掉 / 归档的 skill 索引会残留,但每次跑 list / rank 都会先重扫文件系统自动修正存在性——脏数据自己清。
工具的价值不在那 200 行代码,而在于它把你「哪个 skill 干哪件事」的隐性记忆,沉淀成了一份能搜、能排、能备注的索引。攒得越多,这份索引越值钱。