
Generating Ui Bundle Site
Provision a brand-new Salesforce Digital Experience React site by authoring a default CustomSite metadata XML file in the correct sites/ path.
Install
npx skills add https://github.com/forcedotcom/sf-skills --skill generating-ui-bundle-siteWhat is this skill?
- Net-new CustomSite template only—explicitly not for editing existing site records
- Default file path sites/{siteName}.site-meta.xml with full SOAP metadata namespace
- Pre-filled security and portal flags (guest payments off, standard portal pages on, XSS/clickjack defaults)
- Maps authorization, error, bandwidth, and file-not-found pages to standard community pages
- Targets Digital Experience React Site provisioning, not arbitrary Visualforce-only sites
Adoption & trust: 661 installs on skills.sh; 513 GitHub stars; 3/3 security scanners passed (skills.sh audits).
Recommended Skills
Azure Deploymicrosoft/azure-skills
Azure Preparemicrosoft/azure-skills
Azure Storagemicrosoft/azure-skills
Azure Validatemicrosoft/azure-skills
Appinsights Instrumentationmicrosoft/azure-skills
Azure Resource Lookupmicrosoft/azure-skills
Journey fit
Primary fit
Site metadata is created when wiring a new Experience Cloud React bundle into a Salesforce org during product build. CustomSite records are platform integration metadata, not generic UI components—placement on integrations reflects Salesforce DX provisioning.
Common Questions / FAQ
Is Generating Ui Bundle Site safe to install?
skills.sh reports 3 of 3 security scanners passed. Review the Security Audits panel on this page before installing in production.
SKILL.md
READMESKILL.md - Generating Ui Bundle Site
# Configure Metadata: CustomSite ## Purpose This configuration file creates a **net-new, default** CustomSite metadata record for a Digital Experience React Site. It is not intended to edit or modify an existing CustomSite record. Use this template only when provisioning a brand-new React site. ## File Location ``` sites/{siteName}.site-meta.xml ``` ## Default Template ```xml <?xml version="1.0" encoding="UTF-8"?> <CustomSite xmlns="http://soap.sforce.com/2006/04/metadata"> <active>true</active> <allowGuestPaymentsApi>false</allowGuestPaymentsApi> <allowHomePage>false</allowHomePage> <allowStandardAnswersPages>false</allowStandardAnswersPages> <allowStandardIdeasPages>false</allowStandardIdeasPages> <allowStandardLookups>false</allowStandardLookups> <allowStandardPortalPages>true</allowStandardPortalPages> <allowStandardSearch>false</allowStandardSearch> <authorizationRequiredPage>CommunitiesLogin</authorizationRequiredPage> <bandwidthExceededPage>BandwidthExceeded</bandwidthExceededPage> <browserXssProtection>true</browserXssProtection> <cachePublicVisualforcePagesInProxyServers>true</cachePublicVisualforcePagesInProxyServers> <clickjackProtectionLevel>SameOriginOnly</clickjackProtectionLevel> <contentSniffingProtection>true</contentSniffingProtection> <enableAuraRequests>true</enableAuraRequests> <fileNotFoundPage>FileNotFound</fileNotFoundPage> <genericErrorPage>Exception</genericErrorPage> <inMaintenancePage>InMaintenance</inMaintenancePage> <indexPage>CommunitiesLanding</indexPage> <masterLabel>{siteName}</masterLabel> <redirectToCustomDomain>false</redirectToCustomDomain> <referrerPolicyOriginWhenCrossOrigin>true</referrerPolicyOriginWhenCrossOrigin> <selfRegPage>CommunitiesSelfReg</selfRegPage> <siteType>ChatterNetwork</siteType> <urlPathPrefix>{siteUrlPathPrefix}vforcesite</urlPathPrefix> </CustomSite> ``` # Configure Metadata: DigitalExperienceBundle ## Purpose This configuration file creates a **net-new, default** DigitalExperienceBundle metadata record for a Digital Experience React Site. It is not intended to edit or modify an existing DigitalExperienceBundle record. Use this template only when provisioning a brand-new React site. ## File Location ``` digitalExperiences/site/{siteName}1/{siteName}1.digitalExperience-meta.xml ``` ## Default Template ```xml <?xml version="1.0" encoding="UTF-8"?> <DigitalExperienceBundle xmlns="http://soap.sforce.com/2006/04/metadata"> <label>{siteName}1</label> </DigitalExperienceBundle> ``` # Configure Metadata: DigitalExperienceConfig ## Purpose This configuration file creates a **net-new, default** DigitalExperienceConfig metadata record for a Digital Experience React Site. It is not intended to edit or modify an existing DigitalExperienceConfig record. Use this template only when provisioning a brand-new React site. ## File Location ``` digitalExperienceConfigs/{siteName}1.digitalExperienceConfig-meta.xml ``` ## Default Template ```xml <?xml version="1.0" encoding="UTF-8"?> <DigitalExperienceConfig xmlns="http://soap.sforce.com/2006/04/metadata"> <label>{siteName}</label> <site> <urlPathPrefix>{siteUrlPathPrefix}</urlPathPrefix> </site> <space>site/{siteName}1</space> </DigitalExperienceConfig> ``` # Configure Metadata: DigitalExperience (sfdc_cms__site) ## Purpose These configuration files create **net-new, default** DigitalExperience content records (`sfdc_cms__site` type) for a Digital Experience React Site. They are not intended to edit or modify existing DigitalExperience content. Use these templates only when provisioning a brand-new React site. The `appContainer: true` field in `content.json` is what makes this a React site rather than a standard LWR site. The `appSpace` field should **be left empty if the UIBundle metadata record does not already exist**. When the UIBundle exists, populate the `appSpace` value following the forma