Fable stats
Summarize the token usage fable-mode has logged across sessions — totals, per-session breakdown, recent trend. Use when the user asks about token usage, spend, stats, or savings from fable-mode.From its SKILL.md
npx -y skills add Dallenlol/fable-mode --skill fable-statsAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 2 stars2 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
SKILL.md
2.1 KB, 527 tokens by cl100k_base, as published. Nobody here has run it
fable-mode stats
fable-mode's Stop hook logs one JSON line per session to stats.jsonl in the plugin data directory: $CLAUDE_PLUGIN_DATA/stats.jsonl if that variable is set, otherwise ~/.claude/fable-mode/stats.jsonl. Fields: session, ts (unix), turns, out (output tokens), in (fresh input tokens), cache_read, cache_create.
Summarize it with:
python3 - <<'PY'
import json, os, time
path = os.path.expandvars("$CLAUDE_PLUGIN_DATA/stats.jsonl") if os.environ.get("CLAUDE_PLUGIN_DATA") else os.path.expanduser("~/.claude/fable-mode/stats.jsonl")
if not os.path.exists(path):
print("no stats logged yet"); raise SystemExit
rows = [json.loads(l) for l in open(path) if l.strip()]
tot = {k: sum(r.get(k, 0) for r in rows) for k in ("turns", "out", "in", "cache_read")}
print(f"sessions: {len(rows)} | turns: {tot['turns']} | output tokens: {tot['out']:,} | fresh input: {tot['in']:,} | cache reads: {tot['cache_read']:,}")
print(f"estimated output tokens saved vs unassisted: ~{int(tot['out'] * 0.37):,} (rough — scaled from the published easy-tier benchmark ratio, evals/RESULTS.md)")
for r in rows[-10:]:
print(f"{time.strftime('%m-%d %H:%M', time.localtime(r.get('ts', 0)))} turns={r['turns']:<3} out={r['out']:>8,} in={r['in']:>9,} cache={r['cache_read']:>11,}")
PY
Rows may also carry a viol dict (discipline violations detected per session: reread_after_edit, repeat_reads, write_over_edit, no_verification). If any are non-zero across recent sessions, add one line naming the worst habit and its trend.
Report the totals and the recent-session table, then one sentence of interpretation (e.g., rising cache-read share means long sessions — suggest /clear between unrelated tasks). Don't estimate dollar costs unless the user provides their pricing. All data is local; nothing is transmitted anywhere.
What ships with it
Read from the repository
Just SKILL.md. No reference files, no scripts.