credential-switch — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited credential-switch (Agent Skill) and scored it 96/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 1 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 1 flagged
The text {match} tells the agent to skip the normal "ask the user first" gate. Used adversarially it removes the human-in-the-loop check before destructive or sensitive actions, turning a normally-gated agent into a fire-and-forget executor.
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
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.
The user must provide (or will be prompted for):
~/.claude-marketing/brands/ with a corresponding credential profile in ~/.claude-marketing/credentials/~/.claude-marketing/brands/_active-brand.json to identify the currently active brand, and ~/.claude-marketing/credentials/_active-profile.json for the current credential profile. Display current state before switching.~/.claude-marketing/brands/{slug}/profile.json. If not found, list all available brands from ~/.claude-marketing/brands/ and suggest /digital-marketing-pro:brand-setup for new brands or /digital-marketing-pro:client-onboarding for new client setupcredential-manager.py --action get-profile --id {slug} to verify a credential profile exists for the target brand. If missing, explain how to create one with the required platform credentials and abort with setup instructionscredential-manager.py --action validate-profile --id {slug} to check each platform's credentials — verify API keys are present and non-empty, OAuth tokens are not expired, and required environment variables are set for all MCP servers configured in .mcp.jsonexecution-tracker.py --action list --status in-progress for any in-progress executions, scheduled deliveries, or queued operations running under the current profile that could be disrupted by a context switch. Warn with specific operation details if any are foundcredential-manager.py --action switch-profile --id {slug} to activate the target brand's credential profile. This updates the active profile reference and loads the corresponding environment variables for all MCP servers~/.claude-marketing/brands/_active-brand.json to set the target brand as the active brand context — ensuring brand profile and credentials are aligned so all subsequent commands use the correct client_active-brand.json and _active-profile.json to confirm the switch completed successfully. If full validation was requested, run a quick connectivity test on critical platforms (Google Ads, Analytics, CRM) to confirm live access works~/.claude-marketing/credentials/switch-log.json for audit trail purposesA credential switch confirmation containing:
/digital-marketing-pro:agency-dashboard to see this client's status, /digital-marketing-pro:client-report to generate a performance report, or /digital-marketing-pro:credential-switch again to return to the previous brand."~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.