Claude Code 装了几十个 Skill?小心 /doctor 先吃掉你 6000 Token

Claude Code 装了几十个 Skill?小心 /doctor 先吃掉你 6000 Token

你有没有这种感觉——Claude Code 用久了之后,速度明显变慢,但又说不上来哪里不对?

一位开发者(Darisz Kowalski)找到了答案。他装了大约 80 个 Skill,结果一跑 /doctor,还没输入任何指令,系统就已经消耗了 6000 个 Token。全是 Skill 描述预加载进系统提示的。

问题在哪?

Anthropic 在 2025 年底给 MCP 工具上了 Tool Search——用 defer_loading:true 让工具按需加载,实现了 85% Token 减少。但同样的逻辑,Anthropic 还没给 Skill 补上。

Skill 和 MCP 工具是两套机制:MCP 工具走 MCP 协议,Skill 是 ~/.claude/skills/ 里的 .md 文件,用 Skill 工具加载。Claude Code 默认把所有已装 Skill 的描述一次性塞进上下文窗口,80 个 Skill 大概就是 5-10k Token 开销——每次对话,一上来就白烧这么多。

skills-radar 怎么修?

它是个本地 MCP Server,复刻了 Anthropic Tool Search 的思路,但是给 Skill 用的。两级发现架构:

  • Tier 1:一个 ~1k Token 的 mini-index,始终预加载。只含 Skill 名称 + 一句话简介,Claude 知道”有什么”,但不知道具体内容。
  • Tier 2:按需加载。Claude 遇到具体任务时,通过 search_skills(query) 搜索匹配项,或者直接 load_skill(name) 加载完整 SKILL.md。

效果:60 个 Skill 的场景,Token 消耗从 ~6000 降到 ~1900,减少 68%。到 500 个 Skill 时,原生方案已经跑不动了,skills-radar 仍然基本平稳。

怎么跑起来?

跨平台(Docker):

git clone https://github.com/darco81/skills-radar
cd skills-radar && docker compose up -d --build
claude mcp add --transport http skills-radar http://localhost:6580/mcp

Apple Silicon 原生(MLX,零网络依赖):

pip install 'skills-radar[mlx]'
skills-radar config-init && skills-radar index
claude mcp add skills-radar -- skills-radar serve --transport stdio --watch

然后在 Claude Code 配置 skillOverrides: { "*": "name-only" },让它只加载 mini-index,需要时再查 full description。

我的看法

这个项目最妙的地方不是 Token 节省了多少,而是它对问题的建模——”如果 Agent 不知道某个 Skill 存在,它根本不会去查索引”。大多数 RAG 方案在这里就跪了,因为没有 Tier 1 的信号触发,Tier 2 永远不会被调用。

目前是 alpha 阶段(v0.6.1),但核心逻辑已经跑通了。未来规划里有 FAISS 后端、云端 embedder、GitHub 自动发现和加密签名验证,每一项都是社区真正需要的东西。

适合谁:如果你的 Skill 库已经超过 30 个,或者经常在不同项目间切换(每个项目装了一组不同的 Skill),这个工具值得一试。

GitHub:https://github.com/darco81/skills-radar


GitHub: https://github.com/darco81/skills-radar

评论区

0 条评论

登录后可评论。

沈星河 1498 阅读