commerce-b2b-open-codeβ¦
Integrate Salesforce B2B Commerce open source components from GitHub into B2B Commerce stores. Use when users mention \"integrate open code components\",β¦
Validate and configure the local Salesforce development environment. Runs a prerequisite scan showing π΄/π‘/π’ status for all required tools (Salesforce CLI, Code Analyzer plugin, Node.js, NPM, Git, Salesforce MCP, Source Tracking) and offers to install or update
$ npx -y skills add forcedotcom/sf-skills --skill platform-environment-validate --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/platform-environment-validateContext preview
The summary Claude sees to decide when to auto-load this skill.
Validate and configure the local Salesforce development environment. Runs a prerequisite scan showing π΄/π‘/π’ status for all required tools (Salesforce CLI, Code Analyzer plugin, Node.js, NPM, Git, Salesforce MCP, Source Tracking) and offers to install or update
name: platform-environment-validate description: "Validate and configure the local Salesforce development environment. Runs a prerequisite scan showing π΄/π‘/π’ status for all required tools (Salesforce CLI, Code Analyzer plugin, Node.js, NPM, Git, Salesforce MCP, Source Tracking) and offers to install or update missing/outdated items. TRIGGER when the user runs /salesforce-development:platform-environment-validate, asks to 'check my setup', 'validate tools', 'verify prerequisites', 'am I set up correctly', or reports that a tool is missing or not working. DO NOT TRIGGER for: org authentication issues (use /salesforce-development:login), deployment problems (use platform-metadata-deploy), or general status checks (use /salesforce-development:status)." allowed-tools: - Bash - Read
Validate all required prerequisites and surface a clear, actionable status report. This skill is on-demand β it does not run automatically on session start. Run it explicitly to check or repair your local setup.
Run the tool check:
${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. It is a **Tier-1 surface**: read the JSON for your own understanding, but do **NOT** reproduce, redraw, or re-render the banner. Add only a short read of what the result means for the user, then go to **Phase 2**.
The painted banner looks like this (illustrative β the version/message text in each row comes straight from the JSON: `version` for π’, `message` + fix hint for π‘/π΄, the note for βΉοΈ; the values below show the style, not fixed strings):
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ Ready to build on Salesforce? checking your toolchainβ¦ ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ π’ Salesforce CLI v2.144.6 π’ Code Analyzer v5.14.0 Β· JIT, auto-installs on first use π’ Node.js v22.11.0 LTS π’ NPM v10.9.0 π’ Git v2.50.1 π’ Salesforce MCP (config) .mcp.json + proxy present π’ Salesforce MCP (endpoint) org instance reachable βΉοΈ Salesforce MCP (process) confirm with /mcp or /doctor π’ Source Tracking enabled ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β toolchain ready (skill: platform-environment-validate)
Each row's status dot carries the state β π΄ `critical` (missing or below minimum β Salesforce development cannot proceed), π‘ `warn` (installed but outdated, non-LTS, or misconfigured), π’ `ok`, βΉοΈ `info` (a contextual note that can't be auto-verified, e.g. MCP process health) β and the framed footer gives the verdict plus the single most relevant `Next:` step. The JSON `status` field is the source of truth per tool; use these states when you write your short read.
**If the banner did not paint** (an older Claude Code build, or a paint fallback), do **not** hand-render it from the JSON. Print it with the deterministic renderer instead:
${CLAUDE_PLUGIN_ROOT}/scripts/sf-context readiness-bannerThis reads the same scan result `check-tools` just recorded and prints the identical framed banner β rows in fixed order, the footer verdict, and the "you don't memorize commands here" wayfinding footer with its `Next:` step β so ordering, padding, counts, and next-step selection are decided once in the script, never re-derived by hand. The `check-tools` JSON stays the authoritative, machine-readable result.
**Deterministic results β do NOT override a failure:** the JSON report is the authoritative, machine-readable result. If a tool reports π΄/π‘, report it as-is. Do **not** re-run the tool a different way (PowerShell, a raw shell probe, a different command) and then present the result as π’ β a fallback that happens to find the tool does **not** mean the deterministic check passed. A failed check must stay failed until that **same** `check-tools` check passes. When the report includes a `diagnostic` block (attached on any critical failure), surface it: it carries the platform, active shell, working directory, plugin root, and the **resolved executable paths** β the fastest way to see why a tool didn't resolve (e.g. a Windows `sf.cmd` not on `PATH`). The diagnostic is secret-free by design; never add tokens or org auth to it.
**MCP is reported as three distinct rows β never inferred from one another:** `Salesforce MCP (config)` (is `.mcp.json` + the `sf-mcp-proxy.bundled.js` present?), `Salesforce MCP (endpoint)` (is the platform endpoint reachable?), and `Salesforce MCP (process)` (is the MCP process actually healthy?). The process row is reported as βΉοΈ **informational** (not a warning) β this script cannot see the MCP subprocess that Claude Code owns, so a green config/endpoint must **not** be presented as a working MCP. Confirm process health with `/mcp` or `/doctor`. The endpoint row probes the org **instance URL** as a connectivity proxy, not the platform-MCP endpoint itself.
| Tool | Minimum Requirement | Verification | |---|---|---| | Salesforce CLI | Present, and on the latest release | `sf --version` (π‘ when an update is available) | | Code Analyzer plugin | Installed **or** JIT-registered | `sf plugins inspect @salesforce/plugin-code-analyzer`, falling back to the CLI's `oclif.jitPlugins` registry | | Node.js | >= 18 (even/LTS) | `node --version` | | NPM | >= 3.10 | `npm --version` | | Git | Must be present | `git --version` | | Salesforce MCP (config) | `.mcp.json`
This repository provides a curated collection of Salesforce agent skills for building applications.
Repo: forcedotcom/sf-skills
Integrate Salesforce B2B Commerce open source components from GitHub into B2B Commerce stores. Use when users mention \"integrate open code components\",β¦
Replace OOTB (out-of-the-box) B2B Commerce components with open source equivalents in site metadata content.json files, or look up the equivalent open codeβ¦
Use this skill to diagnose and resolve what blocks a DevOps Center promotion of a work item's feature branch: Git merge conflicts and deployment failures.β¦
Use this skill to manage the full lifecycle of a DevOps Center pipeline β list all pipelines, get a single pipeline's details, create a new pipeline linked toβ¦
Analyzes DevOps Center test failures and Code Analyzer violations in plain language β failure category, offending file/class/method/line, rule violated, fixβ¦
Configures DevOps Center pipeline testing infrastructure: enables a test provider so its suites become available, re-syncs a configured provider to pull in newβ¦