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
Convert markdown plans into beads with dependencies using br CLI. Use when creating task graphs, polishing beads before implementation, or bridging planning to agent swarm execution.
development
Orchestrate Codex skill optimization during active sessions through $cas goal control, $shadow single-session evidence, $tune diagnosis/refinement briefs, and the skill-optimizer custom subagent. Trigger for $opt, skill optimization loops, session-driven skill tuning, meta-skill audits, or explicit validated skill edits. Do not use for general code optimization, product optimization, or performance tuning.
development
Run a targeted fresh-eyes blunder pass over code, specs, plans, adjudications, closure gates, skill edits, or negative-evidence ledgers. Trigger when asked to reread with fresh eyes, find obvious bugs, catch mistakes/oversights/omissions, check for embarrassing misses, or perform a second independent blunder pass before closure. Do not use as a substitute for implementation, adjudication, or verification; use it as the final falsification/check pass for those workflows.
development
Explicitly shadow, tail, watch, follow, monitor, supervise, or companion exactly one Codex session id/path through `$seq`, then apply a named target skill as an interpretation/reporting/proposal/action lens until the watched session stops.