Skip to main content

providers

Unified AI provider quota monitor. Shows Claude Code, Codex CLI, and Gemini CLI OAuth rate-limit utilization bars with reset countdowns. Reads credentials from each tool's local auth files — no API keys required.

Jump to install

Source facts

Repository
ryanmaclean/skills
Last source activity
April 15, 2026 at 03:58
Detected SKILL.md language
English
Stars
1
Forks
0

Install options

The review-first prompt is selected by default. You can switch to a direct command or download a local copy.

Review the source files

Read SKILL.md and any companion files shown by SkillsMP before deciding whether to install.

File Explorer
2 files

Showing SKILL.md

SKILL.md
Source instructions · Read-only preview
name
providers
description
Unified AI provider quota monitor. Shows Claude Code, Codex CLI, and Gemini CLI OAuth rate-limit utilization bars with reset countdowns. Reads credentials from each tool's local auth files — no API keys required.
# providers — AI Quota Monitor Shows live OAuth quota usage for Claude, Codex, and Gemini in one view. ## Quick usage ```bash nu ~/.claude/skills/providers/providers.nu # all providers nu ~/.claude/skills/providers/providers.nu --claude # Claude only nu ~/.claude/skills/providers/providers.nu --codex # Codex only nu ~/.claude/skills/providers/providers.nu --gemini # Gemini only nu ~/.claude/skills/providers/providers.nu --watch 30 # auto-refresh every 30s nu ~/.claude/skills/providers/providers.nu --json # raw JSON ``` From within a project (if providers.nu is in scripts/): ```bash nu scripts/providers.nu ``` ## Sample output ``` Claude Code 5h ████░░░░░░ 44% reset in 2h 47m 7d ██████░░░░ 61% reset in 127h 47m 7d sonnet ███████░░░ 70% reset in 129h 47m Codex CLI session ██░░░░░░░░ 21% reset in 0h 12m weekly ███░░░░░░░ 32% reset in 95h 12m Gemini CLI Pro █████░░░░░ 52% reset in 21h 0m Flash ██░░░░░░░░ 18% reset in 21h 0m ``` Color scale: green <70% · amber 70–89% · red 90%+ ## Credentials | Provider | File | Field | |----------|------|-------| | Claude | `~/.claude/.credentials.json` | `claudeAiOauth.accessToken` | | Codex | `~/.codex/auth.json` | `access_token` | | Gemini | `~/.gemini/oauth_creds.json` | `access_token` | ## APIs | Provider | Endpoint | Key fields | |----------|----------|-----------| | Claude | `GET https://api.anthropic.com/api/oauth/usage` | `five_hour.utilization`, `seven_day.utilization` (0–100) | | Codex | `GET https://chatgpt.com/backend-api/wham/usage` | `session.percent_used`, `weekly.percent_used` (0–100) | | Gemini | `POST .../loadCodeAssist` → `POST .../retrieveUserQuota` | `remainingFraction` (0.0–1.0, inverted to get used%) | ## Gemini token refresh If `expiry_date` in `~/.gemini/oauth_creds.json` is in the past, the script automatically attempts a token refresh by locating the Gemini CLI's `oauth2.js` and extracting the client credentials. On failure it prints a warning and suggests running `gemini` once manually. ## Notes - All providers are fetched in sequence; a failure on one does not block others - `--json` outputs a `{claude, codex, gemini}` object with raw API responses - Gemini quota uses `remainingFraction` (what's left), converted to used%: `used = (1 - remainingFraction) * 100` - If a provider binary or credentials file is absent, it shows `✗ <reason>` and continues
View on GitHub