b2c-commerce-store-setup

Use when configuring or troubleshooting a Salesforce B2C Commerce (SFCC) storefront — including Business Manager site creation, SFRA cartridge path setup, customer groups, search index rebuilding, and key quota limits. Trigger keywords: SFCC, Commerce Cloud, Business Manager, storefront, cartridge, SFRA, site preferences, replication. NOT for B2B Commerce on Lightning platform (WebStore, BuyerGroup, CommerceEntitlementPolicy — see admin/b2b-commerce-store-setup for that).

Best use case

b2c-commerce-store-setup is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

Use when configuring or troubleshooting a Salesforce B2C Commerce (SFCC) storefront — including Business Manager site creation, SFRA cartridge path setup, customer groups, search index rebuilding, and key quota limits. Trigger keywords: SFCC, Commerce Cloud, Business Manager, storefront, cartridge, SFRA, site preferences, replication. NOT for B2B Commerce on Lightning platform (WebStore, BuyerGroup, CommerceEntitlementPolicy — see admin/b2b-commerce-store-setup for that).

Teams using b2c-commerce-store-setup should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/b2c-commerce-store-setup/SKILL.md --create-dirs "https://raw.githubusercontent.com/PranavNagrecha/AwesomeSalesforceSkills/main/skills/admin/b2c-commerce-store-setup/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/b2c-commerce-store-setup/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How b2c-commerce-store-setup Compares

Feature / Agentb2c-commerce-store-setupStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

Use when configuring or troubleshooting a Salesforce B2C Commerce (SFCC) storefront — including Business Manager site creation, SFRA cartridge path setup, customer groups, search index rebuilding, and key quota limits. Trigger keywords: SFCC, Commerce Cloud, Business Manager, storefront, cartridge, SFRA, site preferences, replication. NOT for B2B Commerce on Lightning platform (WebStore, BuyerGroup, CommerceEntitlementPolicy — see admin/b2b-commerce-store-setup for that).

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

SKILL.md Source

# B2C Commerce Store Setup

This skill activates when a practitioner needs to configure a Salesforce B2C Commerce (SFCC) storefront from Business Manager site creation through SFRA cartridge path management, quota awareness, and search index operations. It is strictly for the proprietary SFCC infrastructure — not for B2B Commerce on the Salesforce Lightning platform.

---

## Before Starting

Gather this context before working on anything in this domain:

- Confirm the platform is B2C Commerce (SFCC) — Business Manager URL, not a Lightning org. B2B Commerce uses WebStore and lives in a Salesforce org; SFCC does not.
- Identify the target instance type: Development, Staging, or Production. Replication behavior and quota enforcement differ.
- Know the full custom cartridge list and their dependency order before touching the cartridge path — wrong order causes silent fallback to app_storefront_base, which is extremely hard to debug.
- Be aware of the active-promotions performance threshold (1,000 active promotions). Exceeding it degrades basket performance before hitting the hard cap of 10,000.
- Search index is NOT automatically rebuilt after catalog or preference changes — any session that cached old data will see stale results until manual rebuild.

---

## Core Concepts

### Business Manager and Site Architecture

B2C Commerce is managed through Business Manager (BM), a proprietary admin interface. Each storefront is a **site** created at `Administration > Sites > Manage Sites > New`. Site IDs must be 32 characters or fewer, alphanumeric only, no spaces. A site is bound to:

- A **storefront catalog** (subset of the master catalog assigned as the browsable product set)
- A **currency** and one or more **locales**
- A **cartridge path** that controls which code runs for the site

Sites are isolated; preferences, promotions, and catalogs are scoped per-site unless explicitly shared at the organization level.

### SFRA Cartridge Path

Storefront Reference Architecture (SFRA) uses a colon-separated cartridge path evaluated left to right. When SFCC resolves a template, script, or static resource it walks from the leftmost cartridge until it finds the file. The base cartridge `app_storefront_base` must always sit at the **rightmost** position. Custom cartridges and integration cartridges go to its **left**.

