Show HN: I mapped my AI coding setup – 90 of 103 installed skills never fire Agent Atlas, an open-source tool that maps AI coding environments, reveals that 90 of 103 installed skills never fire, based on an analysis of Claude Code setups. The tool scans configuration and session history to visualize usage, identify dead weight costing tokens, and highlight overlaps and gaps in capability coverage. A map of your AI setup. Agent Atlas scans your AI coding environment and turns it into an interactive mind map — so you can see, at a glance, what your agents and skills are actually good at, what you never use, and what's missing. You've probably installed dozens of skills, subagents, and MCP servers into your AI tools. But do you actually know what your setup can do? Agent Atlas reads your configuration and your session history, then draws your whole stack as a living map: every skill, agent, and tool as a node, grouped by what it's for, sized by how often you actually use it. In one picture you can answer questions you currently can't: What is my setup tuned for? More engineering than writing? Any research capability at all? What am I paying for but never using? Every installed MCP server loads its tool schemas into context in every session — unused servers silently cost you tokens every single day. Where are the overlaps and gaps? Two skills doing nearly the same job; whole capability areas with zero coverage. npx agent-atlas-cli That's it. No config, no account. Works on Claude Code setups today Cursor and friends are on the roadmap — the scanner is built behind an adapter interface . Don't have an Anthropic API key handy? It still works: npx agent-atlas-cli --rough keyword-based classification, no API call at all Agent Atlas is read-only and local-only : - It never modifies anything on your machine. - Nothing leaves your machine except one optional classification API call — and that call sends only the names and descriptions of your skills/agents/servers. Your session transcripts, your code, and your prompts are never sent anywhere. - With --rough , nothing leaves your machine at all. - It's open source MIT . Don't take our word for any of this — read the code. Four stages, one pipeline: Scanner → Usage Miner → Classifier → Renderer what's what actually what each the map + installed fires piece is for diagnostics Scanner — inventories skills, subagents, MCP servers, and hooks from your ~/.claude configuration plus the current project's .claude/ . Usage Miner — streams your local session transcripts and counts what actually fired in the last 30 days --days to change the window . Classifier — one cheap LLM pass scores every item across five capability axes: engineering, writing, research, design, ops . Results are cached by content hash, so re-runs are fast and nearly free. Got a classification wrong? Pin the right one in ~/.agent-atlas/overrides.json — overrides always win. Renderer — draws the interactive map: clusters by capability, node size = usage, grey = dead weight, plus a "tuning bar" summarizing your whole stack Engineering 61% · Research 17% · … . Below the map, three diagnostic lists: dead weight with estimated tokens wasted per session , overlaps near-duplicate skills/agents , and gaps capability axes you barely cover . The "Share card" button exports a PNG: npx agent-atlas-cli scan, classify, open the map npx agent-atlas-cli --json dump inventory + usage + classification as JSON npx agent-atlas-cli --days 90 widen the usage window npx agent-atlas-cli --rough skip the API, use keyword heuristics npx agent-atlas-cli --atlas-dir DIR custom location for cache + overrides Classification uses your ANTHROPIC API KEY environment variable if set; otherwise it falls back to rough mode automatically. | Milestone | What | Status | |---|---|---| | M1 | Scanner + Usage Miner --json output | ✅ done | | M2 | Classifier — LLM pass, cache, overrides, no-key fallback | ✅ done | | M3 | Renderer — interactive map + tuning bar atlas.html | ✅ done | | M4 | Diagnostics dead weight, overlaps, gaps + shareable card | ✅ done | | v2 | Adapters for Cursor, Codex CLI, Gemini CLI; recommendations | 💭 planned | The full design lives in SPEC.md /Pycomet/agent-atlas/blob/main/SPEC.md . npm install npm run build tsc → dist/ npm test vitest, runs against the fixture tree in fixtures/ All tests run against a fake ~/.claude tree in fixtures/ — nothing in the test suite touches your real setup. If you're adding a scanner or classifier change, extend the fixtures and the expected outputs alongside it. Merging to main runs CI only. Publishing to npm happens when a version tag is pushed: npm version patch or minor / major — bumps package.json, commits, tags vX.Y.Z git push origin main --follow-tags The publish workflow /Pycomet/agent-atlas/blob/main/.github/workflows/publish.yml then verifies the tag matches package.json , runs the test suite, builds, and publishes to npm via trusted publishing OIDC — no tokens involved. Contributions welcome — especially adapter implementations for other AI coding tools and hand-labeled classification examples for the rubric. Curious what your whole engineering team's AI stack looks like — aggregate maps, redundant spend, shadow tooling? I'm exploring a team version. Email alfredemmanuelinyang@gmail.com mailto:alfredemmanuelinyang@gmail.com . MIT /Pycomet/agent-atlas/blob/main/LICENSE © 2026 Alfred Emmanuel