agentleFS
sonichisonichi/sutando/skills/quota-tracker/SKILL.md

quota-tracker

Skill396 starsChanged 6 months agoMITView on GitHub

Track Claude Code quota usage via Anthropic API rate limit headers. Shows 5h and 7d utilization, reset times, and quota status. Works with both subscription and API key auth.

The file

We split this skill into the rules it gives an agent

1 rule. About 0 are common, 1 is distinctive, and 0 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈1

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 0

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Before starting expensive tasks

    line 15

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Quota Tracker

Monitor your Claude Code quota in real time by intercepting Anthropic API rate limit headers.

When to Use

  • "How much quota do I have left?"
  • "Am I close to the rate limit?"
  • "When does my quota reset?"
  • Before starting expensive tasks

How It Works

A credential proxy sits between Claude Code and the Anthropic API. It reads anthropic-ratelimit-unified-* headers from every API response and writes quota state to a JSON file.

Quick Check

# Read current quota state
cat quota-state.json

Output includes:

  • anthropic-ratelimit-unified-5h-utilization — % of 5-hour window used
  • anthropic-ratelimit-unified-7d-utilization — % of 7-day window used
  • anthropic-ratelimit-unified-5h-reset — when the 5h window resets (epoch)
  • anthropic-ratelimit-unified-7d-reset — when the 7d window resets (epoch)
  • anthropic-ratelimit-unified-status — "allowed" or "rejected"

recent_rejections is a bounded ledger (newest 20) of upstream responses the proxy forwarded with a 4xx/5xx other than 401 — {ts, status, path, snippet, model, user_agent, peer_port} — the proxy serves every seat on the host, so the client fields are what make a rejection attributable; the probe counts only entries for this core's own model (SUTANDO_CORE_MODEL or core-runtime.json) and counts every client when that is unknown. It survives the per-response header rewrite, and health-check.py's core-request-rejections probe warns on one inside 15 minutes and fails on five inside an hour, so a credits/overage rejection that leaves every unified-status header allowed still reaches the owner.

Setup

1. Start the credential proxy

npx tsx "$SKILL_DIR/scripts/credential-proxy.ts"

This starts on port 7846 and reads OAuth credentials from macOS keychain.

2. Route Claude Code through the proxy

ANTHROPIC_BASE_URL=http://localhost:7846 claude ...

Or add to your voice agent's launchd plist:

<key>ANTHROPIC_BASE_URL</key>
<string>http://localhost:7846</string>

3. Read quota state

python3 "$SKILL_DIR/scripts/read-quota.py"           # human readable
python3 "$SKILL_DIR/scripts/read-quota.py" --json     # machine readable
python3 "$SKILL_DIR/scripts/read-quota.py" --gate     # exit 1 if exhausted, not routed, OR stale

Requirements

  • macOS (reads OAuth from keychain)
  • Claude Code logged in (subscription or API key)
  • Node.js with tsx

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.