Example path:
```
int_custom_payment:plugin_giftcert:app_custom_mystore:app_storefront_base
```

**Never modify `app_storefront_base` directly.** Doing so creates a merge conflict on every SFRA upgrade and voids upgrade compatibility. All overrides must live in a cartridge positioned left of it.

Cartridge path is configured in Business Manager at `Administration > Sites > Manage Sites > [Site] > Settings > Cartridges`.

### Search Index and Catalog Replication

SFCC does not auto-rebuild the search index after catalog, price book, or site preference changes. Practitioners must manually trigger a **Full Search Index** rebuild via `Merchant Tools > Search > Search Indexes > Rebuild`. In production, this can take minutes to hours depending on catalog size.

Replication pushes content from staging to production. It does not replace a search index rebuild — both may be required after a catalog update in production.

### Customer Groups, Promotions, and Quotas

Customer groups segment shoppers for targeted promotions and pricing. They are defined in `Merchant Tools > Customers > Customer Groups`. Promotions are created in `Merchant Tools > Marketing > Promotions` and assigned to campaigns and experiences.

Key quota limits (per-instance, enforced by SFCC infrastructure):
| Resource | Performance Threshold | Hard Limit |
|---|---|---|
| Active promotions | 1,000 | 10,000 |
| Product line items per basket | — | 400 |
| Session size | — | 10 KB |
| HTTPClient calls per page request | — | 16 |
| Replicable custom objects | — | 400,000 per instance |

Exceeding the active-promotions threshold does not throw an error — it silently degrades basket and checkout performance. Monitor and archive inactive promotions regularly.

---

## Common Patterns

### Pattern: Installing a Custom Cartridge on SFRA

**When to use:** Adding a new integration (payment, loyalty, analytics) or a storefront customization cartridge.

**How it works:**
1. Upload the cartridge code to the SFCC instance via WebDAV (`/cartridges/`) or a CI pipeline (SFCC CI toolkit / `sfcc-ci`).
2. In Business Manager go to `Administration > Sites > Manage Sites > [Site] > Settings`.
3. In the Cartridges field, prepend the new cartridge name to the left of any existing custom cartridges, keeping `app_storefront_base` rightmost.
4. Save and test by verifying the override file is served (check template resolution in the Request Log or add a visible marker to the overriding template).

**Why not the alternative:** Appending a cartridge to the right of `app_storefront_base` means its overrides are never reached — the base cartridge resolves first.

### Pattern: Rebuilding Search Index After Catalog Update

**When to use:** After any catalog import, product attribute change, price book update, or search preference modification.

**How it works:**
1. Navigate to `Merchant Tools > Search > Search Indexes`.
2. Select the affected search index (typically `[siteid]-product`).
3. Click `Full Rebuild` (not `Partial`) if product visibility or attribute data changed.
4. Monitor progress in `Administration > Operations > Jobs`.
5. Verify results on storefront search before marking complete.

**Why not the alternative:** Partial rebuild only reindexes changed price/inventory data. Structural catalog changes (attributes, categories, visibility) require a full rebuild.

---

## Decision Guidance

| Situation | Recommended Approach | Reason |
|---|---|---|
| Storefront customization needed | Create a custom cartridge positioned left of app_storefront_base | Preserves upgrade path; no merge conflicts on SFRA updates |
| Catalog or search preference changed | Full Search Index rebuild | No auto-index; stale data persists until manual rebuild |
| Active promotions approaching 1,000 | Archive or deactivate expired promotions immediately | Performance degrades silently; no error thrown at threshold |
| New site needed for a new locale/region | Create a new site in BM; assign its own cartridge path and catalog | Sites are isolated by design; shared org-level resources can be reused |
| Staging-to-production content push | Use BM replication jobs, then rebuild search index on production | Replication does not trigger search rebuild automatically |
| Custom objects near 400,000 limit | Migrate historical records out or use external storage | Hard limit is instance-wide; overflow causes write failures |

