caveman-stats — Claude Code skill: what it does, how to install
Displays recorded output and cache-read tokens for Claude Code sessions or points to host native usage stats. Useful for tracking raw token consumption.
npx skills add JuliusBrussee/caveman --skill caveman-stats -a claude-codeWhat caveman-stats does
In Claude Code, running /caveman-stats triggers src/hooks/caveman-mode-tracker.js, which runs src/hooks/caveman-stats.js. The hook passes the usage report via hookSpecificOutput.additionalContext. The model prints it verbatim inside a code block without recalculating figures.
The report tracks output tokens, cache-read tokens, response counts, and active mode attribution. Caveman treats savings as unknown because transcripts lack baseline measurements without the tool. Flags like --all and --since 7d aggregate recent session counts, while --share exports observed usage. Historical estimated savings fields are ignored.
Gemini CLI prompts cannot read live session metrics, so the skill redirects users to /stats model or /stats session. Other environments fall back to native reports if present. Install this if you need honest token metrics without speculative savings badges.
What it helps with
- inspect output and cache-read token counts for the active session
- aggregate session token usage across the past week with
--since 7d - route to native token stats commands in Gemini CLI
- check mode attribution without speculative savings estimates
Example prompts for the agent
- /caveman-stats
- /caveman-stats --since 7d
- /caveman-stats --share
How to install caveman-stats
1Skills CLI (Vercel)
npx skills add JuliusBrussee/caveman --skill caveman-stats -a claude-code2Manually: put the files in place
~/.claude/skills/caveman-stats/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/caveman-stats/
1Skills CLI (Vercel)
npx skills add JuliusBrussee/caveman --skill caveman-stats -a codex2Manually: put the files in place
.agents/skills/caveman-stats/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add JuliusBrussee/caveman --skill caveman-stats -a cursor2Manually: put the files in place
.cursor/skills/caveman-stats/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install JuliusBrussee/caveman caveman-stats2Manually: put the files in place
.github/skills/caveman-stats/SKILL.md1Skills CLI (Vercel)
npx skills add JuliusBrussee/caveman --skill caveman-stats -a gemini-cli2Platform CLI
gemini skills install https://github.com/JuliusBrussee/caveman --path skills/caveman-statsManually: put the files in place
.devin/skills/caveman-stats/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add JuliusBrussee/caveman --skill caveman-stats -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
From the same set22
The whole set →Similar
Questions about caveman-stats
How do I install caveman-stats in Claude Code?
Run npx skills add JuliusBrussee/caveman --skill caveman-stats -a claude-code in your terminal.
Does caveman-stats show money or token savings?
No. The skill deliberately reports savings as unknown because the transcript has no baseline run without Caveman to compare against.
How does caveman-stats behave in Gemini CLI?
Custom Gemini commands cannot read live session metrics. Instead, the skill instructs you to run /stats model or /stats session.
Source text
SKILL.md · Apache-2.0
--- name: caveman-stats description: > Show recorded output and cache-read token usage and mode attribution for the current Claude Code session, or locate the host's native usage report. Trigger: /caveman-stats. --- In Claude Code, `src/hooks/caveman-mode-tracker.js` resolves `src/hooks/caveman-stats.js` next to itself and runs it on `/caveman-stats`. The hook does not block the prompt: it supplies the report through `hookSpecificOutput.additionalContext` with an instruction to print it verbatim inside a fenced code block. Do exactly that, and do not calculate, recompute or re-round the numbers yourself. In Gemini CLI, direct the user to `/stats model` for current session token usage or `/stats session` for session statistics. Gemini custom commands are prompts; they cannot invoke the built-in command or read its live session metrics. Never read Claude Code transcripts as Gemini usage. In other hosts, use a native usage report if one is available; otherwise say that current session usage is unavailable. The Claude reader and its lifetime history apply only to Claude Code. Savings remain unknown in every host without a measured comparison. The report shows recorded output and cache-read tokens, response counts, and mode attribution where available. Savings are unknown: the transcript has no measured comparison without Caveman. Do not infer saved tokens, percentages, dollars, rule overhead, or a net result from output counts or the current mode. `--all` and `--since 7d` aggregate the latest recorded output count per session. `--share` reports observed usage with savings unknown. Historical `est_saved_*` fields are ignored; their original history rows remain on disk. The statusline shows the active mode without the retired savings badge. Original/current memory-file pairs are reported by their measured byte sizes. Those file-size differences do not establish provider token or billing savings. See `docs/HONEST-NUMBERS.md`.
© JuliusBrussee · Apache-2.0 · JuliusBrussee/caveman