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?
| # | Behaviour | What an A looks like |
|---|---|---|
| 1 | /clear frequency | At least one /clear per session |
| 2 | /context monitoring | Checking context size at least every other session |
| 3 | /cost tracking | Checking cost/usage roughly every other session |
| 4 | Plan mode usage | At least 20% of sessions plan before coding |
| 5 | Model switching | Three+ models in active rotation, regular /model use |
Hygiene — are your sessions and inputs clean?
| # | Behaviour | What an A looks like |
|---|---|---|
| 6 | Paste hygiene | 90%+ of pastes are text, not images |
| 7 | Session hygiene | Average session under 50 messages |
| 8 | Cache efficiency | 90%+ of input tokens served from prompt cache |
| 9 | Tool efficiency | 0.3+ tool calls per message (not all chat, no work) |
| 10 | MCP/plugin hygiene | ≤8 endpoints, with active /mcp management |
Setup weight — is your Claude Code install bloated?
| # | Behaviour | What an A looks like |
|---|---|---|
| 11 | CLAUDE.md weight | <1,200 words across all CLAUDE.md files |
| 12 | Hook injection load | ≤1 UserPromptSubmit hook firing per prompt |
| 13 | SessionStart noise | ≤2 SessionStart hooks per session |
| 14 | Skill bloat | ≤5 skills installed |
| 15 | MCP 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 30to see whether the headlines you’ve been acting on are actually moving the line. Pair withnpx tokensquirrel claude skills --auditto 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.