---

## Recommended Workflow

Step-by-step instructions for an AI agent or practitioner working on this task:

1. **Confirm platform identity** — verify the target is SFCC (Business Manager URL pattern: `*.commercecloud.salesforce.com/on/demandware.store/Sites-Site/`), not a Salesforce Lightning org. If the user mentions WebStore, BuyerGroup, or CommerceEntitlementPolicy, route to `admin/b2b-commerce-store-setup` instead.
2. **Create or locate the site** — in BM go to `Administration > Sites > Manage Sites`. For a new site, choose `New`, enter a site ID (max 32 alphanumeric chars, no spaces), assign a storefront catalog, currency, and primary locale.
3. **Set the cartridge path** — in `Site Settings > Cartridges`, build the colon-separated path with all custom and integration cartridges to the LEFT of `app_storefront_base`. Verify upload of all cartridge code to WebDAV before saving.
4. **Configure site preferences and locales** — in `Merchant Tools > Site Preferences`, set storefront URLs, default locale, currency, and any feature flags. For additional locales add them under `Merchant Tools > Localization`.
5. **Rebuild search index** — trigger a Full Search Index rebuild for the site under `Merchant Tools > Search > Search Indexes`. Do not skip this step after any catalog or preference change.
6. **Audit quotas** — check active promotion count (target < 1,000), basket line-item count in test scenarios (limit 400), and custom object volume (limit 400,000 replicable per instance). Archive any inactive promotions.
7. **Validate on storefront** — browse the storefront, test search, add items to basket, and confirm customer group-based promotions apply correctly before signing off.

---

## Review Checklist

Run through these before marking work in this area complete:

- [ ] Site ID is alphanumeric, 32 chars or fewer, no spaces
- [ ] Cartridge path places all custom cartridges LEFT of app_storefront_base; base cartridge was not modified directly
- [ ] All custom cartridge code has been uploaded to WebDAV and is visible in BM cartridge list
- [ ] Full Search Index rebuild completed after any catalog or preference change
- [ ] Active promotion count is below 1,000; expired promotions archived
- [ ] Storefront browse, search, and checkout tested end-to-end
- [ ] Replication job scheduled if staging changes need to reach production

---

## Salesforce-Specific Gotchas

Non-obvious platform behaviors that cause real production problems:

1. **Cartridge path is evaluated left-to-right — wrong order is silent** — If a custom cartridge is placed to the RIGHT of `app_storefront_base`, its templates and scripts are never reached. The storefront loads without error but your customizations are completely ignored. Always verify override resolution explicitly.
2. **Search index is never auto-rebuilt** — Catalog imports, product attribute updates, and price book changes do not trigger a search index rebuild. The storefront will serve stale search results indefinitely until a manual full rebuild is initiated. This is one of the most common post-deployment support tickets.
3. **Active promotions degrade performance silently before the hard cap** — At 1,000 active promotions, basket and checkout performance begins to degrade with no error in logs. The hard cap of 10,000 throws errors, but teams usually encounter the performance cliff first and don't connect it to promotion volume.
4. **Session data is capped at 10 KB** — Storing large objects in session (e.g., serialized product lists or user preferences) causes silent data loss or truncation once the 10 KB limit is hit. Symptom: intermittent data disappearing from session mid-browse.
5. **Replication does not rebuild search index on the target instance** — After pushing staging content to production via a replication job, the production search index still reflects pre-replication data until manually rebuilt on the production instance.

---

## Output Artifacts

| Artifact | Description |
|---|---|
| Site configuration summary | Site ID, catalog binding, locale and currency settings |
| Validated cartridge path string | Colon-separated path ready to paste into BM Site Settings |
| Quota risk report | Current counts vs. thresholds for promotions, custom objects |
| Search index rebuild log | Job ID, start/end time, status from BM Operations |

