dx-org-switch — скилл для Claude Code: смена активной org
Переключает активную org Salesforce через sf config set target-org. Пригодится, когда команды CLI бьют не в ту org, чем вы ожидали.
npx skills add forcedotcom/sf-skills --skill dx-org-switch -a claude-codeЧто делает dx-org-switch
Скилл разбирает, какую org вы хотите сделать основной, и прописывает её в target-org. Если имя или алиас не названы, агент сначала выполнит sf org list, покажет авторизованные org и спросит, какую брать. Дальше идёт sf config set target-org <orgIdentifier> — по умолчанию в пределах текущего каталога проекта. Глобальную область агент трогает только по прямой просьбе, через флаг --global.
После установки значения скилл проверяет результат командой sf config get target-org --json. Тут есть подвох: JSON не содержит поля области действия, поэтому подтвердить, локальная настройка или глобальная, он не сможет — только само значение. Если команда падает, скилл сообщает об ошибке и советует sf org login web, когда org не авторизована.
Ещё один момент, который стоит держать в голове: переменная окружения SF_TARGET_ORG перебивает значение из конфига. Настроили org, а команды всё равно идут в старую — проверьте её. Устаревшие ключи defaultusername и defaultdevhubusername в этом контексте не работают, у унифицированного CLI свои: target-org и target-dev-hub. Нужен sf версии 2.0.0 или новее.
Какие задачи решает
- переключить команды CLI на нужную org без ручного ввода конфига
- посмотреть список авторизованных org и выбрать одну
- задать основную org только для текущего проекта, не трогая систему
- понять, почему команды идут в старую org после смены настройки
- проверить, какое значение
target-orgстоит сейчас
Примеры запросов агенту
- переключи org на мой алиас uat-sandbox
- покажи авторизованные org и поставь основную из них
- сделай target-org глобально: prod-alias
Как установить dx-org-switch
1Через Skills CLI (Vercel)
npx skills add forcedotcom/sf-skills --skill dx-org-switch -a claude-code2Вручную: положить файлы
~/.claude/skills/dx-org-switch/SKILL.mdПапка скилла целиком; для одного проекта — .claude/skills/dx-org-switch/
1Через Skills CLI (Vercel)
npx skills add forcedotcom/sf-skills --skill dx-org-switch -a codex2Вручную: положить файлы
.agents/skills/dx-org-switch/SKILL.mdДля всех проектов — ~/.agents/skills/
1Через Skills CLI (Vercel)
npx skills add forcedotcom/sf-skills --skill dx-org-switch -a cursor2Вручную: положить файлы
.cursor/skills/dx-org-switch/SKILL.mdCursor читает и .agents/skills/, и .claude/skills/
1GitHub CLI
gh skill install forcedotcom/sf-skills dx-org-switch2Вручную: положить файлы
.github/skills/dx-org-switch/SKILL.md1Через Skills CLI (Vercel)
npx skills add forcedotcom/sf-skills --skill dx-org-switch -a gemini-cli2Командой платформы
gemini skills install https://github.com/forcedotcom/sf-skills --path skills/dx-org-switchВручную: положить файлы
.devin/skills/dx-org-switch/SKILL.mdСтарый путь .windsurf/skills/ тоже читается
Через Skills CLI (Vercel)
npx skills add forcedotcom/sf-skills --skill dx-org-switch -a opencodeClaude.ai
Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills
По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов
Вопросы о dx-org-switch
Как установить dx-org-switch в Claude?
Выполните npx skills add forcedotcom/sf-skills --skill dx-org-switch -a claude-code. Скилл появится в ~/.claude/skills/dx-org-switch/SKILL.md.
Что делает dx-org-switch?
Меняет активную org Salesforce, которую используют команды CLI, через sf config set target-org. Если org не названа, сначала показывает список авторизованных.
Почему org не меняется после настройки?
Проверьте переменную SF_TARGET_ORG — она перебивает значение из конфига. Ещё вариант: org не авторизована, тогда поможет sf org login web.
Исходный текст
SKILL.md · Apache-2.0
---
name: dx-org-switch
description: "Switches the active Salesforce org (default target-org) using the Salesforce CLI. Use whenever someone wants to change which org CLI commands run against — whether they say \"switch org\", \"change default org\", \"set my org to\", \"use alias\", \"point to\", or describe wanting to work against a specific org, scratch org, sandbox, or production."
metadata:
version: "1.0"
domains: ["Developer Experience"]
cliTools:
- tool: ["sf"]
semver: ">=2.0.0"
---
## Steps
1. Identify the org: the user provides a username or alias (`orgIdentifier`). If not provided, run `sf org list` to show authenticated orgs and ask the user which one to use.
2. Set the default org:
- Local (default): `sf config set target-org <orgIdentifier>`
- Applies only within the current project directory. Use this for normal project work.
- Global (only if user explicitly requests): `sf config set target-org <orgIdentifier> --global`
- Applies system-wide across all directories. Use when working outside a project or when the user asks for global scope.
- If this fails, report the error and suggest running `sf org login web` if the org may not be authorized.
3. Verify:
- `sf config get target-org --json`
- Note: the JSON output does not include a scope/location field — it cannot confirm whether the value is local or global. Confirm the value only, e.g.: `target-org is now set to: <value>`
- If it fails, report the error and advise running `sf config get target-org`.
## Notes
- Unified CLI uses keys like `target-org` and `target-dev-hub`. Legacy sfdx keys (`defaultusername`, `defaultdevhubusername`) are deprecated in this context.
- The sf CLI does not have `--local` or `--scope` flags for config set. Local scope is the default behavior.
- If the org does not change after setting the config, check whether `SF_TARGET_ORG` is set — environment variables override config values.
- Salesforce CLI config (unified) reference: https://developer.salesforce.com/docs/atlas.en-us.sfdx_cli_reference.meta/sfdx_cli_reference/cli_reference_config_commands_unified.htm#cli_reference_config_set_unified
© forcedotcom · Apache-2.0 · forcedotcom/sf-skills