一、痛点:Skill 越攒越多,挑到眼花

我这边用户级 skill 目录已经 80 多个,加上插件缓存和项目级,全部加起来 160+ 个。问题来了:做一件具体的事,到底该调哪个?原生「技能」面板就是一长串下拉,没有排序、没有备注,每次都得从头肉眼看。这不是我一个人的困扰——任何把 Agent Skill 用到一定量级的人都会卡在这。

本文交付物

一个零依赖 Python CLI(开源在 GitHub imlikun/skill-radar),统一索引机器上所有 SKILL.md,回答三个问题:做任务 X 该用哪个 / 我常用的到底是哪几个 / 给某个 skill 起个好记的名字。

二、它解决什么、不解决什么

先说清边界,免得夸大。工具管的是 skill 目录本身(扫描、计数、备注、改名),不碰你 IDE / 客户端里那个原生技能面板的 UI——那是客户端内置行为,改不了。三件事对应你脑子里的三个真实需求:

1按任务推荐

给一句任务描述,按「相关度 + 使用频率」打分排序。ASCII 关键词和中文 bigram 双通道匹配,name / 别名 / 备注都参与检索,所以你自己起的中文名也能被搜到。

2按使用次数排序

每用一次 skill 记一笔计数,rank 按真实使用频率降序。用得越多越靠前,这才是「自动排序」——不是拍脑袋,是你手上攒出来的。

3重命名 / 备注

给一个英文 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 干哪件事」的隐性记忆,沉淀成了一份能搜、能排、能备注的索引。攒得越多,这份索引越值钱。

返回技艺录