/setup
Validate the local Salesforce development environment โ scan required tools (SF CLI, Code Analyzer, Node, NPM, Git, MCP, Source Tracking) with ๐ด/๐ก/๐ข status and offer guided install/update.
> /plugin marketplace add forcedotcom/afv-library > /plugin install salesforce-development@salesforce
How it fires
How this command gets triggered: by you, by Claude, or both.
- Fires itselfClaude auto-loads it when your prompt matches the work.
- You can call itInvoke it directly when you want it.
- Slash command
/setup
Context preview
What this command does when you run it.
Validate the local Salesforce development environment โ scan required tools (SF CLI, Code Analyzer, Node, NPM, Git, MCP, Source Tracking) with ๐ด/๐ก/๐ข status and offer guided install/update.
Command definition
setup.mddescription: Validate the local Salesforce development environment โ scan required tools (SF CLI, Code Analyzer, Node, NPM, Git, MCP, Source Tracking) with ๐ด/๐ก/๐ข status and offer guided install/update.
allowed-tools:
- Bash
- Read
Run the tool prerequisite scan and render an actionable status report.
Phase 1: Scan
${CLAUDE_PLUGIN_ROOT}/scripts/sf-context check-toolsThe output is a JSON object with a `tools` array (plus a `diagnostic` block on any critical failure).
**The banner is painted for you โ do not reproduce it.** When `check-tools` runs, the plugin paints the framed **"Ready to build on Salesforce?"** banner deterministically on the visible channel (one status row per tool, the footer verdict, and the wayfinding footer), exactly like the SessionStart banner. Read the JSON for your own understanding, but do **NOT** reproduce, redraw, or re-render the banner โ add only a short read of what it means for the user, then go to Phase 2.
**Only if you do not see the banner painted** (an older Claude Code build, or a paint fallback) render it yourself from the JSON, using the layout defined in the `platform-environment-validate` skill as the single source of truth. **Read `${CLAUDE_PLUGIN_ROOT}/skills/platform-environment-validate/SKILL.md` (Phase 1)** for the canonical frame, status-dot definitions, fixed row order, footer verdict, and wayfinding footer. In brief: one framed block, one row per tool with a ๐ด/๐ก/๐ข/โน๏ธ status dot in a fixed order, and a footer verdict โ ` โ toolchain ready` when there are no ๐ด/๐ก rows, or ` โ <N> need attention ยท <M> ready` otherwise โ then the "You don't memorize commands here." wayfinding block ending in a context-aware `Next: <action> โ "<phrase>"` line. A setup is "all green" when there are no ๐ด or ๐ก rows; โน๏ธ rows never count against it.
**Deterministic results โ do NOT override a failure.** The JSON report is the authoritative result. If a tool reports ๐ด/๐ก, render it as-is; never re-run the check a different way and present the result as ๐ข. When the report includes a `diagnostic` block (attached on any critical failure), surface it โ it carries platform, active shell, working directory, plugin root, and the resolved executable paths, and is secret-free by design.
Note: the Code Analyzer plugin is a JIT ("just-in-time") plugin โ if it is registered but not yet physically installed, `check-tools` reports it ๐ข with a note that it auto-installs on first `sf code-analyzer` run. That is expected and not a problem.
Phase 2: Install / Update
**If all green:** confirm setup is complete โ the user is ready to develop.
**If any ๐ด/๐ก items exist:** offer to help. For each item the user wants to fix, show the correct install/update command for their OS and ask them to confirm before running it โ do **not** run install commands automatically.
For the full guided install/update flow (per-tool commands by OS, PATH-restart guidance, source-tracking enablement), see the `platform-environment-validate` skill.
Notes
- After installing a tool that modifies PATH (Node.js, SF CLI), the user may need to restart Claude Code for the change to take effect.
- For org authentication issues (expired session, wrong org), run `/salesforce-development:login`.
- For a quick org/project banner rather than a prerequisite scan, run `/salesforce-development:status`.
Read more
description: Validate the local Salesforce development environment โ scan required tools (SF CLI, Code Analyzer, Node, NPM, Git, MCP, Source Tracking) with ๐ด/๐ก/๐ข status and offer guided install/update. allowed-tools: - Bash - Read
Run the tool prerequisite scan and render an actionable status report.
Phase 1: Scan
${CLAUDE_PLUGIN_ROOT}/scripts/sf-context check-toolsThe output is a JSON object with a `tools` array (plus a `diagnostic` block on any critical failure).
**The banner is painted for you โ do not reproduce it.** When `check-tools` runs, the plugin paints the framed **"Ready to build on Salesforce?"** banner deterministically on the visible channel (one status row per tool, the footer verdict, and the wayfinding footer), exactly like the SessionStart banner. Read the JSON for your own understanding, but do **NOT** reproduce, redraw, or re-render the banner โ add only a short read of what it means for the user, then go to Phase 2.
**Only if you do not see the banner painted** (an older Claude Code build, or a paint fallback) render it yourself from the JSON, using the layout defined in the `platform-environment-validate` skill as the single source of truth. **Read `${CLAUDE_PLUGIN_ROOT}/skills/platform-environment-validate/SKILL.md` (Phase 1)** for the canonical frame, status-dot definitions, fixed row order, footer verdict, and wayfinding footer. In brief: one framed block, one row per tool with a ๐ด/๐ก/๐ข/โน๏ธ status dot in a fixed order, and a footer verdict โ ` โ toolchain ready` when there are no ๐ด/๐ก rows, or ` โ <N> need attention ยท <M> ready` otherwise โ then the "You don't memorize commands here." wayfinding block ending in a context-aware `Next: <action> โ "<phrase>"` line. A setup is "all green" when there are no ๐ด or ๐ก rows; โน๏ธ rows never count against it.
**Deterministic results โ do NOT override a failure.** The JSON report is the authoritative result. If a tool reports ๐ด/๐ก, render it as-is; never re-run the check a different way and present the result as ๐ข. When the report includes a `diagnostic` block (attached on any critical failure), surface it โ it carries platform, active shell, working directory, plugin root, and the resolved executable paths, and is secret-free by design.
Note: the Code Analyzer plugin is a JIT ("just-in-time") plugin โ if it is registered but not yet physically installed, `check-tools` reports it ๐ข with a note that it auto-installs on first `sf code-analyzer` run. That is expected and not a problem.
Phase 2: Install / Update
**If all green:** confirm setup is complete โ the user is ready to develop.
**If any ๐ด/๐ก items exist:** offer to help. For each item the user wants to fix, show the correct install/update command for their OS and ask them to confirm before running it โ do **not** run install commands automatically.
For the full guided install/update flow (per-tool commands by OS, PATH-restart guidance, source-tracking enablement), see the `platform-environment-validate` skill.
Notes
- After installing a tool that modifies PATH (Node.js, SF CLI), the user may need to restart Claude Code for the change to take effect.
- For org authentication issues (expired session, wrong org), run `/salesforce-development:login`.
- For a quick org/project banner rather than a prerequisite scan, run `/salesforce-development:status`.
This repository provides a curated collection of Salesforce agent skills for building applications.
Repo: forcedotcom/afv-library
Other commands on sf-skills.
- /discovery
Discover installed and available Salesforce capabilities, drill into a domain or skill, or explicitly add one catalog-authorized project skill.
Open command - /login
Authenticate to a new Salesforce org via the browser (sf org login web). Optionally set the org as the project's default target.
Open command - /logout
Sign out of one or all Salesforce orgs (sf org logout). Confirms before destructive action.
Open command - /org
Show just the connected Salesforce org details โ alias, edition, API version, instance URL, username.
Open command - /project
Show just the local SFDX project metadata stats โ Apex/triggers/LWC/Aura/objects/perm sets/flows counts and git status.
Open command - /reset-source-tracking
Reset source tracking for the target org โ tells the CLI to forget all tracked changes so the next push/pull treats the full org as new state. Destructive on shared sandboxes. Requires explicit confirmation before executing.
Open command

