← All skills
provider-switch
82 / 100 · Low risk
Fine to try. Some of what it can do is expected: a coding skill usually runs build and test commands.
By kochetkov-ma/claude-brewcode (GitHub) · coding · 39 stars · scanned at commit 5da825f
Configure alt API providers: DeepSeek, Z.ai/GLM, Qwen, MiniMax, OpenRouter. Triggers: switch provider, openrouter.
Works with any agent that supports SKILL.md skills.
Partially scanned — some files couldn't be read; we'll retry on the next scan
What this skill can do
Runs commands on your computer
This is disclosed by the author in the skill's SKILL.md or README. Expected for a coding skill.
Found in 28 places.
Show 17 more
- brewtools/skills/provider-switch/SKILL.md, line 196
bash "${CLAUDE_SKILL_DIR}/scripts/read-secret.sh" "file:$HOME/.claude-PRV.key" "KEY_VAR_NAME" && echo "OK set-key" || echo "FAILED set-key" - brewtools/skills/provider-switch/SKILL.md, line 199
bash "${CLAUDE_SKILL_DIR}/scripts/read-secret.sh" "env:KEY_VAR_NAME" "KEY_VAR_NAME" && echo "OK set-key" || echo "FAILED set-key" - brewtools/skills/provider-switch/SKILL.md, line 219
(umask 077; mkdir -p .claude/provider-switch) && echo "OK request-dir" || echo "FAILED request-dir" - brewtools/skills/provider-switch/SKILL.md, line 225
python3 "${CLAUDE_SKILL_DIR}/scripts/provider-alias.py" --inspect .claude/provider-switch/selection-request.json && echo "OK inspect-alias" || echo "FAILED insp - brewtools/skills/provider-switch/SKILL.md, line 235
bash "${CLAUDE_SKILL_DIR}/scripts/write-alias.sh" set-alias --request .claude/provider-switch/alias-request.json && echo "OK set-alias" || echo "FAILED set-alia - brewtools/skills/provider-switch/SKILL.md, line 245
zsh -fc 'source ~/.zshrc >/dev/null 2>&1; whence -w ALIAS_NAME' && echo "OK verify" || echo "FAILED verify" - brewtools/skills/provider-switch/SKILL.md, line 255
bash "${CLAUDE_SKILL_DIR}/scripts/check-status.sh" && echo "OK final-status" || echo "FAILED final-status" - brewtools/skills/provider-switch/SKILL.md, line 259
bash "${CLAUDE_SKILL_DIR}/scripts/verify-providers.sh" all --requests .claude/provider-switch/requests && echo "OK verify" || echo "FAILED verify" - brewtools/skills/provider-switch/SKILL.md, line 286
bash "${CLAUDE_SKILL_DIR}/scripts/verify-providers.sh" all && echo "OK verify" || echo "FAILED verify" - brewtools/skills/provider-switch/SKILL.md, line 328
echo "BASE_URL=${ANTHROPIC_BASE_URL:-not_set}" && echo "OPUS_MODEL=${ANTHROPIC_DEFAULT_OPUS_MODEL:-not_set}" && echo "OK detect-provider" || echo "FAILED detect - brewtools/skills/provider-switch/SKILL.md, line 426
printf 'header = "x-api-key: %s"\n' "$(printf '%s' "${ZAI_API_KEY:-missing}" | sed -e 's/\\/\\\\/g' -e 's/"/\\"/g')" \ - brewtools/skills/provider-switch/tests/suite-alias.mjs, line 3
import { spawnSync } from 'node:child_process'; - brewtools/skills/provider-switch/tests/suite-alias.mjs, line 26
const run = args => spawnSync('bash', [WRITER, ...args], { env: childEnv, encoding: 'utf8' }); - brewtools/skills/provider-switch/tests/suite-alias.mjs, line 44
const invoke = spawnSync('zsh', ['-f', '-c', '. "$1"; eval "$2"', 'zsh', w.rc, name], { env: w.childEnv, encoding: 'utf8' }); - brewtools/skills/provider-switch/tests/suite-alias.mjs, line 72
const source = spawnSync('zsh', ['-f', '-c', '. "$1"', 'zsh', w.rc], { cwd: w.root, env: w.childEnv, encoding: 'utf8' }); - brewtools/skills/provider-switch/tests/suite-alias.mjs, line 111
const run = spawnSync('zsh', ['-f', '-c', '. "$1"; eval "$2"; bash "$3"', 'zsh', w.rc, request.alias_name, STATUS], { env: w.childEnv, encoding: 'utf8' }); - brewtools/skills/provider-switch/tests/suite-alias.mjs, line 117
const inspect = spawnSync('python3', [HELPER, '--inspect', selection], { env: w.childEnv, encoding: 'utf8' });
and 8 more places
Changes files outside its own folder
This is disclosed by the author in the skill's SKILL.md or README.
Found in 2 places.
Sends data to these websites: api.z.ai
The author does not mention this. It runs automatically when the plugin is installed.
Found in 5 places.
Show 2 more
Can call paid AI services billed to you
This is disclosed by the author in the skill's SKILL.md or README.
Found in 6 places.
Show 3 more
Install
Paste this into your terminal. It downloads exactly the version we scanned, not whatever is newest.
if [ -e ~/.agents/skills/'provider-switch' ] || [ -L ~/.agents/skills/'provider-switch' ]; then echo 'A skill folder named provider-switch already exists — not replacing it' >&2; false; else d=$(mktemp -d) && git clone --quiet --filter=blob:none --no-checkout 'https://github.com/kochetkov-ma/claude-brewcode' "$d" && git -C "$d" checkout --quiet '5da825f1d535d9658f0de0893529c6ce06a613a5' -- 'brewtools/skills/provider-switch' && mkdir -p ~/.agents/skills && cp -R "$d"/'brewtools/skills/provider-switch' ~/.agents/skills/'provider-switch' && rm -rf "$d"; fi
Codex reads ~/.agents/skills directly. For Claude Code, Cursor, Copilot, Gemini CLI, Antigravity or OpenCode, also link it. For Claude Code: ln -s ~/.agents/skills/'provider-switch' ~/.claude/skills/'provider-switch' (other agents: ~/.cursor/skills, ~/.copilot/skills, ~/.gemini/skills, ~/.gemini/config/skills, ~/.config/opencode/skills). Or install through the finder skill, which does both.
Badge for your README
The badge for kochetkov-ma/claude-brewcode shows the score of its lowest-scoring skill.

[](https://zalavijaysinh.github.io/skilltrust/repos/kochetkov-ma/claude-brewcode/)
Score history
| Date | Version | Score |
|---|
| 2026-11-13 | 5da825f | 82 |
| 2026-11-07 | 9ddf5c0 | 90 |