Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx agentmods add commands/educlopez/ccvitals/setupgit clone --depth 1 https://github.com/educlopez/ccvitalsWhat it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5 | $0.00007 | $0.01764 |
| Opus 5 | $0.00003 | $0.00882 |
| Sonnet 5 | $0.00001 | $0.00353 |
| Haiku 4.5 | $0.00001 | $0.00176 |
Grade B, and why
setup scanned grade B with 1 finding against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured yesterday.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Reads agent configuration directoriesmediumAgent snooping
.claude/, .codex/, .gemini/ hold keys, settings and other credentials a mod has no legitimate need for.
### 7. Update `~/.claude/settings.json` How it starts
The opening of the file, as written. The whole thing — 164 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Install the ccvitals statusline into Claude Code.
Steps
1. Resolve the plugin path
Run the following via Bash to get the absolute plugin directory. The $CLAUDE_PLUGIN_ROOT environment variable is set during plugin command execution but is NOT available when statusline.sh renders — so you must write the resolved absolute path into settings.json.
echo "$CLAUDE_PLUGIN_ROOT"
Save the output as PLUGIN_PATH. If the output is empty, abort and tell the user: "Could not resolve CLAUDE_PLUGIN_ROOT. Please reinstall the plugin."
2. Determine the Claude config directory
echo "${CLAUDE_CONFIG_DIR:-$HOME/.claude}"
Save the output as CONFIG_DIR. All config files go here.
3. Ask the user which module preset to use
Use AskUserQuestion to ask:
Which module preset would you like?
1) Essential (recommended) — directory, model, context, usage, git 2) Everything — all 24 modules (adds: rtk, codegraph, lines, mode, cost, duration, speed, vim, agent, pr, weekly, pace, cache, tools, agents, todos, daily, compactions, tokens) 3) Custom — start with Essential, then choose which extras to add
Enter 1, 2, or 3.
If they choose 3 (Custom), use AskUserQuestion again to ask:
Which optional modules do you want to add to the Essential set? (You can pick any combination)
- rtk — RTK token-savings % (needs the
rtkCLI)- codegraph — CodeGraph index size (needs the
codegraphCLI)- lines — Lines added/removed this session
- mode — Reasoning effort level
- cost — Session cost in USD (e.g. $0.42)
- duration — Session wall-clock time (e.g. 1h23m)
- speed — Token throughput in tok/s
- vim — Vim mode indicator (N/I/V/VL)
- agent — Active agent name
- pr — Linked PR number and review state
- weekly — 7-day quota bar with reset countdown
- pace — burn-rate vs quota window (e.g.
pace +12%)- cache — prompt-cache freshness countdown (e.g.
cache 4m12s)- tools — tools currently in flight (e.g.
⚒ Bash +2); reads transcript (tail-bounded)- agents — active sub-agents (e.g.
◉ code-reviewer); reads transcript (tail-bounded)- todos — latest TodoWrite progress (e.g.
☑ 3/7); reads transcript (tail-bounded)- daily — cross-session daily spend (e.g.
Σ $4.20); optionaldaily_budgetkey- compactions — compact_boundary count (e.g.
↯ 2)- tokens — cumulative session input/output tokens (e.g.
⇅ 1.2M/45k); incremental cacheList the names separated by spaces, or press Enter to skip all.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- yesterday First seen · 164 lines · 7 tokens per session scan B fecb43771376
setup is a command published in the GitHub repository educlopez/ccvitals (8 stars, last pushed 2mo ago), licensed MIT. It adds 7 tokens to every session and 1,764 once invoked, about $0.0000 per session on Opus 5. A static security scan graded it B with 1 finding (reads agent configuration directories). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other commands, from other repositories
setup
Install the claude-pace statusline bundled with this plugin.
setup
Configure the statusline in Claude Code settings.
cleanup
Remove statusline configuration before uninstalling the plugin.
ssh-keys
Manage SSH keys across hosts — generate, sync, list status, or delete.
pi-code-review
Adversarial code review via Codex — break confidence in changes, not validate them.
pi-fact-check
Fact-check content via Gemini search + Claude verification — cross-provider claim validation.