commerce-b2b-open-code…
Integrate Salesforce B2B Commerce open source components from GitHub into B2B Commerce…
Scaffold a new Salesforce DX project of any template — standard, empty, analytics, agent, or a React/Angular UI-bundle app — and set it up end-to-end: relocate the session, connect an org, set the default, enable source tracking. Use when the user asks to create or scaffold a
$ npx -y skills add forcedotcom/sf-skills --skill dx-project-create --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/dx-project-createContext preview
The summary Claude sees to decide when to auto-load this skill.
Scaffold a new Salesforce DX project of any template — standard, empty, analytics, agent, or a React/Angular UI-bundle app — and set it up end-to-end: relocate the session, connect an org, set the default, enable source tracking. Use when the user asks to create or scaffold a
name: dx-project-create
description: "Scaffold a new Salesforce DX project of any template — standard, empty, analytics, agent, or a React/Angular UI-bundle app — and set it up end-to-end: relocate the session, connect an org, set the default, enable source tracking. Use when the user asks to create or scaffold a new Salesforce/SFDX project, start a new React/Angular Salesforce app, or run 'sf template generate project'. DO NOT TRIGGER for: building/editing/styling an EXISTING UI-bundle app (experience-ui-bundle-frontend-generate); scaffolding only a UI bundle as a step of building one out (experience-ui-bundle-project-generate, experience-ui-bundle-app-coordinate); tool validation (platform-environment-validate); org auth (login); project stats; scratch orgs (dx-org-manage)."
metadata:
domains: ["Developer Experience"]
relatedSkills:
- "experience-ui-bundle-project-generate"
- "experience-ui-bundle-frontend-generate"
- "experience-ui-bundle-deploy"
- "platform-environment-validate"
- "dx-org-manage"
cliTools:
- tool: ["npm"]
semver: ">=8.0.0"
- tool: ["sf"]
semver: ">=2.0.0"
allowed-tools:
- Bash
- ReadWalk the user through a wizard that scaffolds a new Salesforce DX project, relocates this session into the new project, connects it to an org, and configures it for development. Run each step in order, confirming with the user before any environment-changing action.
The `salesforce-development` plugin's MCP servers (`salesforce-api-context`, `salesforce-metadata-experts`, `salesforce-lsp`) are provided by the **installed plugin**, not by the project — so they stay available in the new project automatically once the session relocates. There is no per-project `.mcp.json` to copy.
This skill scaffolds **every** template the CLI offers, including React/Angular UI-bundle apps — creating a project is a core capability and shouldn't require installing a separate plugin just to pick a template. (Once the project exists, the `experience-ui-bundle-*` skills own *building it out* — pages, components, styling, deploy — but the initial scaffold happens right here, whether or not that plugin is installed.)
Read the template set **live from the CLI** — never hardcode it, because Salesforce adds templates over time and a baked-in list goes stale:
sf template generate project --help
Parse the `-t, --template=<option>` line's `<options: a|b|c|…>` list — those pipe-separated names are the authoritative template set. As of writing the CLI offers eight, all scaffolded here: `standard`, `empty`, `analytics`, `agent`, plus the UI-bundle set `reactinternalapp`, `reactexternalapp`, `angularinternalapp`, `angularexternalapp` (React/Angular × internal/external audience). Treat the live parse as the source of truth; the list here is only a fallback if the parse fails.
**Intent shortcut first.** Take the shortcut **only when the request fully resolves to exactly one template.** Anything with a missing choice goes to the picker so it can ask — never guess. Resolve `{template}` directly when:
**A description of the app is NOT a template name.** "Build me a personal todo app", "an inventory tracker", "a CRM for my team" describe *what* to build, not *which* template — they do NOT resolve to a template, so they do **not** qualify for the shortcut. Do not infer `standard` (or any template) from the app's purpose, however obvious it seems: `standard` being the picker's default does not license skipping the picker. When the user hasn't named a template or a framework, **you must show the picker and let them choose** — silently assuming a template is the exact miss this step exists to prevent.
Everything else falls through to the picker, including:
**Otherwise ask one `AskUserQuestion` — "What kind of project?"** (single-select, four options). `AskUserQuestion` caps at four choices, so the picker surfaces the four most-requested kinds; **`empty` is deliberately picker-omitted** and reached only via the intent shortcut above ("empty/minimal project"). That is intentional — `empty` is the rarely-picked bare-project template, and spending one of four scarce slots on it would crowd out a common choice. A user who wants it names it and the shortcut resolves it directly.
This repository provides a curated collection of Salesforce agent skills for building applications.
Repo: forcedotcom/afv-library
Integrate Salesforce B2B Commerce open source components from GitHub into B2B Commerce…
Replace OOTB (out-of-the-box) B2B Commerce components with open source equivalents in site…
Use this skill to diagnose and resolve what blocks a DevOps Center promotion of a work item's…
Use this skill to manage the full lifecycle of a DevOps Center pipeline — list all pipelines,…
Use to list, view, or manage DevOps Center projects in a Salesforce org — show all projects,…
Analyzes DevOps Center test failures and Code Analyzer violations in plain language — failure…