codex/skills/caam/SKILL.md
Manage AI coding CLI accounts with sub-100ms switching. Use when Claude Max, GPT Pro, or Gemini Ultra rate limits require instant account swapping without browser OAuth.
npx skillsauth add tkersey/dotfiles caamInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Core Problem: You hit rate limits on your $200/mo Claude Max subscription. Browser OAuth takes 30-60 seconds. CAAM swaps accounts in ~50ms.
# Install
curl -fsSL "https://raw.githubusercontent.com/Dicklesworthstone/coding_agent_account_manager/main/install.sh?$(date +%s)" | bash
# Backup current account
caam backup claude [email protected]
# Clear, login with another account, backup that too
caam clear claude
claude # /login with [email protected]
caam backup claude [email protected]
# Switch instantly forever
caam activate claude [email protected] # ~50ms
caam activate claude [email protected] # ~50ms
caam status
Shows active profile for each tool based on content hash matching.
caam activate claude [email protected]
Restores auth files from vault. ~50ms, no browser.
caam activate claude --auto
Rotation algorithm picks best profile based on health, recency, cooldowns.
caam cooldown set claude
Marks current profile for 60min. Rotation skips it.
# Add to .bashrc/.zshrc
alias claude='caam run claude --'
alias codex='caam run codex --'
alias gemini='caam run gemini --'
# Now these auto-failover on rate limits
claude "explain this code"
Each AI CLI stores OAuth tokens in plain files. CAAM backs them up and restores them:
~/.claude.json ←→ ~/.local/share/caam/vault/claude/[email protected]/
~/.codex/auth.json ←→ ~/.local/share/caam/vault/codex/[email protected]/
That's it. No daemons, no databases, no network calls. Just cp with extra steps.
| Tool | Subscription | Auth Files |
|------|--------------|------------|
| Claude Code | Claude Max ($200/mo) | ~/.claude.json, ~/.config/claude-code/auth.json |
| Codex CLI | GPT Pro ($200/mo) | ~/.codex/auth.json |
| Gemini CLI | Gemini Ultra (~$275/mo) | ~/.gemini/settings.json, ~/.gemini/oauth_credentials.json |
When you have multiple accounts, rotation picks the best one:
# Preview what rotation would select
caam next claude
# Let it pick automatically
caam activate claude --auto
| Icon | Status | Meaning | |------|--------|---------| | 🟢 | Healthy | Token valid >1hr, no recent errors | | 🟡 | Warning | Token expiring <1hr, minor issues | | 🔴 | Critical | Token expired, repeated errors | | ⚪ | Unknown | No health data yet |
| Algorithm | Description |
|-----------|-------------|
| smart (default) | Cooldown + health + recency + jitter |
| round_robin | Sequential, skipping cooldowns |
| random | Random among non-cooldown |
# Mark current profile (60min default)
caam cooldown set claude
# Specify profile and duration
caam cooldown set claude/[email protected] --minutes 120
# View active cooldowns
caam cooldown list
# Clear early
caam cooldown clear claude/[email protected]
caam tui
| Key | Action |
|-----|--------|
| ↑/↓ | Navigate profiles |
| Enter | Activate selected |
| p | Set project association |
| c | Mark/clear cooldown |
| r | Refresh |
| q | Quit |
Link profiles to directories:
cd ~/projects/work-app
caam project set claude [email protected]
# Now in this directory:
caam activate claude # Auto-uses [email protected]
| Command | Description |
|---------|-------------|
| caam backup <tool> <email> | Save current auth to vault |
| caam activate <tool> <email> | Restore auth from vault |
| caam activate <tool> --auto | Auto-select best profile |
| caam status [tool] | Show active profiles |
| caam ls [tool] | List saved profiles |
| caam clear <tool> | Remove auth files (logout) |
| caam run <tool> [-- args] | Wrap with auto-failover |
| caam cooldown set <profile> | Mark as rate limited |
| caam cooldown list | Show active cooldowns |
| caam next <tool> | Preview rotation selection |
| caam tui | Interactive dashboard |
| Tool | Integration | |------|-------------| | NTM | Each tmux pane uses different account via isolated profiles | | Agent Mail | Agents coordinate account switching across sessions | | CASS | Search sessions by account for usage patterns |
| Topic | Reference | |-------|-----------| | Complete commands | COMMANDS.md | | Isolated profiles | ISOLATED-PROFILES.md | | Vault structure | VAULT.md |
# Verify installation
caam --version
# Check all profiles
caam status
# Test switch
caam activate claude --auto && caam status
tools
Invokes Apple's macOS 27 fm command-line tool from a local Mac to use the on-device system model or Private Cloud Compute, including instructions, image prompts, schema-constrained JSON, and noninteractive automation. Use when the user asks to run Apple Foundation Models through fm, compare system versus pcc, generate structured output, or automate fm without Swift or an app.
development
Compile historical Codex sessions into governed counterfactual evidence, evaluate an existing owner-applied candidate through blinded paired HCTP trials, and fold observable evidence into RUN, OBSERVE, or STOP. Use for `$hylo`, CRF extraction, counterfactual replay, source-governed direct or historical trials, sealed evidence, paired baseline/candidate evaluation, causal frontiers, or evidence-governed improvement.
testing
Ensure a `ledger` command is available on PATH; materialize, validate, record, replay, and project requested Actuating artifacts without taking semantic or execution authority; coordinate the shared Learnings/Synesthesia/Negative Ledger lifecycle checkpoint and repo-local source-memory reconciliation; address Universalist plans and receipts; and perform pure artifact validation.
testing
Classify and quotient review findings, failing tests, incidents, bug reports, migration failures, and other witnessed falsifiers against accepted intent and the current Construction. Author counterexample-set/v1 without selecting repairs, counting review credit, or granting mutation.