Usage Data — Data skill for Claude Code
Daily Claude Code + Codex usage aggregates, powering maxghenis.com/usage.
How to install Usage Data
This entry records only its repository, not the path inside it, so there is no
exact command to give. Open MaxGhenis/usage-data and copy the folder into
~/.claude/skills/, or the file into ~/.claude/agents/.
What Usage Data does
Daily Claude Code + Codex usage aggregates, powering maxghenis.com/usage.
Alternatives in Data
- Claude Code Usage Monitor — by Maciek-roboblog - A real-time terminal-based tool for monitoring Claude Code token usage 7k ★
- Posthog Analysis — Analyze PostHog usage data with correct filters, timelines, and caveats 1.6k ★
- AI Data Extraction — extract all your personal data history from cursor, codex, claude-code, windsurf, and trae 1.3k ★
README
usage-data
Public, auto-refreshed data file powering [maxghenis.com/usage](https://maxghenis.com/usage).
`usage.json` is regenerated every ~30 minutes by `build_usage.py` + `extract.py`, which read the raw Claude Code and Codex session JSONL on my machine and aggregate to daily totals. Only daily aggregates are published: token counts, computed cost at public API list prices, and model breakdowns. No message content, no file paths, no project names.
Methodology
- Dated to when usage happened. Every API call is bucketed by its own timestamp (UTC), not by session start, so sessions that span weeks don't pile onto their start date.
- Bill-faithful codex accounting. Codex fork/resume writes a snapshot
file containing a full replay of prior history under a fresh session id.
Replays are detected structurally — the leaf
session_meta(carryingforked_from_id) adjacent to the copied ancestor'ssession_meta, with the native boundary at the firsttask_startedwhose preservedstarted_atagrees with its own outer timestamp — never by wall-clock timing, which misses multi-second copied prefixes and falsely discards fresh same-second work. Genuine cumulative-counter resets segment a file into billing epochs that are summed; rate-limit-only heartbeats are ignored. Only live continuation deltas oftotal_token_usagecount. - Claude requests deduplicated globally by
(message.id, requestId)with the last occurrence winning: subagent transcripts stream several usage snapshots per request (the first is a placeholder withoutput_tokens≈1; the last carries the billed totals), and resumed sessions copy history verbatim into new transcript files. - Cache-creation captured. Claude prompt-cache writes are priced at the 5m/1h write rates; cache reads at the cache-hit rate.
- Pricing is pinned per model at public list prices (standard tier, no Batch/Flex/long-context modifiers), cross-checked against LiteLLM's
Related Skills
Daily Summary
Evening daily-summary ritual — recap the day's lands, /go-run friction, feedback, and token usage into a durab
Coding Agent Usage
Live local dashboard for AI coding-tool usage — Claude Code, Claude Desktop, Codex, GitHub Copilot, Cursor, op
Verge
Ambient desktop overlay that tracks AI coding agents (Claude Code, Codex/ChatGPT, and more) — real activity, u
AI Job Hunter
A full-featured AI-powered job search toolkit targeting Data Science, ML Engineering, and Analytics roles in A
VibeCodingTracker
Track AI coding costs in real-time — a lightweight Rust CLI/TUI for Claude Code, Codex, Copilot & Gemini usage
Ccstats
Fast CLI for Claude Code and OpenAI Codex token/cost usage analytics
Related Agents
Usage Reporter
Reads real Claude Code usage from ~/.claude/stats-cache.json. Reports daily/weekly token usage by model, cache
Scheduler
Cold data-layer agent. Aggregates tasks, events, and completed work from channels declared in .claude/agents/d
Example: Incremental Data Pipeline Pattern
from datetime import datetime, timedelta @dag(schedule="@daily", catchup=False) def incremental_sales_pipeline