I built an efficient graph-search plugin for Claude Code skills Developer Daniel Lublinsky released Skill Atlas, a free, open-source graph-search plugin for Claude Code that adds a 'searchable' tier between enabled and disabled skills, cutting per-session token usage from 2,544 to 338 tokens (−86.7%) across 53 skills by keeping only 6 enabled. The plugin, installable via 'claude plugin marketplace add danielLublinsky/Skill_Atlas', builds a graph index and renders an HTML atlas, with a search costing about 2.4k tokens only when invoked. A third tier for Claude Code skills — dormant, zero tokens, still findable. Search a graph of your collection instead of preloading it. 53 skills, 6 kept enabled: 2,544 → 338 tokens per session −86.7% . The other 47 cost nothing until asked for. claude plugin marketplace add danielLublinsky/Skill Atlas claude plugin install skill-atlas@skill-atlas Python 3 only — no dependencies, no network d3 is vendored . Later: claude plugin update skill-atlas@skill-atlas . From a local clone for hacking on it git clone https://github.com/danielLublinsky/Skill Atlas.git claude plugin marketplace add ./Skill Atlas claude plugin install skill-atlas@skill-atlas | Command | What it does | |---|---| /skill-atlas | Build the graph, categorize what's new, render atlas.html . Run this once to set up. | /skill-atlas:edit-searchable | Move plugins in and out of the searchable tier, interactively. | /skill-atlas:skill-search | Find the right skill for a task across the whole library, dormant tier included. Usually you never type this — Claude calls it on its own before a nontrivial task. | automatic | A SessionStart hook keeps everything fresh after that. | Then open ./.claude/skill-atlas/atlas.html in a browser, and just ask for a task — the search runs itself, names the skill it picked in one line, and gets on with the work. Without the plugin Makefile make build graph.json + catalog/ from your live manifests make render atlas.html make check CI gate: exit 1 on any broken reference or dangling mention make test unit suite against fixtures — never touches the real ~/.claude Claude Code injects every enabled skill's description into every session — ~48 tokens each. At 100+ skills that's thousands of tokens you pay for constantly, and near-duplicates quietly compete for the model's attention. Disabling fixes the cost and loses the skill. So Skill Atlas adds a tier in between: | Tier | In context? | Findable? | Cost / session | |---|---|---|---| 🟢 enabled | yes | natively | ~48 tokens each | 🟣 searchable | no | via skill-search | 0 | ⚫ disabled | no | no | 0 | A searchable skill is dormant — its description never enters your context, but it stays discoverable on demand. All that advertises the whole dormant tier is one ~50-token line at session start. flowchart LR A "🧭 a task arrives