Agent skill · forcedotcom
experience-ui-bundle-site-generate
MUST activate when the project contains a uiBundles/*/src/ directory and the task involves creating or configuring site infrastructure. Use this skill when creating or configuring a Salesforce Digital Experience Site for hosting a UI bundle. Activate when files matching digitalExperiences/, networks/, customSite/, or DigitalExperienceBundle exist and need modification, or when the user wants to publish, host, or configure guest access for their app. Also use this skill to add multi-language, multi-locale, internationalization, or translation support to such a site by declaring a default locale and additional supported languages via the sfdc_cms__languageSettings content type. DO NOT TRIGGER for LWR (non-React) sites; use experience-lwr-site-generate instead.
What it needs
About 6k tokens when loaded.
What this skill does
Digital Experience Site for React UI Bundles Create and configure Digital Experience Sites that host React UI bundles on Salesforce. This skill generates the minimum necessary site infrastructure — Network, CustomSite, DigitalExperienceConfig, DigitalExperienceBundle, and the sfdccmssite content type — so a React app can be served from Salesforce. React sites differ from standard LWR sites: they don't need routes, views, theme layouts, or branding sets. The site acts as a thin container (appContainer: true) that delegates rendering to the React UI bundle referenced by appSpace. Required Properties Resolve all five properties before generating any metadata. Each has a fallback chain — work through each option in order until a value is found. Property Format How to Resolve ---------- -------- ---------------- siteName UpperCamelCase (e.g., MyCommunity) Ask user or derive from context siteUrlPathPrefix All lowercase (e.g., mycommunity) User-provided, or convert siteName to all lowercase with alphanumeric characters only appNamespace String namespace in sfdx-project.json → sf data query -q "SELECT NamespacePrefix FROM Organization" --target-org ${usernameOrAlias} → default c appDevName String UIBundle metadata in the project → sf data query -q "SELECT DeveloperName FROM UIBundle" --target-org ${usernameOrAlias} → default to siteName enableGuestAccess Boolean Ask user whether unauthenticated guest users can access site APIs → default false The appNamespace and appDevName properties record the intended UIBundle binding for a future follow-up update; they are not substituted into appSpace at initial site creation. appSpace in the sfdccmssite content.json is always "" at initial creation — see configure-metadata-digital-experience.md for the reason and the follow-up flow. Language Properties The skill always emits sfdccmslanguageSettings alongside sfdccmssite. …
How to use it
Reference it in AdaL, Claude Code, Cursor or any coding agent — nothing to install:
@skills forcedotcom/experience-ui-bundle-site-generate--77d6f6