// project · skillchart

skillchart

A one-file dashboard for every Claude Code skill on your machine — and the context cost each one quietly charges you on every turn.

Python · stdlib onlyZero depsCLIOn Homebrew

Note: this page is an AI-generated summary of the project. The product, the code, and the data behind it are real — the prose isn't hand-written.

// why

Skills are great, but every one of them quietly injects its name + description into your system prompt on every turn, used or not. After installing a few packs you can easily be paying 4,000+ tokens per turn for skills you never invoke. skillchart shows you the bill — always-loaded vs when-invoked, in tokens, sortable and filterable, with an optimization panel that calls out the heaviest descriptions and any disk duplicates that should really be symlinks.

// look

skillchart dashboard with stats, optimization suggestions, and the skill table
One file, no server. Click any row to expand the full description.

// install

brew install davidbroza/tap/skillchart
skillchart

Or run from source with system Python — there are no dependencies. Output goes to ~/Library/Caches/skillchart/dashboard.html and auto-opens in your default browser. skillchart --json pipes the scanned data to stdout for scripting.

// stack

how it's built
  • Python 3.9+Stdlib only — argparse, json, re, pathlib
  • Vanilla JSNo framework, runs in any browser
  • Self-contained HTMLOne file, no assets — share or commit it
  • YAML frontmatter parser~30 LoC, handles block-scalar descriptions
  • Symlink-aware dedupTreats aliases as one skill, not duplicates
  • Homebrew formuladavidbroza/tap, system Python, no install bloat

Two files do the work: build.py walks the skill paths and emits an HTML dashboard with the data embedded as JSON; bin/skillchart is a 10-line bash shim that resolves through Homebrew's symlinks.

// status

  • v0.1.0 shipped — on the davidbroza/tap Homebrew tap, MIT licensed.
  • Token estimate is chars / 4. Switching to real tiktoken counts is on the list.
  • Next: snapshot diffing for week-over-week growth, and parsing session logs to flag skills that load but never actually fire.