PluginBench
Skill
Review
Audit score 70

commerce-b2b-store-create

forcedotcom/sf-skills

Create Salesforce B2B Commerce stores and retrieve storefront metadata interactively.

What is commerce-b2b-store-create?

Interactive workflow to create Commerce B2B Stores in Salesforce and pull auto-generated storefront metadata into your repository. Use this when setting up new B2B Commerce storefronts, as the store must be created first in the org before metadata can be retrieved.

  • Guides users through creating a B2B Commerce Store in Salesforce Setup
  • Lists available Digital Experience sites and their actual names (with underscores and suffixes)
  • Retrieves DigitalExperienceBundle metadata for the selected storefront
  • Explains the Store vs Storefront architecture and why manual metadata creation fails
  • Provides deployment steps for customized storefronts

How to install commerce-b2b-store-create

npx skills add https://github.com/forcedotcom/sf-skills --skill commerce-b2b-store-create
Prerequisites
  • Salesforce org with Commerce Cloud enabled
  • Salesforce CLI v2.0.0 or higher
  • B2B Store already created in org Setup (agent guides this step)
Claude Code
Cursor
Windsurf
Cline

How to use commerce-b2b-store-create

  1. 1.Agent explains Commerce B2B concept (Store + Storefront architecture)
  2. 2.Agent guides you to create a B2B Store in Setup → Commerce → Stores
  3. 3.Confirm store creation and provide the store name used
  4. 4.Agent lists available Digital Experience sites in your org
  5. 5.Select which site corresponds to your B2B Store
  6. 6.Agent retrieves DigitalExperienceBundle metadata for that site
  7. 7.Review retrieved metadata structure and follow deployment next steps

Use cases

Good for
  • Setting up a new B2B Commerce storefront from scratch
  • Retrieving auto-generated storefront metadata to version control
  • Configuring a buyer portal or partner community store
  • Deploying customized Commerce experiences after metadata retrieval
  • Understanding store naming conventions (spaces become underscores)
Who it's for
  • Salesforce Commerce Cloud developers
  • B2B platform architects
  • Commerce implementation specialists
  • Developers building custom LWCs for storefronts

commerce-b2b-store-create FAQ

Why can't I manually create storefront metadata?

The Commerce setup wizard auto-generates hundreds of configuration values across multiple metadata types. Manual creation will fail because these interdependencies cannot be replicated by hand.

What's the difference between Store and Storefront?

Store is the backend data (WebStore record, buyer groups, entitlements) created in Setup. Storefront is the frontend metadata (LWR site, pages, routes) auto-generated when the store is created.

Why do store names have underscores and numbers?

Salesforce converts spaces to underscores and appends numbers for uniqueness. 'My B2B Store' becomes 'My_B2B_Store1' in the Digital Experience metadata.

Can I customize the retrieved storefront?

Yes. After retrieval, you can customize with custom LWCs, branding changes, and other modifications, then deploy using sf project deploy start.

What CLI version is required?

Salesforce CLI v2.0.0 or higher is required. The skill uses sf org list metadata and sf project retrieve start commands.

Full instructions (SKILL.md)

Source of truth, from forcedotcom/sf-skills.


name: commerce-b2b-store-create description: "Interactive workflow to create Commerce B2B Stores and retrieve storefront metadata. Use when users want to: create B2B Commerce stores, build Commerce storefronts, set up B2B stores from Vibes, retrieve Commerce metadata, deploy Commerce experiences, work with DigitalExperienceBundle for Commerce." metadata: version: "1.0" domains: ["Commerce", "Experience"] minApiVersion: "56.0" cliTools: - tool: ["sf"] semver: ">=2.0.0"

Commerce B2B Storefront Creation

Interactive workflow to create a Commerce B2B Store in Salesforce and retrieve the auto-generated storefront metadata to your repository.

Critical Concepts

