| name | b2c-content |
| description | Export, list, and validate Page Designer content from B2C Commerce libraries. Use this skill whenever the user needs to export Page Designer pages or components, list pages in a content library, validate page JSON or metadefinitions, discover page IDs, migrate content between instances, or work with library XML offline. Also use when extracting content for review or building content deployment pipelines -- even if they just say 'export the homepage' or 'what pages are in the shared library'. |
B2C Content Skill
Use the b2c CLI to export, list, and validate Page Designer content from Salesforce B2C Commerce content libraries.
Tip: If b2c is not installed globally, use npx @salesforce/b2c-cli instead (e.g., npx @salesforce/b2c-cli content export homepage).
Configuration & Authentication
The CLI auto-discovers the target instance and credentials from SFCC_* environment variables, dw.json in the current or parent directories, ~/.mobify, package.json, and configuration plugins. Flags like --server, --client-id, --client-secret, --username, and --password are usually unnecessary — only pass them to override what's auto-detected.
Run b2c setup inspect to see the resolved configuration and which source provided each value (use --json for scripting, --unmask to reveal secrets). For precedence rules and troubleshooting, see the b2c-cli:b2c-config skill.
Examples
Export Pages
b2c content export homepage --library SharedLibrary
b2c content export homepage about-us contact --library SharedLibrary
b2c content export "hero-.*" --library SharedLibrary --regex
b2c content export homepage --library SharedLibrary -o ./my-export
b2c content export hero-banner --library SharedLibrary
b2c content export homepage --library RefArch --site-library
b2c content export homepage --library SharedLibrary --dry-run
b2c content export homepage --library SharedLibrary --json
b2c content export homepage --library SharedLibrary --library-file ./library.xml --offline
b2c content export homepage --library SharedLibrary --folder seasonal
b2c content export homepage --library SharedLibrary -q "image.path" -q "video.url"
b2c content export homepage --library SharedLibrary --keep-orphans
List Content
b2c content list --library SharedLibrary
b2c content list --library SharedLibrary --type page
b2c content list --library SharedLibrary --components
b2c content list --library SharedLibrary --tree
b2c content list --library RefArch --site-library
b2c content list --library SharedLibrary --library-file ./library.xml
b2c content list --library SharedLibrary --json
Configuration
The --library flag can be configured in dw.json or package.json so you don't need to pass it every time:
{
"hostname": "my-sandbox.demandware.net",
"content-library": "SharedLibrary"
}
{
"b2c": {
"contentLibrary": "SharedLibrary"
}
}
With a configured library, commands become shorter:
b2c content export homepage
b2c content list --type page
Validate Metadefinitions
b2c content validate cartridge/experience/pages/storePage.json
b2c content validate cartridge/experience/
b2c content validate 'cartridge/experience/**/*.json'
b2c content validate --type componenttype mycomponent.json
b2c content validate cartridge/experience/ --json
Schema types are auto-detected from file paths (experience/pages/ → pagetype, experience/components/ → componenttype) and from JSON content. Use --type to override.
More Commands
See b2c content --help for a full list of available commands and options in the content topic.
Troubleshooting
- "Library is required" -- Set
--library flag or configure content-library in dw.json.
- Authentication errors -- OAuth credentials are required for remote operations. Run
b2c auth:login first. The --library-file flag bypasses authentication for offline/local use.
- Library not found -- Verify the library ID matches exactly. For site-private libraries, add
--site-library.
- No content found -- Check that the page/content IDs exist. Use
b2c content list to discover available IDs.
- Timeout errors -- Large libraries may exceed the default timeout. Use
--timeout <seconds> to increase it.
Related Skills
b2c-cli:b2c-site-import-export - Site archive import/export operations
b2c-cli:b2c-webdav - Low-level file operations on content libraries
b2c-cli:b2c-config - Configuration and credential management