From claude-usage
This skill should be used when the user asks "check my usage", "how's my Claude usage", "am I running low", "which account has capacity", "check usage", "how much usage do I have left", "usage report", "burn rate", "how fast am I burning", "which account should I use", mentions Claude Max rate limits, or asks about any of their Claude Max accounts.
How this skill is triggered — by the user, by Claude, or both
Slash command
/claude-usage:usage-checkerThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Check usage across all configured Claude Max accounts and report results in plain language.
Check usage across all configured Claude Max accounts and report results in plain language.
Run this command to get structured JSON data for all accounts:
~/code/claude-usage/claude-usage check --json 2>/dev/null
Parse the JSON output and present a human-readable summary. Do not show raw JSON to the user. The number of accounts is determined by the output — do not assume a fixed count.
To check a single account by number or name:
~/code/claude-usage/claude-usage check --json -a pelotom 2>/dev/null
For each account, extract these fields from the JSON api_data:
five_hour.utilization (0-100%). The short-term rate limit.seven_day.utilization (0-100%). The main weekly limit. This is the most important number.seven_day_sonnet.utilization. Separate limit just for Sonnet.resets_at fields. Convert to human-relative times ("resets in 4h", "resets tomorrow").subscription_details data: next_charge_date, status.Compare the percentage of weekly usage consumed against the percentage of the 7-day window that has elapsed:
time_remaining = resets_at - nowwindow_elapsed = (7 days - time_remaining) / 7 dayspace = utilization / (window_elapsed * 100)Describe pace in plain language:
If resets_at is null, no usage has been recorded — report as "completely fresh."
When the user asks which account to use, recommend the one with the lowest 7-day utilization. Factor in reset times — an account at 60% that resets in 2 hours is better than one at 30% that resets in 6 days.
If a result has "error" set (non-null), the session has expired. Instruct the user:
Run: ~/code/claude-usage/claude-usage setup -a {account_number}
This opens a browser for Google OAuth re-login. The user must run this in their own terminal — it cannot be run from within Claude Code.
Accounts are configured in ~/code/claude-usage/accounts.json. To see which accounts exist:
cat ~/code/claude-usage/accounts.json
~/code/claude-usage/claude-usage setup # all accounts
~/code/claude-usage/claude-usage setup -a 2 # just account #2
Setup opens a Playwright browser for each account. The user logs in via Google OAuth. Cookies are exported to ~/code/claude-usage/profiles/account-{N}/cookies.json. Sessions typically last weeks before expiring.
When the user asks "how's my usage?", respond conversationally:
pelotom is at 57% of the weekly limit with 22 hours until reset — comfortable pace. thomasmcrockett has barely been touched (3% weekly). eumemic is completely fresh. I'd use eumemic or thomasmcrockett next.
Lead with the most important information (which accounts are getting close to limits). Only mention billing dates if the user asks.
For trend analysis over time, use the report command:
~/code/claude-usage/claude-usage report 2>/dev/null
~/code/claude-usage/claude-usage report --json 2>/dev/null
~/code/claude-usage/claude-usage report --hours 6 -a eumemic 2>/dev/null
This reads from JSONL history (~/code/claude-usage/data/usage-history.jsonl) populated by the track command. It computes burn rates via linear regression and projects ETAs to limit.
If the user asks about burn rate and there's no history data, tell them to set up tracking:
# Record snapshots (run via cron every 15 minutes):
~/code/claude-usage/claude-usage track
# Cron entry:
# */15 * * * * ~/code/claude-usage/claude-usage track 2>>~/code/claude-usage/data/track-errors.log
When presenting report data, focus on:
The report command includes pool-level analysis that accounts for token rotation.
Pool headroom: 150% across 3 accounts Active burn: +2.5/hr (sequential rotation) Runway: ~60h until all accounts capped Next reset: 18h
This means: at 2.5%/hr, 150% of headroom lasts 60 hours. The first account resets in 18 hours, well before exhaustion. The pool is healthy.
references/api-format.md — Full JSON response schema, field definitions, and pace calculation detailsnpx claudepluginhub eumemic/claude-plugins --plugin claude-usageReports rate-limited 5-hour windows from cached timeline data to GitHub Discussions. Use when hitting Claude rate limits to contribute data for reverse-engineering Anthropic's formula.
Generates a quick one-page report summarizing Claude Code token usage, costs, sessions, projects, cache hit rates, subagent ratios, and top spenders. Routes to cost, anomaly, project, or trend audits.
Displays real token usage and estimated savings for current Claude Code session from session logs—no AI estimation. Invoke via `/genshijin-stats` for session stats, `--all` lifetime totals, `--share` summaries, or `--since` periods.