---

## Related Skills

- admin/b2b-commerce-store-setup — use for Salesforce B2B Commerce on the Lightning platform (WebStore, BuyerGroup, entitlement policies); entirely different data model and infrastructure

Related Skills

shield-kms-byok-setup

8
from PranavNagrecha/AwesomeSalesforceSkills

Configure Shield Platform Encryption with customer-supplied (BYOK) or customer-held (Cache-Only Key Service) tenant secrets, rotate them, and recover. NOT for Classic Encryption or field masking.

commerce-lwc-components

8
from PranavNagrecha/AwesomeSalesforceSkills

Use this skill when building or customizing Lightning Web Components for B2B Commerce or D2C LWR storefronts — product display tiles, cart line-item components, checkout step components, wishlist buttons, and product comparison widgets that rely on Commerce Storefront wire adapters from the commerce namespace. NOT for standard LWC development outside a Commerce store context, not for Aura-based Community Builder components, and not for legacy B2B Commerce (CloudCraze) Aura widgets.

slack-salesforce-integration-setup

8
from PranavNagrecha/AwesomeSalesforceSkills

Use this skill when setting up or troubleshooting the Salesforce for Slack managed app — including connecting a Salesforce org to a Slack workspace, configuring the three-party admin handshake, linking Slack channels to Salesforce records, enabling record preview sharing, and managing org-level limits. Triggers on: Salesforce for Slack app not connecting, Slack org connection setup, Salesforce record sharing in Slack, Slack workspace admin approval, connecting Salesforce to Slack. NOT for building custom Slack apps or Slack bots (separate development platform), not for Slack Workflow Builder Salesforce connector (use slack-workflow-builder skill), not for Flow-based Slack messaging (use flow-for-slack skill).

salesforce-maps-setup

8
from PranavNagrecha/AwesomeSalesforceSkills

Use when configuring Salesforce Maps (formerly MapAnything) — territory planning, route optimization, live tracking, geo-grid visualizations, and check-in/check-out workflows for Sales or Service field reps not on Field Service. Covers package installation order (Maps + Maps Advanced + Maps Routing/Live Tracking add-ons), the MapsTerritoryPlan / MapsAdvancedRoute / MapsLayer object family, base-data syncs (Geocoding and Routing services), and integration with Sales and Service Cloud records. Triggers: 'Salesforce Maps setup', 'MapAnything migration', 'territory planning by polygon', 'route optimization for sales reps', 'live tracking field reps', 'plot accounts on a map', 'check-in to the closest account'. NOT for Field Service Lightning territory and scheduling (use admin/fsl-scheduling-optimization-design and data/fsl-territory-data-setup) — Maps and FSL are different products. NOT for Consumer Goods Cloud retail visit planning (use admin/consumer-goods-cloud-setup) — RoutePlan/Visit objects are CG-specific. NOT for Tableau / CRM Analytics geo charts.

private-connect-setup

8
from PranavNagrecha/AwesomeSalesforceSkills

Configure Private Connect between Salesforce and AWS/Azure for traffic to stay on private networks. NOT for standard internet callouts.

net-zero-cloud-setup

8
from PranavNagrecha/AwesomeSalesforceSkills

Use this skill when configuring Salesforce Net Zero Cloud — including Scope 1/2/3 emission source modeling via the StnryAssetCrbnFtprnt / VehicleAssetCrbnFtprnt / Scope3CrbnFtprnt object families, emission factor library setup (EmssnFctr / EmssnFctrSet), DPE-driven carbon calculation jobs, supplier engagement scoring, and CSRD / ESRS / TCFD disclosure pack mapping. Triggers on: Net Zero Cloud setup, Sustainability Cloud carbon accounting, Scope 1 2 3 emissions Salesforce, emission factor library, supplier engagement Net Zero, ESG disclosure pack mapping. NOT for ESG content scoring (use Marketing Cloud), NOT for general financial reporting (use Accounting Subledger), NOT for energy-only utility billing (use Energy & Utilities Cloud).

