agentsclimarketplace

Fable stats

Skill Dallenlol/fable-mode/skills/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

Install
npx -y skills add Dallenlol/fable-mode --skill fable-stats

Assembled 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.

Keep looking

Skills are one crate of 326,782. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.