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

@crafter/skillkit

v0.10.6

Published

Local-first analytics for AI agent skills. Track usage, measure context budget, and prune what you don't use.

Downloads

403

Readme

skillkit

Local-first observability for AI agent skills. Track usage, measure cost, detect conflicts, and prune what you don't use.

Why

AI coding agents load skills into their context window on every session. More skills = less room for your actual code. But which skills do you actually use? Are they helping? How much do they cost?

skillkit answers these questions with usage analytics, conflict detection, cost analysis, and context budget monitoring — all locally on your machine.

Prerequisites

skillkit requires Bun as its runtime (for native SQLite and fast TypeScript execution).

curl -fsSL https://bun.sh/install | bash

Quick start

bunx @crafter/skillkit scan
bunx @crafter/skillkit stats
bunx @crafter/skillkit health

Or install globally:

bun add -g @crafter/skillkit
skillkit scan

Note: npm i -g also works if bun is installed, since the bin entry uses bun as its runtime.

Commands

| Command | Description | |---------|-------------| | skillkit scan | Discover installed skills and index session data | | skillkit list | List installed skills with size and context budget | | skillkit stats | Usage analytics with sparklines (last 30 days) | | skillkit health | Health check: unused skills, context budget, DB | | skillkit prune | Remove unused skills to reclaim context budget | | skillkit burn | Subscription burn rate analysis (cost, models, daily) | | skillkit conflicts | Test skills for trigger collisions | | skillkit coverage <skill-path> | Analyze dead weight in a skill | | skillkit trace <prompt> | Run and record a skill execution trace |

Install skills via skills.sh: npx skills add <owner/repo>

skill-creator vs skillkit

Anthropic's skill-creator handles skill authoring and evaluation. skillkit handles production observability. No overlap.

| | skill-creator | skillkit | |--|:---:|:---:| | Authoring | | | | Write SKILL.md from intent | yes | — | | Bundle scripts/references/assets | yes | — | | Optimize description for trigger accuracy | yes | — | | Evaluation | | | | Auto-generate evals from SKILL.md | yes | — | | Run evals (with-skill vs baseline) | yes | — | | Grade assertions (grader agent) | yes | — | | Blind A/B comparison (comparator agent) | yes | — | | Post-hoc analysis (analyzer agent) | yes | — | | HTML eval viewer + feedback loop | yes | — | | Description trigger optimization (train/test split) | yes | — | | Production observability | | | | Usage analytics across sessions | — | yes | | Context budget monitoring | — | yes | | Trigger conflict detection | — | yes | | Dead weight analysis | — | yes | | Cost/burn rate analysis | — | yes | | Unused skill pruning | — | yes | | Multi-agent skill discovery (15+ agents) | — | yes |

Lifecycle

# 1. CREATE + TEST — use skill-creator (interactive, inside Claude)
#    /skill-creator "I want a skill that generates DB migrations"
#    → Interview, draft SKILL.md, run evals via subagents,
#      review in HTML viewer, iterate, optimize description

# 2. DEPLOY
npx skills add your-org/db-migrate

# 3. MONITOR — use skillkit (CLI, outside Claude)
skillkit scan && skillkit stats
skillkit coverage ./skills/db-migrate/   # find dead sections
skillkit conflicts                        # detect trigger collisions
skillkit burn                             # cost analysis

# 4. PRUNE — remove skills nobody uses
skillkit prune

How It Works

Scan

Discovers skills from ~/.claude/skills/ and indexes session files from ~/.claude/projects/. Detects whether each skill was installed via skills.sh or manually.

$ skillkit scan
  Scanning ~/.claude/skills/ ...
  Found 12 skills (8 via skills.sh, 4 manual)
  Scanning sessions...
  Indexed 211 sessions · 1,847 invocations

  Ready. Run skillkit stats to see usage.

Stats

Parses JSONL session files for Skill tool_use blocks and shows sparkline trends.

$ skillkit stats
  SKILL           ████████████████████  42  ▂▃▅▇█▆▅▇█
  commit          ████████████████████  42  ▂▃▅▇█▆▅▇█
  review          ████████████████      38  ▁▃▅▆▇▇▆▅▃
  deploy          ████████████          27  ▁▁▂▃▅▇█▇▅

Health

Checks metadata budget usage (name + description loaded at startup) and flags unused skills.

$ skillkit health
  [████████░░] 78% metadata budget (12.5K / 16.0K)
  ! 3 skills unused in 30d — run skillkit prune

Burn

Analyzes API cost trends from session data.

$ skillkit burn
  Daily burn rate: $6.40/day
  Monthly projection: $192
  Runway: 31 days (plan: $200)

  Model breakdown:
    claude-sonnet-4-6   68%  $4.35/day
    claude-haiku-4-5    22%  $1.41/day
    claude-opus-4-6     10%  $0.64/day

Conflicts

Detects trigger collisions between skills — when two skills might both fire for the same prompt.

$ skillkit conflicts
  Testing 15 skill pairs...

  ⚠ commit × deploy (HIGH)
    Both fire on "push these changes to production"

  ✓ 14 pairs clean

Coverage

Finds dead weight in a skill — sections of SKILL.md and bundled files that never get referenced in sessions.

$ skillkit coverage ./skills/review/
  Sections: 8/12 referenced (67%)
  Files: 3/5 referenced (60%)

  Unreferenced sections:
    - ## Advanced Configuration
    - ## Troubleshooting

Prune

Removes skills that haven't been used in the last 30 days.

$ skillkit prune
  x scaffold (0.9K)
  x lint (2.1K)

  2 skills · 3.0K context reclaimable

  Run with --yes to confirm deletion.

Data Storage

All data stays on your machine. No telemetry. No signup.

| Path | Purpose | |------|---------| | ~/.skillkit/analytics.db | SQLite database with invocation history and traces | | ~/.claude/skills/ | Installed skills (read-only) | | ~/.claude/projects/**/*.jsonl | Session files (read-only) |

Supported Agents

Scans skill directories for 15+ agents automatically:

  • Claude Code, Cursor, Codex, Windsurf, Gemini CLI
  • Cline, Roo Code, Continue, OpenCode, GitHub Copilot
  • OpenHands, Amp, Goose, Kilo Code, Trae

Skills installed via skills.sh symlinks are deduplicated across agents.

License

MIT