named-credentials-setup

8
from PranavNagrecha/AwesomeSalesforceSkills

Named Credentials and External Credentials configuration for secure outbound callouts: per-user vs per-org authentication, legacy vs enhanced Named Credentials, external credential principal types (Named Principal, Per User, Anonymous), OAuth 2.0 and JWT flows, and credential deployment. NOT for callout code patterns, Apex HTTP implementation, or OAuth server-side flow debugging.

manufacturing-cloud-setup

8
from PranavNagrecha/AwesomeSalesforceSkills

Use this skill when configuring Salesforce Manufacturing Cloud — including Sales Agreement setup, Account-Based Forecasting (ABF) recalc jobs, run-rate management, Rebate Management programs, channel inventory tracking via Channel Revenue Management, and Group Membership / OrderItem-to-SalesAgreement reconciliation. Triggers on: Manufacturing Cloud setup, Sales Agreement Salesforce, account-based forecast recalculation, run rate manufacturing, rebate program setup, channel revenue management. NOT for general Sales Cloud opportunity-to-order flow (use standard Opportunity / Order), NOT for Field Service install-base management (use FSL skills), NOT for Automotive Cloud dealer modeling (use automotive-cloud-setup).

loyalty-management-setup

8
from PranavNagrecha/AwesomeSalesforceSkills

Use this skill when setting up or extending Salesforce Loyalty Management — including program and currency creation, tier group design, qualifying vs. non-qualifying point currency separation, DPE batch job activation, partner loyalty configuration, and member portal setup on Experience Cloud. Triggers on: Loyalty Management setup, loyalty tier setup Salesforce, qualifying points vs redemption points, DPE batch job for loyalty, partner loyalty program Salesforce, loyalty member portal. NOT for Marketing Cloud engagement program design (separate product), not for B2B loyalty via Sales Cloud (standard opportunity, not loyalty program), not for general Experience Cloud site setup (use experience-cloud-setup skill).

automotive-cloud-setup

8
from PranavNagrecha/AwesomeSalesforceSkills

Use this skill when setting up or extending Salesforce Automotive Cloud — including the Vehicle / VehicleDefinition data model, dealer-OEM relationship modeling via AccountAccountRelation, ActionableEvent orchestration for service campaigns and recalls, FinancialAccount lifecycle for retail-credit deals, and DriverQualification / WarrantyTerm extensions. Triggers on: Automotive Cloud setup, Salesforce Automotive Cloud data model, Vehicle vs VehicleDefinition, dealer hierarchy AccountAccountRelation, Automotive Cloud actionable events, recall campaign Salesforce. NOT for general Sales Cloud opportunity work on a vehicle product (use standard Opportunity), NOT for Manufacturing Cloud sales agreements (use manufacturing-cloud-setup), NOT for Field Service vehicle inventory (use FSL skills).

salesforce-backup-and-restore

8
from PranavNagrecha/AwesomeSalesforceSkills

Designing a backup and restore strategy for a Salesforce org — Salesforce Backup (the native paid product), the deprecated weekly Data Export Service, third-party tools (OwnBackup / Druva / Gearset / Spanning), and self-rolled Bulk API extracts. Covers RPO / RTO targeting, restore-of-a-single-record vs full-org restore, parent / child relationship rebuilding, and cost / coverage tradeoffs across vendors. NOT for sandbox refresh strategy (see devops/sandbox-strategy), NOT for metadata source-control / DevOps backups (see devops/sfdx-source-control).

product-catalog-migration-commerce

8
from PranavNagrecha/AwesomeSalesforceSkills

Use when migrating product catalog data into Salesforce B2B Commerce — covers category hierarchy, product attributes, images, pricing, and variant structure using the Commerce Import API. NOT for CPQ product catalog migration, post-migration catalog configuration, or commerce catalog taxonomy planning.