account-rotation · git:20260716.2ff3bc2 · 2026-07-16 · sha256 2f077b8bcf4ef834
account-rotation git:20260716.2ff3bc2A
Immutable. This exact content is served forever at /api/v1/blob/2f077b8bcf4ef834.
--- name: account-rotation user-invocable: false skill_api_version: 1 hexagonal_role: supporting consumes: [] produces: [] context_rel: [] metadata: dependencies: [] capabilities: [account_rotation] effects: [] canonical_status: canonical disposition: keep_specialist tier: execution description: 'Switch a caller-selected coding-agent account and report the observed identity. Triggers: "switch account", "rotate coding-agent account".' practices: - pragmatic-programmer output_contract: observed account identity and command status --- # Account rotation — credential adapter Choose the credential tool from both host and agent family, perform only the explicit account switch, and report the identity observed by the matching runtime. Verifying identity through the target runtime works because the runtime is the only party whose opinion matters: credential files can be swapped perfectly and still authenticate as the old account in an already-running process. Named failure mode — **stale-process identity**: declaring the rotation done while every live session still holds the previous account's tokens in memory. Anti-pattern: confirming a switch by diffing credential file bytes. Corrective: ask the matching runtime who it is now, and report whether a new process is required for the answer to hold. ## Boundary - On macOS with Claude credentials, use the operator's `claude-acct` route. - For Codex, Gemini, Linux, or WSL file-backed credentials, use `caam`. - Verify account identity through the target runtime; token bytes are not account identity. - Existing processes retain credentials already loaded in memory. Rotation affects a new process. - This skill does not restart work, resume a task, select a pane, move repository state, or decide what happens after the switch. Return the host, agent family, selected tool, requested account/profile, observed identity/status, command exit code, and whether a new process is required.