Commerce B2B = Store (backend data) + Storefront (frontend metadata). Store must be created first in the org to auto-generate the Storefront. Never create storefront metadata manually.

See Store vs Storefront Reference

When to Use This Skill

Trigger when users request:

  • "Create a B2B Commerce store"
  • "Build a Commerce storefront"
  • "Set up Commerce B2B"
  • "Create B2B Commerce"
  • "Retrieve Commerce storefront metadata"
  • "Deploy B2B storefront"

Rules That Always Apply

  1. Always follow the interactive flow. Do NOT skip steps. Each step requires user confirmation before proceeding.

  2. Never create storefront metadata manually. The Commerce setup wizard generates hundreds of configuration values. Manual creation will fail.

  3. Always list sites before retrieval. Store names get underscores and number suffixes (e.g., "My B2B Store" → "My_B2B_Store1"). Let the user select from the actual list.

  4. Always use --json flag. Include --json on all Salesforce CLI commands for parseable output.

Interactive Workflow: 7 Steps

Step 1: Explain Commerce B2B Concept

Agent explains: Commerce has Store (data) + Storefront (metadata). Store must be created first.

See: Store vs Storefront Reference


Step 2: Guide User to Create B2B Store

Agent provides these steps:

  1. Navigate to Setup → Commerce → Stores

    • Or: App Launcher → Commerce → Create Store
  2. Click "Create Store" or "Setup New Store"

  3. Select "Commerce Store" as the store type

  4. Follow the wizard:

    • Store Name: Choose descriptive name (e.g., "My B2B Store")
      • Important: Spaces become underscores in folder names
    • Site URL: Unique URL name for the site
  5. Complete wizard - it creates:

    • WebStore record
    • Default buyer group and entitlement policies
    • Associated Digital Experience (LWR site)
  6. Optional: Configure payment gateway, tax provider, shipping

Agent then asks: "Have you completed creating the B2B Store in your org? Reply 'yes' when ready and provide the store name you used."


Step 3: Get User Confirmation

Agent waits for: User confirmation and store name

Agent validates: Store name format (no special characters, spaces will appear as underscores)

Agent acknowledges: "Great! Let me list the available storefronts in your org..."


Step 4: List Available LWR Sites

Agent executes:

sf org list metadata --metadata-type DigitalExperienceConfig --json

Agent should:

  • Parse JSON output to extract site names
  • Display as numbered list
  • Explain naming (underscores, number suffixes)

Example output:

Available Digital Experience sites:
1. My_B2B_Store1
2. Partner_Portal
3. Customer_Community

Step 5: Let User Select Storefront

Agent asks: "Which site corresponds to your B2B Store? Select the site name:"

Agent validates: Selection matches available sites

Agent confirms: "Got it! I'll retrieve metadata for [site-name]..."


Step 6: Retrieve Storefront Metadata

Agent executes:

sf project retrieve start -m DigitalExperienceBundle:site/<selected-store-name> --json

Agent should:

  • Show retrieval progress
  • Confirm successful retrieval
  • List retrieved directory structure

Expected output:

Retrieved: force-app/main/default/digitalExperiences/site/My_B2B_Store1/
├── My_B2B_Store1.digitalExperience-meta.xml
├── sfdc_cms__view/ (home, current_cart, detail_*, list_*, etc.)
├── sfdc_cms__site/
├── sfdc_cms__route/
└── [other sfdc_cms__* directories]

Step 7: Provide Next Steps

Agent provides:

Metadata retrieved successfully!

Next steps:

  • Customize with custom LWCs or branding changes
  • Deploy: sf project deploy start --source-dir force-app/main/default/digitalExperiences/site/My_B2B_Store1/ --json

Resources: DigitalExperienceBundle Docs, B2B Commerce Guide


Reference

  • store-vs-storefront.md - Technical details on Store vs Storefront, source control, and why manual creation fails

Remember

Store first (creates storefront) → Retrieve → Customize