Level 200 · Intermediate

Daily and weekly use

The full scorecard, time windows, the skills audit, the dashboard, and a workflow that survives contact with reality.

Level 100 is a single headline. Level 200 is what the score actually means and how to weave TokenSquirrel into a week of work without it becoming a chore.

Background reading. Each behaviour in the tables below is a concrete version of a lever from Part 2: The Practitioner’s Toolkit — model selection, effort, context management, caching, and architecture. If a score keeps nagging you and you want to understand why the threshold is where it is, that’s the essay.

The behaviours being scored

Each behaviour gets a 0–100 score and an A–F grade. They fall into three buckets.

Discipline — are you actively managing context, cost, and model?

#BehaviourWhat an A looks like
1/clear frequencyAt least one /clear per session
2/context monitoringChecking context size at least every other session
3/cost trackingChecking cost/usage roughly every other session
4Plan mode usageAt least 20% of sessions plan before coding
5Model switchingThree+ models in active rotation, regular /model use

Hygiene — are your sessions and inputs clean?

#BehaviourWhat an A looks like
6Paste hygiene90%+ of pastes are text, not images
7Session hygieneAverage session under 50 messages
8Cache efficiency90%+ of input tokens served from prompt cache
9Tool efficiency0.3+ tool calls per message (not all chat, no work)
10MCP/plugin hygiene≤8 endpoints, with active /mcp management

Setup weight — is your Claude Code install bloated?

#BehaviourWhat an A looks like
11CLAUDE.md weight<1,200 words across all CLAUDE.md files
12Hook injection load≤1 UserPromptSubmit hook firing per prompt
13SessionStart noise≤2 SessionStart hooks per session
14Skill bloat≤5 skills installed
15MCP tool-schema weight≤3 MCP servers attached

Things you can do with the output

All examples below use the canonical tokensquirrel claude … form. The bare tokensquirrel … form still works as an alias.

Full scorecard

npx tokensquirrel claude --detail

All 15 behaviours with the evidence behind each score.

Different time windows

Score the last 48 hours, 7 days, or 4 weeks. Pick one — combining them errors out.

npx tokensquirrel claude --hours 48
npx tokensquirrel claude --days 7
npx tokensquirrel claude --weeks 4

When a filter is active, the output prints a Filters — last N days … banner so you know what window the score reflects.

One project at a time

npx tokensquirrel claude --project tokensquirrel

Substring match against project paths in your history. The CLI validates the name and exits with suggestions if it doesn’t match anything.

Skills inventory and audit

Every installed skill loads metadata into context on every turn — even ones you never invoke. The audit groups skills by plugin, flags ones not used recently, and tells you exactly what to uninstall.

npx tokensquirrel claude skills
npx tokensquirrel claude skills --by used         # also: name, size, mtime, source, tokens
npx tokensquirrel claude skills --group-by plugin # also: marketplace, source

npx tokensquirrel claude skills --audit
npx tokensquirrel claude skills --audit --fix     # interactive uninstalls
npx tokensquirrel claude skills --stale 30        # only flag skills idle 30+ days
npx tokensquirrel claude skills --unused          # only skills never invoked

Stale plugins are the single biggest source of silent setup-weight cost — and the easiest to fix.

Trend over time

npx tokensquirrel claude --trend       # last 10 runs
npx tokensquirrel claude --trend 25    # last 25 runs

Every run is appended to ~/.tokensquirrel/history.jsonl. Trend reads it and draws a sparkline.

MOT inspection

A 15-point service-style report that frames each behaviour as a pass/fail with cost attribution. Good for periodic check-ups.

npx tokensquirrel claude mot

Markdown for sharing

npx tokensquirrel claude --format md
npx tokensquirrel claude mot --format md > weekly-mot.md

Drop it into a doc, a PR, or a team report.

Interactive dashboard

npx tokensquirrel claude --dashboard
npx tokensquirrel claude --dashboard --port 3000

A local web UI at http://localhost:8080.

A workflow that works

  • Daily, end of day: npx tokensquirrel claude. Glance at the headline. Act on it tomorrow.
  • Weekly, Friday: npx tokensquirrel claude mot --format md > ~/notes/squirrel-$(date +%Y-%V).md. A persistent receipt of the week. (Part 3 makes the case for this exact cadence as a team retro artefact, not an audit.)
  • Monthly: npx tokensquirrel claude --trend 30 to see whether the headlines you’ve been acting on are actually moving the line. Pair with npx tokensquirrel claude skills --audit to spot installed-but-unused skills before they bloat your context.

If a single behaviour keeps showing up as the headline week after week, that’s the cue to dig into Level 300 and either change the threshold or change the workflow.

Codex (placeholder)

tokensquirrel codex exists so the dispatcher shape is forward-compatible, but it currently prints a “not yet implemented” message. Codex stores its data under ~/.codex/ with a different schema, and the audit behaviours don’t all map onto it cleanly yet. If you only use Claude Code, ignore it; if you use both, this is where the equivalent audit will land.