caam
Use when switching AI coding CLI accounts quickly to recover from subscription rate limits or OAuth friction.
What this skill does
<!-- TOC: Quick Start | THE EXACT PROMPT | Smart Rotation | TUI | Isolated Profiles | References --> # CAAM — Coding Agent Account Manager > **Core Problem:** You hit rate limits on your $200/mo Claude Max subscription. Browser OAuth takes 30-60 seconds. CAAM swaps accounts in ~50ms. ## Quick Start ```bash # 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 ``` --- ## THE EXACT PROMPT — Daily Commands ### Check Status ```bash caam status ``` Shows active profile for each tool based on content hash matching. ### Instant Switch ```bash caam activate claude [email protected] ``` Restores auth files from vault. ~50ms, no browser. ### Smart Auto-Switch ```bash caam activate claude --auto ``` Rotation algorithm picks best profile based on health, recency, cooldowns. ### Mark Rate Limited ```bash caam cooldown set claude ``` Marks current profile for 60min. Rotation skips it. ### Zero-Friction Aliases ```bash # 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" ``` --- ## How It Works 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. --- ## Supported Tools | 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` | --- ## Smart Rotation When you have multiple accounts, rotation picks the best one: ```bash # Preview what rotation would select caam next claude # Let it pick automatically caam activate claude --auto ``` ### Health Indicators | 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 | ### Rotation Algorithms | Algorithm | Description | |-----------|-------------| | `smart` (default) | Cooldown + health + recency + jitter | | `round_robin` | Sequential, skipping cooldowns | | `random` | Random among non-cooldown | --- ## Cooldown Tracking ```bash # 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] ``` --- ## TUI Dashboard ```bash caam tui ``` ### Keybindings | Key | Action | |-----|--------| | `↑/↓` | Navigate profiles | | `Enter` | Activate selected | | `p` | Set project association | | `c` | Mark/clear cooldown | | `r` | Refresh | | `q` | Quit | --- ## Project Associations Link profiles to directories: ```bash cd ~/projects/work-app caam project set claude [email protected] # Now in this directory: caam activate claude # Auto-uses [email protected] ``` --- ## Command Reference | 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 | --- ## Flywheel Integration | 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 | --- ## References | Topic | Reference | |-------|-----------| | Complete commands | [COMMANDS.md](references/COMMANDS.md) | | Isolated profiles | [ISOLATED-PROFILES.md](references/ISOLATED-PROFILES.md) | | Vault structure | [VAULT.md](references/VAULT.md) | --- ## Validation ```bash # Verify installation caam --version # Check all profiles caam status # Test switch caam activate claude --auto && caam status ```
Related in General
modeling-omnistudio-epc-catalog
IncludedSalesforce Industries CME EPC product-modeling skill for Product2-based catalog creation. Use when creating EPC products, configuring product attributes, building offer bundles with Product Child Items, or reviewing EPC DataPack JSON metadata for product catalog changes. TRIGGER when: user creates or updates Product2 EPC records, AttributeAssignment payloads, AttributeMetadata/AttributeDefaultValues, Offer bundles, or ProductChildItem relationships. DO NOT TRIGGER when: designing OmniScripts/FlexCards/Integration Procedures (use building-omnistudio-omniscript, building-omnistudio-flexcard, or building-omnistudio-integration-procedure), implementing Apex business logic (use generating-apex), or troubleshooting deployment pipelines (use deploying-metadata).
relationship-science-coach
IncludedUse this skill for direct, practical adult relationship coaching: couples conflict, repair, trust, marriage, dating, flirting, attachment patterns, emotional connection, sex, desire differences, eroticism, kink negotiation, affection, love languages, breakups, and long-term passion. Draw on Gottman, EFT and Hold Me Tight, attachment science, modern sex research, Perel, Nagoski, Kerner, Schnarch, Love and Stosny, and flexible love-language tools. Be concrete and low-hedge. Redirect only for imminent danger, abuse, coercive control, minors, non-consent, self-harm, stalking, or medical/legal/psychiatric decisions.
building-sf-integrations
IncludedSalesforce integration architecture and runtime plumbing with 120-point scoring. Use this skill to set up Named Credentials, External Credentials, External Services, REST/SOAP callout patterns, Platform Events, and Change Data Capture. TRIGGER when: user sets up Named Credentials, External Services, REST/SOAP callouts, Platform Events, CDC, or touches .namedCredential-meta.xml files. DO NOT TRIGGER when: Connected App/OAuth config (use configuring-connected-apps), Apex-only logic (use generating-apex), or data import/export (use handling-sf-data).
venue-templates
IncludedAccess comprehensive LaTeX templates, formatting requirements, and submission guidelines for major scientific publication venues (Nature, Science, PLOS, IEEE, ACM), academic conferences (NeurIPS, ICML, CVPR, CHI), research posters, and grant proposals (NSF, NIH, DOE, DARPA). This skill should be used when preparing manuscripts for journal submission, conference papers, research posters, or grant proposals and need venue-specific formatting requirements and templates.
let-fate-decide
IncludedDraws the 12 Houses of the Zodiac Tarot spread to inject entropy into planning when prompts are vague, ambiguous, or casually delegated. Interprets the spread to guide next steps. Use when the user says 'let fate decide', 'YOLO', 'whatever', 'idk', or other nonchalant phrases, makes Yu-Gi-Oh references, or when you are about to arbitrarily pick between multiple reasonable approaches. Prefer over ask-questions-if-underspecified when the user's tone is casual or playful rather than precision-seeking.
net-ops
IncludedCross-platform network troubleshooting (Windows, macOS, Linux) via local or remote shell. Use for: DNS broken, can't resolve hostnames, nslookup/dig works but apps fail, NRPT, WFP, scutil, /etc/resolver, systemd-resolved, /etc/resolv.conf, NetworkManager, VPN DNS leak residue (ProtonVPN/Mullvad/WireGuard/AnyConnect), AV/firewall blocking DNS or DoH, Tailscale DNS interaction, intermittent connectivity, remote diagnostics over SSH.