credential-switch
Installation
SKILL.md
/digital-marketing-pro:credential-switch
Script location. If your host does not set
${CLAUDE_PLUGIN_ROOT}, the scripts are in this plugin'sscripts/folder, next toskills/. Run them with Python 3.10 or newer:python, orpython3wherepythonis not found (macOS, many Linux systems).
Purpose
Switch the active credential profile to a different brand for multi-client agency management. Validates all platform connections and reports which services are available for the target brand. Ensures the correct API keys, tokens, and environment variables are active before executing any platform operations — preventing cross-client data leakage, misrouted ad spend, or accidental operations on the wrong account.
Execution gate (MANDATORY — cannot be skipped)
- Present the validation summary — target brand, per-platform credential status, and any warnings — as an Execution Summary.
- If validation is clean and only one client credential profile is configured, the switch may proceed automatically. If more than one client profile exists, or any warning / missing / expiring credential is present, the user must type
yes(or an equivalent explicit approval) — ANY other input cancels. - Never proceed on ambiguous input. Never auto-retry a failed switch.
- Only after the user types
yes, record it:python "${CLAUDE_PLUGIN_ROOT}/scripts/approval-manager.py" --brand {slug} --action create-approval --data '{"type":"credential-switch","platform":"<platform>","content_summary":"<one line from the Execution Summary>","risk_level":"<tier>"}', thenpython "${CLAUDE_PLUGIN_ROOT}/scripts/approval-manager.py" --brand {slug} --action approve --id {approval_id}. If either command errors, stop and report the error; never work around it with another tool. The record proves the approval step ran for this action; it cannot prove who typedyes. - Execute. A write sent through
connector_executor.pyneeds--approval-idand fires only against a matching, unused, unexpired record (see/digital-marketing-pro:execute-action). A write through a connected MCP server tool is outside that code check: it relies on this typedyesand on your host's permission prompt. Afterwards runpython "${CLAUDE_PLUGIN_ROOT}/scripts/approval-manager.py" --brand {slug} --action mark-executed --id {approval_id} --data '{"execution_result":"success"}'(orfailure).
Input Required
The user must provide (or will be prompted for):