npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@avcodes/skilled

v0.3.2

Published

TUI dashboard for skill usage stats across AI coding tools

Readme

release npm pypi license TypeScript + Rust

screenshot

Your AI coding tools keep traces. Skilled reads them.

Live TUI dashboard that aggregates skill usage across Claude Code, OpenCode, Codex, Grok, and Droid. Reads local history files only. Zero network, zero telemetry.

What you get

  • 30 fps terminal dashboard: bar charts, 16-week activity heatmap, hourly histogram, recent activity feed
  • Skill audit: heavy hitters, rising/declining trends, stale skills, one-offs, cross-project patterns
  • CLI with JSON output: skilled list, skilled audit, skilled detail <skill>. Filter by source or project.

Install

Shell (Linux / macOS):

curl -fsSL https://raw.githubusercontent.com/av/skilled/main/install.sh | sh

npm:

npm install -g @avcodes/skilled

pip:

pip install skilled

Then run skilled.

Usage

skilled                          Interactive dashboard
skilled list                     All skills ranked by usage
skilled list --sort recent       Sorted by last used
skilled detail review            Deep dive on one skill
skilled audit                    Health report across all skills
skilled calls --source codex     Raw invocations from a specific tool
skilled providers                Which tools are detected

Add --json to any command for machine-readable output. Filter with --source <tool> and --project <path>.

TUI keys

| Key | Action | |-----|--------| | s | Cycle sort: count → alphabetical → recent | | Tab | Toggle sort direction | | j / k | Scroll | | Enter | Open skill detail (replaces right panel) | | a | Toggle audit view | | r | Refresh data | | q / Esc | Quit |

Supported tools

| Tool | What it reads | |------|--------------| | Claude Code | ~/.claude/history.jsonl + session JSONL files | | OpenCode | Local session history | | Codex | Local session history | | Grok | Local session history | | Droid | Local session history |

Skilled auto-detects which tools are installed. No configuration needed. If the history files exist, they show up.

How it works

Each tool writes session traces to predictable local paths. Skilled has a provider for each one that parses those files and extracts skill invocations (slash commands, tool calls, skill triggers) into a common format: skill name, timestamp, project, session, source.

From there: frequency counts, weekly trends, hourly distribution, per-project breakdowns, and audit heuristics (rising = 50%+ increase over 4 weeks, stale = unused 30+ days, etc.).

The TUI renders at 30 fps using @opentui/core. Bar charts use 8-level Unicode block elements for sub-character precision. The heatmap uses a 5-level green intensity ramp.

No data leaves your machine. No accounts, no config files, no API keys.

Build from source

Requires Bun:

git clone https://github.com/av/skilled.git
cd skilled
bun install
bun run start

Compile to a standalone binary:

bun run build    # outputs ./skilled

Optional: Rust index

For faster re-scanning of large history files:

cd index
cargo build --release

The TUI will use the index automatically when available.

License

MIT