@salesforce/b2c-cli 2.3.0 → 2.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bin/dev.js +8 -8
- package/bin/run.js +5 -7
- package/content/guidance/b2c/b2c-business-manager-extensions/SKILL.md +361 -0
- package/content/guidance/b2c/b2c-business-manager-extensions/references/EXTENSIONS-XML.md +458 -0
- package/content/guidance/b2c/b2c-controllers/SKILL.md +301 -0
- package/content/guidance/b2c/b2c-controllers/references/CLASSIC-PATTERNS.md +335 -0
- package/content/guidance/b2c/b2c-controllers/references/SFRA-PATTERNS.md +400 -0
- package/content/guidance/b2c/b2c-custom-api-development/SKILL.md +281 -0
- package/content/guidance/b2c/b2c-custom-api-development/references/CONTRACT.md +142 -0
- package/content/guidance/b2c/b2c-custom-api-development/references/IMPLEMENTATION.md +153 -0
- package/content/guidance/b2c/b2c-custom-api-development/references/TESTING.md +118 -0
- package/content/guidance/b2c/b2c-custom-caches/SKILL.md +279 -0
- package/content/guidance/b2c/b2c-custom-job-steps/SKILL.md +520 -0
- package/content/guidance/b2c/b2c-custom-job-steps/references/CHUNK-ORIENTED.md +377 -0
- package/content/guidance/b2c/b2c-custom-job-steps/references/JOBS-XML.md +212 -0
- package/content/guidance/b2c/b2c-custom-job-steps/references/STEPTYPES-JSON.md +373 -0
- package/content/guidance/b2c/b2c-custom-job-steps/references/TASK-ORIENTED.md +344 -0
- package/content/guidance/b2c/b2c-custom-objects/SKILL.md +327 -0
- package/content/guidance/b2c/b2c-custom-objects/references/OCAPI-SEARCH.md +298 -0
- package/content/guidance/b2c/b2c-forms/SKILL.md +242 -0
- package/content/guidance/b2c/b2c-forms/references/FORM-XML.md +409 -0
- package/content/guidance/b2c/b2c-hooks/SKILL.md +500 -0
- package/content/guidance/b2c/b2c-hooks/references/OCAPI-SCAPI-HOOKS.md +403 -0
- package/content/guidance/b2c/b2c-hooks/references/ORDER-HOOK-LIFECYCLE.md +169 -0
- package/content/guidance/b2c/b2c-hooks/references/SYSTEM-HOOKS.md +433 -0
- package/content/guidance/b2c/b2c-isml/SKILL.md +320 -0
- package/content/guidance/b2c/b2c-isml/references/EXPRESSIONS.md +366 -0
- package/content/guidance/b2c/b2c-isml/references/TAGS.md +443 -0
- package/content/guidance/b2c/b2c-localization/SKILL.md +344 -0
- package/content/guidance/b2c/b2c-localization/references/PATTERNS.md +407 -0
- package/content/guidance/b2c/b2c-logging/SKILL.md +352 -0
- package/content/guidance/b2c/b2c-logging/references/LOG-FILES.md +282 -0
- package/content/guidance/b2c/b2c-metadata/SKILL.md +406 -0
- package/content/guidance/b2c/b2c-metadata/references/SYSTEM-OBJECTS.md +320 -0
- package/content/guidance/b2c/b2c-metadata/references/XML-EXAMPLES.md +366 -0
- package/content/guidance/b2c/b2c-onboarding/SKILL.md +154 -0
- package/content/guidance/b2c/b2c-ordering/SKILL.md +391 -0
- package/content/guidance/b2c/b2c-page-designer/SKILL.md +410 -0
- package/content/guidance/b2c/b2c-page-designer/references/ATTRIBUTE-TYPES.md +436 -0
- package/content/guidance/b2c/b2c-page-designer/references/META-DEFINITIONS.md +340 -0
- package/content/guidance/b2c/b2c-querying-data/SKILL.md +289 -0
- package/content/guidance/b2c/b2c-querying-data/references/PERFORMANCE-APIS.md +74 -0
- package/content/guidance/b2c/b2c-scapi-admin/SKILL.md +53 -0
- package/content/guidance/b2c/b2c-scapi-admin/references/CLIENT-EXAMPLES.md +440 -0
- package/content/guidance/b2c/b2c-scapi-admin/references/INTEGRATION-PATTERNS.md +518 -0
- package/content/guidance/b2c/b2c-scapi-admin/references/OAUTH-SCOPES.md +337 -0
- package/content/guidance/b2c/b2c-scapi-shopper/SKILL.md +56 -0
- package/content/guidance/b2c/b2c-scapi-shopper/references/CHECKOUT-FLOW.md +466 -0
- package/content/guidance/b2c/b2c-scapi-shopper/references/CLIENT-EXAMPLES.md +351 -0
- package/content/guidance/b2c/b2c-scapi-shopper/references/COMMON-PATTERNS.md +390 -0
- package/content/guidance/b2c/b2c-scapi-shopper/references/SCOPES.md +290 -0
- package/content/guidance/b2c/b2c-slas-auth-patterns/SKILL.md +420 -0
- package/content/guidance/b2c/b2c-slas-auth-patterns/references/PASSKEYS.md +126 -0
- package/content/guidance/b2c/b2c-slas-auth-patterns/references/SESSION-BRIDGE.md +267 -0
- package/content/guidance/b2c/b2c-slas-auth-patterns/references/TOKEN-LIFECYCLE.md +367 -0
- package/content/guidance/b2c/b2c-webservices/SKILL.md +318 -0
- package/content/guidance/b2c/b2c-webservices/references/FTP-SERVICES.md +524 -0
- package/content/guidance/b2c/b2c-webservices/references/HTTP-SERVICES.md +578 -0
- package/content/guidance/b2c/b2c-webservices/references/SERVICES-XML.md +351 -0
- package/content/guidance/b2c/b2c-webservices/references/SOAP-SERVICES.md +587 -0
- package/content/guidance/b2c-cli/b2c-am/SKILL.md +277 -0
- package/content/guidance/b2c-cli/b2c-bm-users-roles/SKILL.md +210 -0
- package/content/guidance/b2c-cli/b2c-cap/SKILL.md +131 -0
- package/content/guidance/b2c-cli/b2c-cip/SKILL.md +116 -0
- package/content/guidance/b2c-cli/b2c-cip/references/KNOWN_TABLES.md +105 -0
- package/content/guidance/b2c-cli/b2c-cip/references/SALES_ANALYSIS.md +50 -0
- package/content/guidance/b2c-cli/b2c-cip/references/STARTER_QUERIES.md +147 -0
- package/content/guidance/b2c-cli/b2c-code/SKILL.md +146 -0
- package/content/guidance/b2c-cli/b2c-config/SKILL.md +462 -0
- package/content/guidance/b2c-cli/b2c-content/SKILL.md +176 -0
- package/content/guidance/b2c-cli/b2c-debug/SKILL.md +138 -0
- package/content/guidance/b2c-cli/b2c-docs/SKILL.md +301 -0
- package/content/guidance/b2c-cli/b2c-ecdn/SKILL.md +135 -0
- package/content/guidance/b2c-cli/b2c-ecdn/references/ADVANCED.md +97 -0
- package/content/guidance/b2c-cli/b2c-ecdn/references/SECURITY.md +75 -0
- package/content/guidance/b2c-cli/b2c-import-set-migrations/SKILL.md +265 -0
- package/content/guidance/b2c-cli/b2c-job/SKILL.md +64 -0
- package/content/guidance/b2c-cli/b2c-job/references/EXPORT.md +121 -0
- package/content/guidance/b2c-cli/b2c-job/references/IMPORT.md +55 -0
- package/content/guidance/b2c-cli/b2c-job/references/RUN-AND-MONITOR.md +119 -0
- package/content/guidance/b2c-cli/b2c-logs/SKILL.md +249 -0
- package/content/guidance/b2c-cli/b2c-metrics/SKILL.md +315 -0
- package/content/guidance/b2c-cli/b2c-mrt/SKILL.md +207 -0
- package/content/guidance/b2c-cli/b2c-mrt/references/BUNDLE-COMMANDS.md +203 -0
- package/content/guidance/b2c-cli/b2c-mrt/references/ENVIRONMENT-COMMANDS.md +218 -0
- package/content/guidance/b2c-cli/b2c-mrt/references/PROJECT-COMMANDS.md +154 -0
- package/content/guidance/b2c-cli/b2c-sandbox/SKILL.md +112 -0
- package/content/guidance/b2c-cli/b2c-scapi-custom/SKILL.md +126 -0
- package/content/guidance/b2c-cli/b2c-scapi-schemas/SKILL.md +66 -0
- package/content/guidance/b2c-cli/b2c-scapi-schemas/references/CLI-EXAMPLES.md +108 -0
- package/content/guidance/b2c-cli/b2c-site-import-export/SKILL.md +57 -0
- package/content/guidance/b2c-cli/b2c-site-import-export/references/IMPORT-OPTIONS.md +118 -0
- package/content/guidance/b2c-cli/b2c-site-import-export/references/METADATA-XML.md +381 -0
- package/content/guidance/b2c-cli/b2c-site-import-export/references/WORKFLOWS.md +182 -0
- package/content/guidance/b2c-cli/b2c-sites/SKILL.md +112 -0
- package/content/guidance/b2c-cli/b2c-slas/SKILL.md +182 -0
- package/content/guidance/b2c-cli/b2c-webdav/SKILL.md +186 -0
- package/content/guidance/b2c-ops/b2c-checkout-triage/SKILL.md +68 -0
- package/content/guidance/b2c-ops/b2c-job-health/SKILL.md +75 -0
- package/content/guidance/b2c-ops/b2c-job-health/references/job-logs.md +21 -0
- package/content/guidance/b2c-ops/b2c-order-failure-triage/SKILL.md +66 -0
- package/content/guidance/b2c-ops/b2c-order-failure-triage/references/order-evidence.md +87 -0
- package/content/guidance/b2c-ops/b2c-production-triage/SKILL.md +87 -0
- package/content/guidance/b2c-ops/b2c-production-triage/references/escalation.md +57 -0
- package/content/guidance/index.json +1949 -0
- package/content/guidance/storefront-next/sfnext-accessibility/SKILL.md +103 -0
- package/content/guidance/storefront-next/sfnext-accessibility/references/checklist.md +64 -0
- package/content/guidance/storefront-next/sfnext-analytics-consent/SKILL.md +91 -0
- package/content/guidance/storefront-next/sfnext-analytics-consent/references/CUSTOM-ADAPTER.md +49 -0
- package/content/guidance/storefront-next/sfnext-authentication/SKILL.md +127 -0
- package/content/guidance/storefront-next/sfnext-authentication/references/COOKIES.md +39 -0
- package/content/guidance/storefront-next/sfnext-authentication/references/LOGIN-FLOWS.md +59 -0
- package/content/guidance/storefront-next/sfnext-commerce-features/SKILL.md +67 -0
- package/content/guidance/storefront-next/sfnext-commerce-features/references/FEATURE-PREREQUISITES.md +37 -0
- package/content/guidance/storefront-next/sfnext-components/SKILL.md +153 -0
- package/content/guidance/storefront-next/sfnext-components/references/COMPONENT-AUTHORING.md +118 -0
- package/content/guidance/storefront-next/sfnext-components/references/SHAPE-TOKENS.md +51 -0
- package/content/guidance/storefront-next/sfnext-components/references/STORYBOOK.md +54 -0
- package/content/guidance/storefront-next/sfnext-components/references/TOKEN-SYSTEM.md +53 -0
- package/content/guidance/storefront-next/sfnext-components/references/TROUBLESHOOTING.md +19 -0
- package/content/guidance/storefront-next/sfnext-configuration/SKILL.md +163 -0
- package/content/guidance/storefront-next/sfnext-configuration/references/ENV-VARIABLES.md +55 -0
- package/content/guidance/storefront-next/sfnext-configuration/references/MULTI-SITE-URLS.md +137 -0
- package/content/guidance/storefront-next/sfnext-data-fetching/SKILL.md +140 -0
- package/content/guidance/storefront-next/sfnext-data-fetching/references/ACTIONS.md +53 -0
- package/content/guidance/storefront-next/sfnext-data-fetching/references/API-CLIENTS.md +34 -0
- package/content/guidance/storefront-next/sfnext-data-fetching/references/LOADERS.md +73 -0
- package/content/guidance/storefront-next/sfnext-data-fetching/references/SCAPI-FETCHER.md +39 -0
- package/content/guidance/storefront-next/sfnext-deployment/SKILL.md +127 -0
- package/content/guidance/storefront-next/sfnext-deployment/references/MRT-DEPLOYMENT.md +59 -0
- package/content/guidance/storefront-next/sfnext-extensions/SKILL.md +118 -0
- package/content/guidance/storefront-next/sfnext-extensions/references/ACTION-HOOKS.md +57 -0
- package/content/guidance/storefront-next/sfnext-extensions/references/BASE-AUDIT.md +68 -0
- package/content/guidance/storefront-next/sfnext-extensions/references/CLI-AND-INSTALL.md +58 -0
- package/content/guidance/storefront-next/sfnext-extensions/references/EXTENSION-EXAMPLES.md +79 -0
- package/content/guidance/storefront-next/sfnext-hybrid-storefronts/SKILL.md +93 -0
- package/content/guidance/storefront-next/sfnext-hybrid-storefronts/references/HYBRID-PROXY-CONFIG.md +86 -0
- package/content/guidance/storefront-next/sfnext-i18n/SKILL.md +152 -0
- package/content/guidance/storefront-next/sfnext-i18n/references/locale-config.md +35 -0
- package/content/guidance/storefront-next/sfnext-overview/SKILL.md +101 -0
- package/content/guidance/storefront-next/sfnext-page-designer/SKILL.md +202 -0
- package/content/guidance/storefront-next/sfnext-page-designer/references/BUSINESS-MANAGER.md +46 -0
- package/content/guidance/storefront-next/sfnext-page-designer/references/COMPONENT-REGISTRY.md +111 -0
- package/content/guidance/storefront-next/sfnext-page-designer/references/DECORATOR-PATTERNS.md +168 -0
- package/content/guidance/storefront-next/sfnext-page-designer/references/REVIEW-CHECKLIST.md +83 -0
- package/content/guidance/storefront-next/sfnext-page-designer/references/TROUBLESHOOTING.md +35 -0
- package/content/guidance/storefront-next/sfnext-performance/SKILL.md +102 -0
- package/content/guidance/storefront-next/sfnext-performance/references/PERFORMANCE-REVIEW-CHECKLIST.md +85 -0
- package/content/guidance/storefront-next/sfnext-performance/references/SUSPENSE-AND-STREAMING.md +58 -0
- package/content/guidance/storefront-next/sfnext-project-setup/SKILL.md +147 -0
- package/content/guidance/storefront-next/sfnext-project-setup/references/PROJECT-STRUCTURE.md +61 -0
- package/content/guidance/storefront-next/sfnext-project-setup/references/SCRIPTS.md +47 -0
- package/content/guidance/storefront-next/sfnext-project-setup/references/SFNEXT-CLI.md +63 -0
- package/content/guidance/storefront-next/sfnext-quality-gates/SKILL.md +70 -0
- package/content/guidance/storefront-next/sfnext-quality-gates/references/lint-and-budgets.md +39 -0
- package/content/guidance/storefront-next/sfnext-revalidation/SKILL.md +121 -0
- package/content/guidance/storefront-next/sfnext-revalidation/references/POLICIES-AND-TAGS.md +55 -0
- package/content/guidance/storefront-next/sfnext-routing/SKILL.md +123 -0
- package/content/guidance/storefront-next/sfnext-routing/references/ROUTE-CONVENTIONS.md +65 -0
- package/content/guidance/storefront-next/sfnext-routing/references/URLS-AND-SEO-ROUTES.md +22 -0
- package/content/guidance/storefront-next/sfnext-scapi/SKILL.md +126 -0
- package/content/guidance/storefront-next/sfnext-scapi/references/WORKED-EXAMPLE.md +39 -0
- package/content/guidance/storefront-next/sfnext-security/SKILL.md +129 -0
- package/content/guidance/storefront-next/sfnext-security/references/COOKIE-DOMAIN.md +39 -0
- package/content/guidance/storefront-next/sfnext-security/references/TURNSTILE.md +43 -0
- package/content/guidance/storefront-next/sfnext-seo/SKILL.md +95 -0
- package/content/guidance/storefront-next/sfnext-seo/references/MULTI-DOMAIN-BASE-PATH.md +17 -0
- package/content/guidance/storefront-next/sfnext-seo/references/SEO-ROUTES.md +31 -0
- package/content/guidance/storefront-next/sfnext-state-management/SKILL.md +114 -0
- package/content/guidance/storefront-next/sfnext-state-management/references/PATTERNS.md +45 -0
- package/content/guidance/storefront-next/sfnext-testing/SKILL.md +151 -0
- package/content/guidance/storefront-next/sfnext-testing/references/E2E.md +38 -0
- package/content/guidance/storefront-next/sfnext-testing/references/STORYBOOK-PATTERNS.md +97 -0
- package/content/guidance/storefront-next/sfnext-testing/references/UNIT-AND-ROUTE-TESTS.md +60 -0
- package/content/guidance/storefront-next/sfnext-theming/SKILL.md +104 -0
- package/content/guidance/storefront-next/sfnext-theming/references/REBRAND-CHECKLIST.md +29 -0
- package/dist/commands/cap/install.d.ts +1 -0
- package/dist/commands/cap/list.d.ts +1 -0
- package/dist/commands/cap/pull.d.ts +1 -0
- package/dist/commands/cap/tasks.d.ts +1 -0
- package/dist/commands/cap/uninstall.d.ts +1 -0
- package/dist/commands/cip/describe.d.ts +1 -0
- package/dist/commands/cip/query.d.ts +1 -0
- package/dist/commands/cip/report/bot-traffic-share.d.ts +1 -0
- package/dist/commands/cip/report/checkout-funnel-dropoff.d.ts +1 -0
- package/dist/commands/cip/report/controller-error-rate-trend.d.ts +1 -0
- package/dist/commands/cip/report/controller-health-scorecard.d.ts +1 -0
- package/dist/commands/cip/report/customer-registration-trends.d.ts +1 -0
- package/dist/commands/cip/report/discount-depth-breakdown.d.ts +1 -0
- package/dist/commands/cip/report/inventory-stockout-by-location.d.ts +1 -0
- package/dist/commands/cip/report/new-vs-returning-buyer-revenue.d.ts +1 -0
- package/dist/commands/cip/report/ocapi-client-usage.d.ts +1 -0
- package/dist/commands/cip/report/ocapi-requests.d.ts +1 -0
- package/dist/commands/cip/report/payment-method-performance.d.ts +1 -0
- package/dist/commands/cip/report/product-co-purchase-analysis.d.ts +1 -0
- package/dist/commands/cip/report/promotion-discount-analysis.d.ts +1 -0
- package/dist/commands/cip/report/promotion-roi-leaderboard.d.ts +1 -0
- package/dist/commands/cip/report/recommender-effectiveness.d.ts +1 -0
- package/dist/commands/cip/report/remote-include-performance.d.ts +1 -0
- package/dist/commands/cip/report/revenue-by-channel.d.ts +1 -0
- package/dist/commands/cip/report/sales-analytics.d.ts +1 -0
- package/dist/commands/cip/report/sales-summary.d.ts +1 -0
- package/dist/commands/cip/report/scapi-cache-hit-ratio.d.ts +1 -0
- package/dist/commands/cip/report/scapi-error-rate-by-status.d.ts +1 -0
- package/dist/commands/cip/report/scapi-latency-distribution.d.ts +1 -0
- package/dist/commands/cip/report/scapi-traffic-latency.d.ts +1 -0
- package/dist/commands/cip/report/search-query-performance.d.ts +1 -0
- package/dist/commands/cip/report/top-referrers.d.ts +1 -0
- package/dist/commands/cip/report/top-selling-products.d.ts +1 -0
- package/dist/commands/cip/report/zero-result-searches.d.ts +1 -0
- package/dist/commands/cip/tables.d.ts +1 -0
- package/dist/commands/code/activate.d.ts +1 -0
- package/dist/commands/code/delete.d.ts +1 -0
- package/dist/commands/code/deploy.d.ts +1 -0
- package/dist/commands/code/download.d.ts +1 -0
- package/dist/commands/code/watch.d.ts +1 -0
- package/dist/commands/commands/search.d.ts +35 -0
- package/dist/commands/commands/search.js +85 -0
- package/dist/commands/commands/search.js.map +1 -0
- package/dist/commands/content/export.d.ts +1 -0
- package/dist/commands/content/list.d.ts +1 -0
- package/dist/commands/content/validate.d.ts +1 -0
- package/dist/commands/debug/cli.d.ts +1 -0
- package/dist/commands/debug/index.d.ts +1 -0
- package/dist/commands/docs/cache.d.ts +1 -0
- package/dist/commands/docs/download.d.ts +1 -0
- package/dist/commands/docs/read.d.ts +1 -0
- package/dist/commands/docs/schema.d.ts +1 -0
- package/dist/commands/docs/search.d.ts +1 -0
- package/dist/commands/docs/skill.d.ts +41 -0
- package/dist/commands/docs/skill.js +183 -0
- package/dist/commands/docs/skill.js.map +1 -0
- package/dist/commands/ecdn/cache/purge.d.ts +1 -0
- package/dist/commands/ecdn/certificates/add.d.ts +1 -0
- package/dist/commands/ecdn/certificates/delete.d.ts +1 -0
- package/dist/commands/ecdn/certificates/list.d.ts +1 -0
- package/dist/commands/ecdn/certificates/update.d.ts +1 -0
- package/dist/commands/ecdn/certificates/validate.d.ts +1 -0
- package/dist/commands/ecdn/cipher-suites/get.d.ts +1 -0
- package/dist/commands/ecdn/cipher-suites/update.d.ts +1 -0
- package/dist/commands/ecdn/firewall/create.d.ts +1 -0
- package/dist/commands/ecdn/firewall/delete.d.ts +1 -0
- package/dist/commands/ecdn/firewall/get.d.ts +1 -0
- package/dist/commands/ecdn/firewall/list.d.ts +1 -0
- package/dist/commands/ecdn/firewall/reorder.d.ts +1 -0
- package/dist/commands/ecdn/firewall/update.d.ts +1 -0
- package/dist/commands/ecdn/logpush/jobs/create.d.ts +1 -0
- package/dist/commands/ecdn/logpush/jobs/delete.d.ts +1 -0
- package/dist/commands/ecdn/logpush/jobs/get.d.ts +1 -0
- package/dist/commands/ecdn/logpush/jobs/list.d.ts +1 -0
- package/dist/commands/ecdn/logpush/jobs/update.d.ts +1 -0
- package/dist/commands/ecdn/logpush/ownership.d.ts +1 -0
- package/dist/commands/ecdn/mrt-rules/create.d.ts +1 -0
- package/dist/commands/ecdn/mrt-rules/delete.d.ts +1 -0
- package/dist/commands/ecdn/mrt-rules/get.d.ts +1 -0
- package/dist/commands/ecdn/mrt-rules/rules/delete.d.ts +1 -0
- package/dist/commands/ecdn/mrt-rules/rules/update.d.ts +1 -0
- package/dist/commands/ecdn/mrt-rules/update.d.ts +1 -0
- package/dist/commands/ecdn/mtls/create.d.ts +1 -0
- package/dist/commands/ecdn/mtls/delete.d.ts +1 -0
- package/dist/commands/ecdn/mtls/get.d.ts +1 -0
- package/dist/commands/ecdn/mtls/issue.d.ts +1 -0
- package/dist/commands/ecdn/mtls/list.d.ts +1 -0
- package/dist/commands/ecdn/mtls/setup.d.ts +1 -0
- package/dist/commands/ecdn/origin-headers/delete.d.ts +1 -0
- package/dist/commands/ecdn/origin-headers/get.d.ts +1 -0
- package/dist/commands/ecdn/origin-headers/set.d.ts +1 -0
- package/dist/commands/ecdn/page-shield/notifications/create.d.ts +1 -0
- package/dist/commands/ecdn/page-shield/notifications/delete.d.ts +1 -0
- package/dist/commands/ecdn/page-shield/notifications/list.d.ts +1 -0
- package/dist/commands/ecdn/page-shield/policies/create.d.ts +1 -0
- package/dist/commands/ecdn/page-shield/policies/delete.d.ts +1 -0
- package/dist/commands/ecdn/page-shield/policies/get.d.ts +1 -0
- package/dist/commands/ecdn/page-shield/policies/list.d.ts +1 -0
- package/dist/commands/ecdn/page-shield/policies/update.d.ts +1 -0
- package/dist/commands/ecdn/page-shield/scripts/get.d.ts +1 -0
- package/dist/commands/ecdn/page-shield/scripts/list.d.ts +1 -0
- package/dist/commands/ecdn/rate-limit/create.d.ts +1 -0
- package/dist/commands/ecdn/rate-limit/delete.d.ts +1 -0
- package/dist/commands/ecdn/rate-limit/get.d.ts +1 -0
- package/dist/commands/ecdn/rate-limit/list.d.ts +1 -0
- package/dist/commands/ecdn/rate-limit/update.d.ts +1 -0
- package/dist/commands/ecdn/security/get.d.ts +1 -0
- package/dist/commands/ecdn/security/update.d.ts +1 -0
- package/dist/commands/ecdn/speed/get.d.ts +1 -0
- package/dist/commands/ecdn/speed/update.d.ts +1 -0
- package/dist/commands/ecdn/waf/groups/list.d.ts +1 -0
- package/dist/commands/ecdn/waf/groups/update.d.ts +1 -0
- package/dist/commands/ecdn/waf/managed-rules/list.d.ts +1 -0
- package/dist/commands/ecdn/waf/managed-rules/update.d.ts +1 -0
- package/dist/commands/ecdn/waf/migrate.d.ts +1 -0
- package/dist/commands/ecdn/waf/owasp/get.d.ts +1 -0
- package/dist/commands/ecdn/waf/owasp/update.d.ts +1 -0
- package/dist/commands/ecdn/waf/rules/get.d.ts +1 -0
- package/dist/commands/ecdn/waf/rules/list.d.ts +1 -0
- package/dist/commands/ecdn/waf/rules/update.d.ts +1 -0
- package/dist/commands/ecdn/waf/rulesets/list.d.ts +1 -0
- package/dist/commands/ecdn/waf/rulesets/update.d.ts +1 -0
- package/dist/commands/ecdn/zones/create.d.ts +1 -0
- package/dist/commands/ecdn/zones/list.d.ts +1 -0
- package/dist/commands/job/execution/delete.d.ts +1 -0
- package/dist/commands/job/export.d.ts +1 -0
- package/dist/commands/job/import-set.d.ts +1 -0
- package/dist/commands/job/import.d.ts +1 -0
- package/dist/commands/job/log.d.ts +1 -0
- package/dist/commands/job/run.d.ts +1 -0
- package/dist/commands/job/search.d.ts +1 -0
- package/dist/commands/job/wait.d.ts +1 -0
- package/dist/commands/logs/get.d.ts +1 -0
- package/dist/commands/logs/list.d.ts +1 -0
- package/dist/commands/logs/tail.d.ts +1 -0
- package/dist/commands/metrics/controller.d.ts +1 -0
- package/dist/commands/metrics/ecdn.d.ts +1 -0
- package/dist/commands/metrics/mrt.d.ts +1 -0
- package/dist/commands/metrics/ocapi.d.ts +1 -0
- package/dist/commands/metrics/overall.d.ts +1 -0
- package/dist/commands/metrics/sales.d.ts +1 -0
- package/dist/commands/metrics/scapi-hooks.d.ts +1 -0
- package/dist/commands/metrics/scapi.d.ts +1 -0
- package/dist/commands/metrics/third-party.d.ts +1 -0
- package/dist/commands/mrt/bundle/delete.d.ts +1 -0
- package/dist/commands/mrt/bundle/deploy.d.ts +1 -0
- package/dist/commands/mrt/bundle/download.d.ts +1 -0
- package/dist/commands/mrt/bundle/history.d.ts +1 -0
- package/dist/commands/mrt/bundle/list.d.ts +1 -0
- package/dist/commands/mrt/bundle/save.d.ts +1 -0
- package/dist/commands/mrt/bundle/upload-v2.d.ts +1 -0
- package/dist/commands/mrt/env/access-control/list.d.ts +1 -0
- package/dist/commands/mrt/env/b2c.d.ts +1 -0
- package/dist/commands/mrt/env/clone.d.ts +1 -0
- package/dist/commands/mrt/env/create.d.ts +1 -0
- package/dist/commands/mrt/env/delete.d.ts +1 -0
- package/dist/commands/mrt/env/get.d.ts +1 -0
- package/dist/commands/mrt/env/invalidate.d.ts +1 -0
- package/dist/commands/mrt/env/list.d.ts +1 -0
- package/dist/commands/mrt/env/redirect/clone.d.ts +1 -0
- package/dist/commands/mrt/env/redirect/create.d.ts +1 -0
- package/dist/commands/mrt/env/redirect/delete.d.ts +1 -0
- package/dist/commands/mrt/env/redirect/list.d.ts +1 -0
- package/dist/commands/mrt/env/update.d.ts +1 -0
- package/dist/commands/mrt/env/var/delete.d.ts +1 -0
- package/dist/commands/mrt/env/var/list.d.ts +1 -0
- package/dist/commands/mrt/env/var/push.d.ts +1 -0
- package/dist/commands/mrt/env/var/set.d.ts +1 -0
- package/dist/commands/mrt/org/b2c.d.ts +1 -0
- package/dist/commands/mrt/org/cert/create.d.ts +1 -0
- package/dist/commands/mrt/org/cert/delete.d.ts +1 -0
- package/dist/commands/mrt/org/cert/get.d.ts +1 -0
- package/dist/commands/mrt/org/cert/list.d.ts +1 -0
- package/dist/commands/mrt/org/cert/restart-validation.d.ts +1 -0
- package/dist/commands/mrt/org/list.d.ts +1 -0
- package/dist/commands/mrt/org/member/add.d.ts +1 -0
- package/dist/commands/mrt/org/member/get.d.ts +1 -0
- package/dist/commands/mrt/org/member/list.d.ts +1 -0
- package/dist/commands/mrt/org/member/remove.d.ts +1 -0
- package/dist/commands/mrt/org/member/update.d.ts +1 -0
- package/dist/commands/mrt/project/create.d.ts +1 -0
- package/dist/commands/mrt/project/delete.d.ts +1 -0
- package/dist/commands/mrt/project/get.d.ts +1 -0
- package/dist/commands/mrt/project/list.d.ts +1 -0
- package/dist/commands/mrt/project/member/add.d.ts +1 -0
- package/dist/commands/mrt/project/member/get.d.ts +1 -0
- package/dist/commands/mrt/project/member/list.d.ts +1 -0
- package/dist/commands/mrt/project/member/remove.d.ts +1 -0
- package/dist/commands/mrt/project/member/update.d.ts +1 -0
- package/dist/commands/mrt/project/notification/delete.d.ts +1 -0
- package/dist/commands/mrt/project/notification/get.d.ts +1 -0
- package/dist/commands/mrt/project/update.d.ts +1 -0
- package/dist/commands/mrt/save-credentials.d.ts +1 -0
- package/dist/commands/mrt/tail-logs.d.ts +1 -0
- package/dist/commands/mrt/user/api-key.d.ts +1 -0
- package/dist/commands/mrt/user/email-prefs.d.ts +1 -0
- package/dist/commands/mrt/user/profile.d.ts +1 -0
- package/dist/commands/scaffold/init.js +2 -1
- package/dist/commands/scaffold/init.js.map +1 -1
- package/dist/commands/scapi/custom/status.d.ts +1 -0
- package/dist/commands/scapi/schemas/get.d.ts +1 -0
- package/dist/commands/scapi/schemas/list.d.ts +1 -0
- package/dist/commands/setup/ide/tsserver-plugin.d.ts +1 -0
- package/dist/commands/setup/ide/vscode-types.d.ts +1 -0
- package/dist/commands/setup/index.js +4 -3
- package/dist/commands/setup/index.js.map +1 -1
- package/dist/commands/setup/inspect.d.ts +1 -0
- package/dist/commands/setup/inspect.js +17 -2
- package/dist/commands/setup/inspect.js.map +1 -1
- package/dist/commands/setup/instance/create.d.ts +1 -0
- package/dist/commands/setup/instance/list.d.ts +1 -0
- package/dist/commands/setup/instance/remove.d.ts +1 -0
- package/dist/commands/setup/instance/set-active.d.ts +1 -0
- package/dist/commands/setup/openshell.d.ts +1 -0
- package/dist/commands/setup/skills.d.ts +1 -0
- package/dist/commands/slas/client/create.d.ts +1 -0
- package/dist/commands/slas/client/delete.d.ts +1 -0
- package/dist/commands/slas/client/get.d.ts +1 -0
- package/dist/commands/slas/client/list.d.ts +1 -0
- package/dist/commands/slas/client/open.d.ts +1 -0
- package/dist/commands/slas/client/update.d.ts +1 -0
- package/dist/commands/slas/token.d.ts +1 -0
- package/dist/commands/slas/token.js +2 -1
- package/dist/commands/slas/token.js.map +1 -1
- package/dist/commands/webdav/get.d.ts +1 -0
- package/dist/commands/webdav/mkdir.d.ts +2 -0
- package/dist/commands/webdav/mkdir.js +5 -3
- package/dist/commands/webdav/mkdir.js.map +1 -1
- package/dist/commands/webdav/put.d.ts +2 -0
- package/dist/commands/webdav/put.js +5 -3
- package/dist/commands/webdav/put.js.map +1 -1
- package/dist/commands/webdav/rm.d.ts +1 -0
- package/dist/help.d.ts +25 -0
- package/dist/help.js +96 -0
- package/dist/help.js.map +1 -0
- package/dist/lib/scaffold/generate-helper.js +3 -2
- package/dist/lib/scaffold/generate-helper.js.map +1 -1
- package/dist/lib/skills.d.ts +19 -0
- package/dist/lib/skills.js +75 -0
- package/dist/lib/skills.js.map +1 -0
- package/dist/utils/cip/command.d.ts +1 -0
- package/dist/utils/ecdn/zone-command.d.ts +1 -0
- package/dist/utils/slas/client.d.ts +1 -0
- package/oclif.manifest.json +10994 -7653
- package/package.json +11 -5
|
@@ -0,0 +1,1949 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 1,
|
|
3
|
+
"collections": [
|
|
4
|
+
{
|
|
5
|
+
"id": "b2c-cli",
|
|
6
|
+
"title": "B2C CLI Workflows",
|
|
7
|
+
"isGA": true
|
|
8
|
+
},
|
|
9
|
+
{
|
|
10
|
+
"id": "b2c",
|
|
11
|
+
"title": "B2C Commerce Development",
|
|
12
|
+
"isGA": true,
|
|
13
|
+
"workspaces": [
|
|
14
|
+
"cartridges",
|
|
15
|
+
"sfra"
|
|
16
|
+
]
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
"id": "b2c-ops",
|
|
20
|
+
"title": "B2C Operations Runbooks",
|
|
21
|
+
"isGA": true
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
"id": "storefront-next",
|
|
25
|
+
"title": "Storefront Next",
|
|
26
|
+
"isGA": true,
|
|
27
|
+
"workspaces": [
|
|
28
|
+
"storefront-next"
|
|
29
|
+
]
|
|
30
|
+
}
|
|
31
|
+
],
|
|
32
|
+
"entries": [
|
|
33
|
+
{
|
|
34
|
+
"id": "b2c-cli/b2c-am",
|
|
35
|
+
"collection": "b2c-cli",
|
|
36
|
+
"title": "b2c-am",
|
|
37
|
+
"description": "Manage Account Manager resources including API clients, users, roles, and organizations. Use this skill whenever the user needs to create or update API clients, onboard or offboard developers, assign Account Manager roles scoped to tenants, audit user permissions, look up organizations, or provision API clients for CI/CD pipelines. Also use when managing AM role assignments or querying Account Manager data — even if they just say \"add a new developer\" or \"set up an API client\". For instance-level Business Manager administration (BM roles, BM users, BM access keys, BM whoami), defer to the `b2c-cli:b2c-bm-users-roles` skill.",
|
|
38
|
+
"entrypoint": "SKILL.md",
|
|
39
|
+
"frontmatter": {
|
|
40
|
+
"name": "b2c-am",
|
|
41
|
+
"description": "Manage Account Manager resources including API clients, users, roles, and organizations. Use this skill whenever the user needs to create or update API clients, onboard or offboard developers, assign Account Manager roles scoped to tenants, audit user permissions, look up organizations, or provision API clients for CI/CD pipelines. Also use when managing AM role assignments or querying Account Manager data — even if they just say \"add a new developer\" or \"set up an API client\". For instance-level Business Manager administration (BM roles, BM users, BM access keys, BM whoami), defer to the `b2c-cli:b2c-bm-users-roles` skill."
|
|
42
|
+
},
|
|
43
|
+
"source": "skills/b2c-cli/skills/b2c-am/SKILL.md",
|
|
44
|
+
"headings": "B2C Account Manager Skill | Authentication | Role Requirements | API Clients | List Clients | Get Client | Create Client | Update Client | Change Client Password | Delete Client | Users | List Users | Get User | Create User | Update User | Delete User | Reset User Password | Roles | List Roles | Get Role | Grant Role to User | Revoke Role from User | Organizations | List Organizations | Get Organization | Business Manager Administration | Common Workflows | User Onboarding | User Offboarding | Bulk Operations with JSON | Common Patterns | More Commands",
|
|
45
|
+
"files": [
|
|
46
|
+
{
|
|
47
|
+
"path": "SKILL.md",
|
|
48
|
+
"bytes": 7983,
|
|
49
|
+
"digest": "sha256:dc632347ba9d87a41e0f38f550fce55c6cc75822db8e3afb7bde95cf9a46d949"
|
|
50
|
+
}
|
|
51
|
+
]
|
|
52
|
+
},
|
|
53
|
+
{
|
|
54
|
+
"id": "b2c-cli/b2c-bm-users-roles",
|
|
55
|
+
"collection": "b2c-cli",
|
|
56
|
+
"title": "b2c-bm-users-roles",
|
|
57
|
+
"description": "Manage Business Manager users, access roles, role permissions, and per-user access keys on a B2C Commerce instance using the b2c CLI. Use this skill whenever the user needs to list or search BM users on a sandbox or production instance, identify which BM user an OAuth token resolves to (\"whoami\"), assign or revoke instance-level access roles, edit role permissions, look up a user's WebDAV / OCAPI / Storefront access key, or rotate access keys for SSO-managed users. Also use when the user asks \"what's my BM login on sandbox X\", \"rotate my WebDAV password\", \"how do I make a custom BM role\", \"audit BM users on this instance\", or \"delete a stale BM user from a sandbox\".",
|
|
58
|
+
"entrypoint": "SKILL.md",
|
|
59
|
+
"frontmatter": {
|
|
60
|
+
"name": "b2c-bm-users-roles",
|
|
61
|
+
"description": "Manage Business Manager users, access roles, role permissions, and per-user access keys on a B2C Commerce instance using the b2c CLI. Use this skill whenever the user needs to list or search BM users on a sandbox or production instance, identify which BM user an OAuth token resolves to (\"whoami\"), assign or revoke instance-level access roles, edit role permissions, look up a user's WebDAV / OCAPI / Storefront access key, or rotate access keys for SSO-managed users. Also use when the user asks \"what's my BM login on sandbox X\", \"rotate my WebDAV password\", \"how do I make a custom BM role\", \"audit BM users on this instance\", or \"delete a stale BM user from a sandbox\"."
|
|
62
|
+
},
|
|
63
|
+
"source": "skills/b2c-cli/skills/b2c-bm-users-roles/SKILL.md",
|
|
64
|
+
"headings": "B2C Business Manager Users, Roles, and Access Keys | API Backend | Authentication | Business Manager Roles | Role Permissions | Business Manager Users | Whoami — Identify the Current BM User | Access Keys (WebDAV, OCAPI, Storefront) | Common Workflows | Rotate my own WebDAV password (no admin privileges needed) | Audit users with admin role and stale logins | Provision a new custom role and assign one user | Cycle access keys for an SSO user (admin) | Common Patterns | More",
|
|
65
|
+
"files": [
|
|
66
|
+
{
|
|
67
|
+
"path": "SKILL.md",
|
|
68
|
+
"bytes": 12187,
|
|
69
|
+
"digest": "sha256:54a9372b20fd2d927200411a28f0a4cf98cf2bd8610db6a6a6fd5eb7cda513b1"
|
|
70
|
+
}
|
|
71
|
+
]
|
|
72
|
+
},
|
|
73
|
+
{
|
|
74
|
+
"id": "b2c-cli/b2c-cap",
|
|
75
|
+
"collection": "b2c-cli",
|
|
76
|
+
"title": "b2c-cap",
|
|
77
|
+
"description": "Manage Commerce App Packages (CAPs), also called commerce apps or apps, and commerce features using the b2c CLI. Use this skill whenever the user needs to validate, package, install, uninstall, list, or pull commerce apps on B2C Commerce instances, view configuration tasks, or pull app sources for cartridge deployment or Storefront Next development. Also use when checking which apps are installed on an instance, inspecting app details or versions, or managing app lifecycle — even if they just say \"what apps do I have\", \"list my commerce apps\", \"which CAPs are installed\", \"install this app\", \"pull app sources\", or \"show installed apps\".",
|
|
78
|
+
"entrypoint": "SKILL.md",
|
|
79
|
+
"frontmatter": {
|
|
80
|
+
"name": "b2c-cap",
|
|
81
|
+
"description": "Manage Commerce App Packages (CAPs), also called commerce apps or apps, and commerce features using the b2c CLI. Use this skill whenever the user needs to validate, package, install, uninstall, list, or pull commerce apps on B2C Commerce instances, view configuration tasks, or pull app sources for cartridge deployment or Storefront Next development. Also use when checking which apps are installed on an instance, inspecting app details or versions, or managing app lifecycle — even if they just say \"what apps do I have\", \"list my commerce apps\", \"which CAPs are installed\", \"install this app\", \"pull app sources\", or \"show installed apps\"."
|
|
82
|
+
},
|
|
83
|
+
"source": "skills/b2c-cli/skills/b2c-cap/SKILL.md",
|
|
84
|
+
"headings": "B2C CAP Skill | Configuration & Authentication | Examples | List Installed Features | Pull App Sources | View Configuration Tasks | Validate a CAP | Package a CAP | Install a CAP | Uninstall a CAP | More Commands | Related Skills",
|
|
85
|
+
"files": [
|
|
86
|
+
{
|
|
87
|
+
"path": "SKILL.md",
|
|
88
|
+
"bytes": 6330,
|
|
89
|
+
"digest": "sha256:666f7cbd5b82af8b6dbe093588603af35e07518beefd78f4512c41f004f23949"
|
|
90
|
+
}
|
|
91
|
+
]
|
|
92
|
+
},
|
|
93
|
+
{
|
|
94
|
+
"id": "b2c-cli/b2c-cip",
|
|
95
|
+
"collection": "b2c-cli",
|
|
96
|
+
"title": "b2c-cip",
|
|
97
|
+
"description": "Query CIP/CCAC sales, merchandising, payment, traffic, and API/controller analytics with the B2C CLI or MCP. Discover reports/tables, scope SQL, export results, and resolve analytics access.",
|
|
98
|
+
"entrypoint": "SKILL.md",
|
|
99
|
+
"frontmatter": {
|
|
100
|
+
"name": "b2c-cip",
|
|
101
|
+
"description": "Query CIP/CCAC sales, merchandising, payment, traffic, and API/controller analytics with the B2C CLI or MCP. Discover reports/tables, scope SQL, export results, and resolve analytics access."
|
|
102
|
+
},
|
|
103
|
+
"source": "skills/b2c-cli/skills/b2c-cip/SKILL.md",
|
|
104
|
+
"headings": "Known CIP Tables | Aggregate Tables (`ccdw_aggr_*`) | Dimension Tables (`ccdw_dim_*`) | Fact Tables (`ccdw_fact_*`) | Practical Starters | Notes | Sales comparisons and coverage | Compare periods | Coverage check | Definitions | CIP Starter Queries | 1) Recent Daily Sales Snapshot | 2) Sales by Site (Joined) | 3) Top-Selling Products by Revenue | 4) Promotion Impact Summary | 5) OCAPI Request Volume | 6) SCAPI Request Volume | 7) Top Search Terms by Revenue | 8) Referrer Mix | 9) Customer Registration Trend | 10) Payment Method Performance | CIP analytics | Choose the surface | Configuration and access | Discover and execute | Select technical reports | Query and interpret | Conditional references",
|
|
105
|
+
"files": [
|
|
106
|
+
{
|
|
107
|
+
"path": "references/KNOWN_TABLES.md",
|
|
108
|
+
"bytes": 9466,
|
|
109
|
+
"digest": "sha256:84d4d1c5562ce387b6ce509ac6faad9a173c178a7a067572d7be6fd939f662e1"
|
|
110
|
+
},
|
|
111
|
+
{
|
|
112
|
+
"path": "references/SALES_ANALYSIS.md",
|
|
113
|
+
"bytes": 2696,
|
|
114
|
+
"digest": "sha256:5700fe48da7dbf0b50495c96ddb078859bbb7ebd3a78fe5754086cde5ace08d7"
|
|
115
|
+
},
|
|
116
|
+
{
|
|
117
|
+
"path": "references/STARTER_QUERIES.md",
|
|
118
|
+
"bytes": 4956,
|
|
119
|
+
"digest": "sha256:0b35dcf38bee2847e248a358e18e8c85afac4e7da4915019bf2f06c841cc50f7"
|
|
120
|
+
},
|
|
121
|
+
{
|
|
122
|
+
"path": "SKILL.md",
|
|
123
|
+
"bytes": 6017,
|
|
124
|
+
"digest": "sha256:8170bb25e0d7232620d5aac49da8f2cf23e589052a0724849edc5ae115859e5f"
|
|
125
|
+
}
|
|
126
|
+
]
|
|
127
|
+
},
|
|
128
|
+
{
|
|
129
|
+
"id": "b2c-cli/b2c-code",
|
|
130
|
+
"collection": "b2c-cli",
|
|
131
|
+
"title": "b2c-code",
|
|
132
|
+
"description": "Deploy, download, and manage cartridge code versions on B2C Commerce instances. Use this skill whenever the user needs to upload or download cartridges to/from a sandbox, activate or delete code versions, watch for local file changes during development, or deploy a subset of cartridges. Also use when pushing code to an instance, pulling code from an instance, or setting up a dev workflow with live reload -- even if they just say 'push my code to the sandbox', 'download the code', or 'how do I activate the new version'.",
|
|
133
|
+
"entrypoint": "SKILL.md",
|
|
134
|
+
"frontmatter": {
|
|
135
|
+
"name": "b2c-code",
|
|
136
|
+
"description": "Deploy, download, and manage cartridge code versions on B2C Commerce instances. Use this skill whenever the user needs to upload or download cartridges to/from a sandbox, activate or delete code versions, watch for local file changes during development, or deploy a subset of cartridges. Also use when pushing code to an instance, pulling code from an instance, or setting up a dev workflow with live reload -- even if they just say 'push my code to the sandbox', 'download the code', or 'how do I activate the new version'."
|
|
137
|
+
},
|
|
138
|
+
"source": "skills/b2c-cli/skills/b2c-code/SKILL.md",
|
|
139
|
+
"headings": "B2C Code Skill | MCP equivalent | Configuration & Authentication | Examples | Deploy Cartridges | Download Cartridges | Watch for Changes | List Code Versions | Activate Code Version | Delete Code Version | API Backend | More Commands | Related Skills",
|
|
140
|
+
"files": [
|
|
141
|
+
{
|
|
142
|
+
"path": "SKILL.md",
|
|
143
|
+
"bytes": 6359,
|
|
144
|
+
"digest": "sha256:31e925d4f1ac9e6c306d2e35153b1acd6a6bcace6ddea3139b0930867fdd1515"
|
|
145
|
+
}
|
|
146
|
+
]
|
|
147
|
+
},
|
|
148
|
+
{
|
|
149
|
+
"id": "b2c-cli/b2c-config",
|
|
150
|
+
"collection": "b2c-cli",
|
|
151
|
+
"title": "b2c-config",
|
|
152
|
+
"description": "Configure B2C CLI/MCP authentication, instances, and project defaults; troubleshoot missing credentials, wrong targets, or configuration precedence. Routine inspection can use config_inspect or b2c setup inspect directly.",
|
|
153
|
+
"entrypoint": "SKILL.md",
|
|
154
|
+
"frontmatter": {
|
|
155
|
+
"name": "b2c-config",
|
|
156
|
+
"description": "Configure B2C CLI/MCP authentication, instances, and project defaults; troubleshoot missing credentials, wrong targets, or configuration precedence. Routine inspection can use config_inspect or b2c setup inspect directly."
|
|
157
|
+
},
|
|
158
|
+
"source": "skills/b2c-cli/skills/b2c-config/SKILL.md",
|
|
159
|
+
"headings": "B2C Config Skill | How the CLI Discovers Configuration | Storefront Next Environment Compatibility | Shared Global Default | MCP Project Context | `dw.json` Key Casing | Authentication | `--user-auth` Flag | Tenant ID and Organization ID | Inspecting Configuration | When to Use | View Current Configuration | Debug Sensitive Values | JSON Output for Scripting | IDE Integration | OpenShell Sandbox (Beta) | Managing Instances | List Configured Instances | Create a New Instance | Switch Active Instance | Remove an Instance | Understanding the Output | Configuration Priority | Project Defaults in package.json | Troubleshooting | Command says \"credentials required\" or \"client-id is required\" | Command targets the wrong instance | `dw.json` is not being picked up | 401/403 errors on SCAPI/OCAPI calls | Missing `tenantId` / `shortCode` | MRT commands say \"API key required\" | Sensitive values masked in `setup inspect` | Missing values | Wrong source taking precedence | Still stuck | Getting Admin OAuth Tokens | More Commands",
|
|
160
|
+
"files": [
|
|
161
|
+
{
|
|
162
|
+
"path": "SKILL.md",
|
|
163
|
+
"bytes": 27911,
|
|
164
|
+
"digest": "sha256:29686f950e622ba8e1161275514a53e677fa9528b2b8c21cd5d40feaacb6aadd"
|
|
165
|
+
}
|
|
166
|
+
]
|
|
167
|
+
},
|
|
168
|
+
{
|
|
169
|
+
"id": "b2c-cli/b2c-content",
|
|
170
|
+
"collection": "b2c-cli",
|
|
171
|
+
"title": "b2c-content",
|
|
172
|
+
"description": "Export, list, and validate Page Designer content from B2C Commerce libraries. Use this skill whenever the user needs to export Page Designer pages, components, or content blocks, 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'.",
|
|
173
|
+
"entrypoint": "SKILL.md",
|
|
174
|
+
"frontmatter": {
|
|
175
|
+
"name": "b2c-content",
|
|
176
|
+
"description": "Export, list, and validate Page Designer content from B2C Commerce libraries. Use this skill whenever the user needs to export Page Designer pages, components, or content blocks, 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'."
|
|
177
|
+
},
|
|
178
|
+
"source": "skills/b2c-cli/skills/b2c-content/SKILL.md",
|
|
179
|
+
"headings": "B2C Content Skill | Configuration & Authentication | Examples | Export Pages | Export Directly into an Import-Set Migration | List Content | Content Blocks | Configuration | Validate Metadefinitions | More Commands | Troubleshooting | Related Skills",
|
|
180
|
+
"files": [
|
|
181
|
+
{
|
|
182
|
+
"path": "SKILL.md",
|
|
183
|
+
"bytes": 7778,
|
|
184
|
+
"digest": "sha256:dd0e60d7400eca3df9e547c49bec0bb3af64b3d4f67733c295bf5cfacaca14a8"
|
|
185
|
+
}
|
|
186
|
+
]
|
|
187
|
+
},
|
|
188
|
+
{
|
|
189
|
+
"id": "b2c-cli/b2c-debug",
|
|
190
|
+
"collection": "b2c-cli",
|
|
191
|
+
"title": "b2c-debug",
|
|
192
|
+
"description": "Debug B2C Commerce server-side scripts using the b2c CLI. Use this skill whenever the user needs to set breakpoints, step through code, inspect variables, evaluate expressions, or investigate runtime behavior on a B2C Commerce instance. Also use when the user wants to understand what a script is doing at runtime, capture state at a specific line, or drive the debugger from a headless script — even if they just say \"debug this controller\" or \"what's the value of basket at line 42\".",
|
|
193
|
+
"entrypoint": "SKILL.md",
|
|
194
|
+
"frontmatter": {
|
|
195
|
+
"name": "b2c-debug",
|
|
196
|
+
"description": "Debug B2C Commerce server-side scripts using the b2c CLI. Use this skill whenever the user needs to set breakpoints, step through code, inspect variables, evaluate expressions, or investigate runtime behavior on a B2C Commerce instance. Also use when the user wants to understand what a script is doing at runtime, capture state at a specific line, or drive the debugger from a headless script — even if they just say \"debug this controller\" or \"what's the value of basket at line 42\"."
|
|
197
|
+
},
|
|
198
|
+
"source": "skills/b2c-cli/skills/b2c-debug/SKILL.md",
|
|
199
|
+
"headings": "B2C Debug Skill | Configuration & Authentication | Prerequisites | Interactive Debugging | Start a Debug Session | Set Breakpoints | Inspect State When Halted | Control Execution | Thread Management | RPC Mode (Headless / Agent Use) | Send Commands | Receive Responses and Events | Available RPC Commands | DAP Mode (IDE Integration) | Related Skills",
|
|
200
|
+
"files": [
|
|
201
|
+
{
|
|
202
|
+
"path": "SKILL.md",
|
|
203
|
+
"bytes": 6609,
|
|
204
|
+
"digest": "sha256:81edda151447bfd3e9575891da526cf021a949dfa3a87e570dcd63b7e41094df"
|
|
205
|
+
}
|
|
206
|
+
]
|
|
207
|
+
},
|
|
208
|
+
{
|
|
209
|
+
"id": "b2c-cli/b2c-docs",
|
|
210
|
+
"collection": "b2c-cli",
|
|
211
|
+
"title": "b2c-docs",
|
|
212
|
+
"description": "Search and read B2C Commerce documentation using the b2c CLI. Covers Script API reference (dw.* classes/modules), Developer Center guides (Commerce API, PWA Kit, SFRA, Storefront Next, B2C Commerce, Commerce Solutions, OCAPI), Salesforce Help (Business Manager administration and merchandising), tooling documentation (CLI/MCP/SDK), standard job steps, and XSD schemas. Use this skill for ANY B2C Commerce developer or administrator question that is not already grounded in a loaded skill or the current project context — even if they just say \"how do I implement passwordless login\" or \"what methods does Basket have\" or \"how do I deploy a PWA Kit bundle\" or \"how do I import a site archive\" or \"what SCAPI endpoints are available for checkout\".",
|
|
213
|
+
"entrypoint": "SKILL.md",
|
|
214
|
+
"frontmatter": {
|
|
215
|
+
"name": "b2c-docs",
|
|
216
|
+
"description": "Search and read B2C Commerce documentation using the b2c CLI. Covers Script API reference (dw.* classes/modules), Developer Center guides (Commerce API, PWA Kit, SFRA, Storefront Next, B2C Commerce, Commerce Solutions, OCAPI), Salesforce Help (Business Manager administration and merchandising), tooling documentation (CLI/MCP/SDK), standard job steps, and XSD schemas. Use this skill for ANY B2C Commerce developer or administrator question that is not already grounded in a loaded skill or the current project context — even if they just say \"how do I implement passwordless login\" or \"what methods does Basket have\" or \"how do I deploy a PWA Kit bundle\" or \"how do I import a site archive\" or \"what SCAPI endpoints are available for checkout\"."
|
|
217
|
+
},
|
|
218
|
+
"source": "skills/b2c-cli/skills/b2c-docs/SKILL.md",
|
|
219
|
+
"headings": "B2C Docs Skill | Key Features | Examples | Search Documentation | Workspace-Aware Search | Read Documentation | Standard Job Step Catalog | Download Documentation | Read XSD Schemas | Documentation Categories | Common Script API Classes | Common Schemas | Finding CLI Commands | Reading Agent Skills | More Commands",
|
|
220
|
+
"files": [
|
|
221
|
+
{
|
|
222
|
+
"path": "SKILL.md",
|
|
223
|
+
"bytes": 18990,
|
|
224
|
+
"digest": "sha256:02ff9c72c4f9fee86d1938f9d9465aedde6e66f062db84ebfd6ef1261d7893e4"
|
|
225
|
+
}
|
|
226
|
+
]
|
|
227
|
+
},
|
|
228
|
+
{
|
|
229
|
+
"id": "b2c-cli/b2c-ecdn",
|
|
230
|
+
"collection": "b2c-cli",
|
|
231
|
+
"title": "b2c-ecdn",
|
|
232
|
+
"description": "Manage eCDN zones, security settings, and edge configuration for B2C Commerce storefronts. Use this skill whenever the user needs to purge CDN cache, provision SSL certificates, configure WAF or firewall rules, set up rate limiting, enable logpush or Page Shield, manage MRT routing, configure mTLS or cipher suites, or optimize edge performance. Also use when troubleshooting CDN-layer issues or managing zone settings -- even if they just say 'clear the cache' or 'block bot traffic on our storefront'.",
|
|
233
|
+
"entrypoint": "SKILL.md",
|
|
234
|
+
"frontmatter": {
|
|
235
|
+
"name": "b2c-ecdn",
|
|
236
|
+
"description": "Manage eCDN zones, security settings, and edge configuration for B2C Commerce storefronts. Use this skill whenever the user needs to purge CDN cache, provision SSL certificates, configure WAF or firewall rules, set up rate limiting, enable logpush or Page Shield, manage MRT routing, configure mTLS or cipher suites, or optimize edge performance. Also use when troubleshooting CDN-layer issues or managing zone settings -- even if they just say 'clear the cache' or 'block bot traffic on our storefront'."
|
|
237
|
+
},
|
|
238
|
+
"source": "skills/b2c-cli/skills/b2c-ecdn/SKILL.md",
|
|
239
|
+
"headings": "eCDN Advanced Reference | Logpush | MRT Rules | mTLS Certificates | Cipher Suites | Origin Headers | eCDN Security Reference | WAF (Web Application Firewall) | Firewall Rules | Rate Limiting | Page Shield | B2C eCDN Skill | Configuration | Prerequisites | Examples | List CDN Zones | Create a Storefront Zone | Purge Cache | Manage Certificates | Manage Rate Limiting Rules | Security Settings | Speed Settings | Additional Topics | Configuration Overrides | OAuth Scopes | More Commands",
|
|
240
|
+
"files": [
|
|
241
|
+
{
|
|
242
|
+
"path": "references/ADVANCED.md",
|
|
243
|
+
"bytes": 4571,
|
|
244
|
+
"digest": "sha256:4156263254a2cfb12c6f9b78841a1c8feb14ffc1a668781dbb4a2189b270bb55"
|
|
245
|
+
},
|
|
246
|
+
{
|
|
247
|
+
"path": "references/SECURITY.md",
|
|
248
|
+
"bytes": 2213,
|
|
249
|
+
"digest": "sha256:cf1ca7ed117fae1286b517755ec5412dece2ff7196d84c43adbbcf9e3d3e0bc8"
|
|
250
|
+
},
|
|
251
|
+
{
|
|
252
|
+
"path": "SKILL.md",
|
|
253
|
+
"bytes": 4863,
|
|
254
|
+
"digest": "sha256:81cf27e25cdaf6717e26cff021b75608edf410a2b8dc2b488df8440c263e7b54"
|
|
255
|
+
}
|
|
256
|
+
]
|
|
257
|
+
},
|
|
258
|
+
{
|
|
259
|
+
"id": "b2c-cli/b2c-import-set-migrations",
|
|
260
|
+
"collection": "b2c-cli",
|
|
261
|
+
"title": "b2c-import-set-migrations",
|
|
262
|
+
"description": "Create and apply ordered, idempotent B2C Commerce site import/export archives from discovered cartridge metadata and project migrations using `b2c job import-set`. Use this opt-in project workflow for migrations built from focused instance exports, repeatable setup, onboarding, and CI/CD imports that apply once per instance. Also covers source exclusions, post-import README notes, resetting history, and recovering an interrupted run.",
|
|
263
|
+
"entrypoint": "SKILL.md",
|
|
264
|
+
"frontmatter": {
|
|
265
|
+
"name": "b2c-import-set-migrations",
|
|
266
|
+
"description": "Create and apply ordered, idempotent B2C Commerce site import/export archives from discovered cartridge metadata and project migrations using `b2c job import-set`. Use this opt-in project workflow for migrations built from focused instance exports, repeatable setup, onboarding, and CI/CD imports that apply once per instance. Also covers source exclusions, post-import README notes, resetting history, and recovering an interrupted run."
|
|
267
|
+
},
|
|
268
|
+
"source": "skills/b2c-cli/skills/b2c-import-set-migrations/SKILL.md",
|
|
269
|
+
"headings": "Import Set Migrations Skill | Configuration & Authentication | Import Sources and Order | Naming convention | Commands | Flags | Source exclusions | Post-Import Notes (per-archive README) | Repeat Runs | Set IDs (namespaces) | Concurrent Runs and Recovery | Idiomatic Workflows | Local setup / onboarding | CI/CD | Adding a new migration | Building a migration from an instance export | Resetting Import History | Import Failure Recovery | Related Skills",
|
|
270
|
+
"files": [
|
|
271
|
+
{
|
|
272
|
+
"path": "SKILL.md",
|
|
273
|
+
"bytes": 15678,
|
|
274
|
+
"digest": "sha256:2236b95ab5e867aba8c6e147360108548304c403ea3dfa827c8530822e839c29"
|
|
275
|
+
}
|
|
276
|
+
]
|
|
277
|
+
},
|
|
278
|
+
{
|
|
279
|
+
"id": "b2c-cli/b2c-job",
|
|
280
|
+
"collection": "b2c-cli",
|
|
281
|
+
"title": "b2c-job",
|
|
282
|
+
"description": "Run existing B2C Commerce jobs, monitor executions, inspect failures, rebuild search indexes, and import or export site archives with the CLI.",
|
|
283
|
+
"entrypoint": "SKILL.md",
|
|
284
|
+
"frontmatter": {
|
|
285
|
+
"name": "b2c-job",
|
|
286
|
+
"description": "Run existing B2C Commerce jobs, monitor executions, inspect failures, rebuild search indexes, and import or export site archives with the CLI."
|
|
287
|
+
},
|
|
288
|
+
"source": "skills/b2c-cli/skills/b2c-job/SKILL.md",
|
|
289
|
+
"headings": "Export Site Archives | Compact Results | Export Commands | Output Directory Semantics | Available Data Units | Import Site Archives | Import Site Archives | Import Sets | Run and Monitor Jobs | Run a Job | Run System Jobs with Custom Request Bodies | Standard (System) Job Steps | View Job Logs | Search Job Executions | Delete Job Executions | API Backend | Wait for Job Completion | Run and Monitor Jobs | Configuration and tool choice | Run and inspect | Site archives | Output",
|
|
290
|
+
"files": [
|
|
291
|
+
{
|
|
292
|
+
"path": "references/EXPORT.md",
|
|
293
|
+
"bytes": 6540,
|
|
294
|
+
"digest": "sha256:301408dcb37fa2d6fb7da5bfaed2d420148887d2c90ccf3fa5dc6396f66a6120"
|
|
295
|
+
},
|
|
296
|
+
{
|
|
297
|
+
"path": "references/IMPORT.md",
|
|
298
|
+
"bytes": 2870,
|
|
299
|
+
"digest": "sha256:5e7253db37fac7b4ec39024a3d9ba373abf50ee09b5bcd8a23de148cfdadedb1"
|
|
300
|
+
},
|
|
301
|
+
{
|
|
302
|
+
"path": "references/RUN-AND-MONITOR.md",
|
|
303
|
+
"bytes": 4748,
|
|
304
|
+
"digest": "sha256:cfceaed6ff17c4c69f80f838694c700b4348cd5d7be5d2ec2ca169554036d264"
|
|
305
|
+
},
|
|
306
|
+
{
|
|
307
|
+
"path": "SKILL.md",
|
|
308
|
+
"bytes": 2861,
|
|
309
|
+
"digest": "sha256:cd1552dd7340c2629bed96fad147bb66b2db80e143646577b7f36a93f05b83bb"
|
|
310
|
+
}
|
|
311
|
+
]
|
|
312
|
+
},
|
|
313
|
+
{
|
|
314
|
+
"id": "b2c-cli/b2c-logs",
|
|
315
|
+
"collection": "b2c-cli",
|
|
316
|
+
"title": "b2c-logs",
|
|
317
|
+
"description": "Retrieve and search logs from B2C Commerce instances using the b2c CLI. Use this skill whenever the user needs to view server logs, search for errors, filter log entries by level or time, or monitor logs in real-time. Also use when the user reports a 500 error, broken checkout, failing job, or any server-side issue that needs log investigation — even if they just say \"something's broken on the sandbox\" or \"check the logs\".",
|
|
318
|
+
"entrypoint": "SKILL.md",
|
|
319
|
+
"frontmatter": {
|
|
320
|
+
"name": "b2c-logs",
|
|
321
|
+
"description": "Retrieve and search logs from B2C Commerce instances using the b2c CLI. Use this skill whenever the user needs to view server logs, search for errors, filter log entries by level or time, or monitor logs in real-time. Also use when the user reports a 500 error, broken checkout, failing job, or any server-side issue that needs log investigation — even if they just say \"something's broken on the sandbox\" or \"check the logs\"."
|
|
322
|
+
},
|
|
323
|
+
"source": "skills/b2c-cli/skills/b2c-logs/SKILL.md",
|
|
324
|
+
"headings": "B2C Logs Skill | Configuration & Authentication | Agent-Friendly Log Retrieval | Examples | Get Recent Logs | Filter by Time | Filter by Log Level | Search Text | Combined Filters | List Available Log Files | Real-Time Tailing (Human Use) | Downloading Full Log Files | JSON Output Structure | Log Types | Discovering Custom Log Files | Logs in Subdirectories | More Commands | Related Skills",
|
|
325
|
+
"files": [
|
|
326
|
+
{
|
|
327
|
+
"path": "SKILL.md",
|
|
328
|
+
"bytes": 10026,
|
|
329
|
+
"digest": "sha256:9c5ec55ec9294e254fa1b3ccc9694f260e102f72f9cbd98ccbf2fa22eee9df4e"
|
|
330
|
+
}
|
|
331
|
+
]
|
|
332
|
+
},
|
|
333
|
+
{
|
|
334
|
+
"id": "b2c-cli/b2c-metrics",
|
|
335
|
+
"collection": "b2c-cli",
|
|
336
|
+
"title": "b2c-metrics",
|
|
337
|
+
"description": "Query observability metrics from SCAPI Metrics API (CLOSED BETA). Use this skill whenever the user needs request volume, latency distributions, error rates, cache performance, or technical health indicators for SCAPI, OCAPI, MRT, SFRA controllers, or overall system performance. Also use when they want to monitor third-party integrations, sales metrics, or eCDN performance -- even if they just say 'show me SCAPI metrics', 'what is my error rate', or 'check API performance'.",
|
|
338
|
+
"entrypoint": "SKILL.md",
|
|
339
|
+
"frontmatter": {
|
|
340
|
+
"name": "b2c-metrics",
|
|
341
|
+
"description": "Query observability metrics from SCAPI Metrics API (CLOSED BETA). Use this skill whenever the user needs request volume, latency distributions, error rates, cache performance, or technical health indicators for SCAPI, OCAPI, MRT, SFRA controllers, or overall system performance. Also use when they want to monitor third-party integrations, sales metrics, or eCDN performance -- even if they just say 'show me SCAPI metrics', 'what is my error rate', or 'check API performance'."
|
|
342
|
+
},
|
|
343
|
+
"source": "skills/b2c-cli/skills/b2c-metrics/SKILL.md",
|
|
344
|
+
"headings": "B2C Metrics Skill | Command Structure | Configuration | Requirements | Quick Workflow | Metric Categories and Commands | Discovery Examples | Fetch Metrics Examples | Time Windows | Series Tags | Response Format | SDK Usage | Troubleshooting",
|
|
345
|
+
"files": [
|
|
346
|
+
{
|
|
347
|
+
"path": "SKILL.md",
|
|
348
|
+
"bytes": 14824,
|
|
349
|
+
"digest": "sha256:d1d7495f37d22fd28519a8101cf4ad81392240fe7cb6c1d53a28fb9a95dec019"
|
|
350
|
+
}
|
|
351
|
+
]
|
|
352
|
+
},
|
|
353
|
+
{
|
|
354
|
+
"id": "b2c-cli/b2c-mrt",
|
|
355
|
+
"collection": "b2c-cli",
|
|
356
|
+
"title": "b2c-mrt",
|
|
357
|
+
"description": "Deploy and manage Managed Runtime (MRT) storefronts using the b2c CLI. Use this skill whenever the user needs to deploy a PWA Kit bundle, manage MRT environments and projects, set environment variables, configure URL redirects, or manage organization connections — even if they just say \"deploy my PWA\" or \"set up a staging environment\".",
|
|
358
|
+
"entrypoint": "SKILL.md",
|
|
359
|
+
"frontmatter": {
|
|
360
|
+
"name": "b2c-mrt",
|
|
361
|
+
"description": "Deploy and manage Managed Runtime (MRT) storefronts using the b2c CLI. Use this skill whenever the user needs to deploy a PWA Kit bundle, manage MRT environments and projects, set environment variables, configure URL redirects, or manage organization connections — even if they just say \"deploy my PWA\" or \"set up a staging environment\"."
|
|
362
|
+
},
|
|
363
|
+
"source": "skills/b2c-cli/skills/b2c-mrt/SKILL.md",
|
|
364
|
+
"headings": "MRT Bundle Commands Reference | Bundle Deploy | Push Local Build | Deploy Existing Bundle | Bundle Upload (v2) | Bundle List | Bundle History | Bundle Download | Common Workflows | Development to Production Pipeline | Rollback to Previous Bundle | Download and Inspect Bundle | MRT Environment Commands Reference | Environment Management | List Environments | Create Environment | Get Environment Details | Update Environment | Delete Environment | Invalidate Cache | B2C Commerce Connection | Environment Variables | List Variables | Set Variables | Push Variables from a .env File | Delete Variable | URL Redirects | List Redirects | Create Redirect | Delete Redirect | Clone Redirects | Access Control Headers | List Access Control Headers | MRT Project Commands Reference | Project Management | List Projects | Create Project | Get Project Details | Update Project | Delete Project | Member Management | List Members | Add Member | Get Member Details | Update Member Role | Remove Member | Deployment Notifications | List Notifications | Create Notification | Get Notification Details | Update Notification | Delete Notification | B2C MRT Skill | Configuration & Authentication | MRT Backends (legacy vs SCAPI) | Command Structure | Quick Examples | Deploy a Bundle | Manage Environments | Environment Variables | View Deployment History | Organization Members and Certificates | Project Management | URL Redirects | Configuration | dw.json | Environment Variables | ~/.mobify Config | Detailed References | More Commands",
|
|
365
|
+
"files": [
|
|
366
|
+
{
|
|
367
|
+
"path": "references/BUNDLE-COMMANDS.md",
|
|
368
|
+
"bytes": 9061,
|
|
369
|
+
"digest": "sha256:3975d4b4a7751cc340adaf0d5f2ce0c0629afb8d9687c1323d64b4567943b639"
|
|
370
|
+
},
|
|
371
|
+
{
|
|
372
|
+
"path": "references/ENVIRONMENT-COMMANDS.md",
|
|
373
|
+
"bytes": 7026,
|
|
374
|
+
"digest": "sha256:b883faa7fbad5df95a5fa54379d3b73b27810f2b8700e18a82c8bf81f6143be7"
|
|
375
|
+
},
|
|
376
|
+
{
|
|
377
|
+
"path": "references/PROJECT-COMMANDS.md",
|
|
378
|
+
"bytes": 4923,
|
|
379
|
+
"digest": "sha256:9e517f9fdd8c3f48e442560617720c56a3bab9a203e413e4900a2a1306734eb1"
|
|
380
|
+
},
|
|
381
|
+
{
|
|
382
|
+
"path": "SKILL.md",
|
|
383
|
+
"bytes": 8753,
|
|
384
|
+
"digest": "sha256:48239402b91c6727c09f3927ed449a239e44c8a9c888e805bbbc78505c6a0588"
|
|
385
|
+
}
|
|
386
|
+
]
|
|
387
|
+
},
|
|
388
|
+
{
|
|
389
|
+
"id": "b2c-cli/b2c-sandbox",
|
|
390
|
+
"collection": "b2c-cli",
|
|
391
|
+
"title": "b2c-sandbox",
|
|
392
|
+
"description": "Create and manage on-demand sandboxes (ODS) for B2C Commerce using the b2c CLI. Use this skill whenever the user needs to spin up a new development sandbox, list running sandboxes, start/stop/restart an instance, or manage sandbox lifecycle — even if they just say \"I need a sandbox\" or \"restart my instance\".",
|
|
393
|
+
"entrypoint": "SKILL.md",
|
|
394
|
+
"frontmatter": {
|
|
395
|
+
"name": "b2c-sandbox",
|
|
396
|
+
"description": "Create and manage on-demand sandboxes (ODS) for B2C Commerce using the b2c CLI. Use this skill whenever the user needs to spin up a new development sandbox, list running sandboxes, start/stop/restart an instance, or manage sandbox lifecycle — even if they just say \"I need a sandbox\" or \"restart my instance\"."
|
|
397
|
+
},
|
|
398
|
+
"source": "skills/b2c-cli/skills/b2c-sandbox/SKILL.md",
|
|
399
|
+
"headings": "B2C Sandbox Skill | Configuration & Authentication | Sandbox ID Formats | Examples | List Sandboxes | Create Sandbox | Get/Start/Stop/Restart/Delete Sandbox | Clone Sandbox | More Commands",
|
|
400
|
+
"files": [
|
|
401
|
+
{
|
|
402
|
+
"path": "SKILL.md",
|
|
403
|
+
"bytes": 4928,
|
|
404
|
+
"digest": "sha256:508ff225e9dace1fcce249578ddb14b6180b9ae70e4702d6fb93104a49e532ee"
|
|
405
|
+
}
|
|
406
|
+
]
|
|
407
|
+
},
|
|
408
|
+
{
|
|
409
|
+
"id": "b2c-cli/b2c-scapi-custom",
|
|
410
|
+
"collection": "b2c-cli",
|
|
411
|
+
"title": "b2c-scapi-custom",
|
|
412
|
+
"description": "Check custom SCAPI endpoint registration status using the b2c CLI. Use this skill whenever the user needs to verify that their custom API endpoints are registered and working, debug 404 or \"endpoint not found\" errors on custom APIs, or list custom API endpoints and their deployment status — even if they just say \"my custom API returns 404\" or \"is my endpoint deployed\".",
|
|
413
|
+
"entrypoint": "SKILL.md",
|
|
414
|
+
"frontmatter": {
|
|
415
|
+
"name": "b2c-scapi-custom",
|
|
416
|
+
"description": "Check custom SCAPI endpoint registration status using the b2c CLI. Use this skill whenever the user needs to verify that their custom API endpoints are registered and working, debug 404 or \"endpoint not found\" errors on custom APIs, or list custom API endpoints and their deployment status — even if they just say \"my custom API returns 404\" or \"is my endpoint deployed\"."
|
|
417
|
+
},
|
|
418
|
+
"source": "skills/b2c-cli/skills/b2c-scapi-custom/SKILL.md",
|
|
419
|
+
"headings": "B2C SCAPI Custom APIs Skill | Configuration | Tenant ID vs. Organization ID | Deriving Tenant ID from Hostname | Examples | Get Custom API Endpoint Status | Filter by Status | Group by Type or Site | Customize Output Columns | Debug Failed Registrations | Configuration Overrides | More Commands | OAuth Scopes (manual token minting) | Related Skills",
|
|
420
|
+
"files": [
|
|
421
|
+
{
|
|
422
|
+
"path": "SKILL.md",
|
|
423
|
+
"bytes": 5324,
|
|
424
|
+
"digest": "sha256:0e80963b60c31b60d89cca1d5a2dd794ff5cd40f2dd64f65d5594f3aae7bb4ce"
|
|
425
|
+
}
|
|
426
|
+
]
|
|
427
|
+
},
|
|
428
|
+
{
|
|
429
|
+
"id": "b2c-cli/b2c-scapi-schemas",
|
|
430
|
+
"collection": "b2c-cli",
|
|
431
|
+
"title": "b2c-scapi-schemas",
|
|
432
|
+
"description": "Browse and retrieve SCAPI OpenAPI schema specifications. Use this skill whenever the user needs to list available SCAPI APIs, inspect endpoint paths or request/response shapes, explore data models for products or orders, check which fields an API returns, or understand SCAPI versioning. Also use when looking up API details before building an integration -- even if they just say 'what fields does the product API return' or 'show me the SCAPI endpoints'.",
|
|
433
|
+
"entrypoint": "SKILL.md",
|
|
434
|
+
"frontmatter": {
|
|
435
|
+
"name": "b2c-scapi-schemas",
|
|
436
|
+
"description": "Browse and retrieve SCAPI OpenAPI schema specifications. Use this skill whenever the user needs to list available SCAPI APIs, inspect endpoint paths or request/response shapes, explore data models for products or orders, check which fields an API returns, or understand SCAPI versioning. Also use when looking up API details before building an integration -- even if they just say 'what fields does the product API return' or 'show me the SCAPI endpoints'."
|
|
437
|
+
},
|
|
438
|
+
"source": "skills/b2c-cli/skills/b2c-scapi-schemas/SKILL.md",
|
|
439
|
+
"headings": "SCAPI Schema CLI Examples | List Available Schemas | Filter Schemas | Get Schema (Collapsed/Outline - Default) | Get Schema with Selective Expansion | Get Full Schema | List Available Paths/Schemas/Examples | Output Formats | Custom Properties | Configuration Overrides | More Commands | B2C SCAPI Schemas Skill | Tool choice | Configuration | Tenant ID vs. Organization ID | Deriving Tenant ID from Hostname",
|
|
440
|
+
"files": [
|
|
441
|
+
{
|
|
442
|
+
"path": "references/CLI-EXAMPLES.md",
|
|
443
|
+
"bytes": 2776,
|
|
444
|
+
"digest": "sha256:7449bcc695fa7873dc650761937f19d781a18e1130cf0a53f8aec3e40c1b2572"
|
|
445
|
+
},
|
|
446
|
+
{
|
|
447
|
+
"path": "SKILL.md",
|
|
448
|
+
"bytes": 4271,
|
|
449
|
+
"digest": "sha256:6593e0cc8784c02c42167d7af8ce0568a2e158e69537c4d7a3e1cdc5000a4750"
|
|
450
|
+
}
|
|
451
|
+
]
|
|
452
|
+
},
|
|
453
|
+
{
|
|
454
|
+
"id": "b2c-cli/b2c-site-import-export",
|
|
455
|
+
"collection": "b2c-cli",
|
|
456
|
+
"title": "b2c-site-import-export",
|
|
457
|
+
"description": "Author, validate, import, and verify B2C Commerce site archives and metadata XML; export selected data for inspection or migration.",
|
|
458
|
+
"entrypoint": "SKILL.md",
|
|
459
|
+
"frontmatter": {
|
|
460
|
+
"name": "b2c-site-import-export",
|
|
461
|
+
"description": "Author, validate, import, and verify B2C Commerce site archives and metadata XML; export selected data for inspection or migration."
|
|
462
|
+
},
|
|
463
|
+
"source": "skills/b2c-cli/skills/b2c-site-import-export/SKILL.md",
|
|
464
|
+
"headings": "Import Options | Import Commands | Import Local Directory | Import Remote Archive | Apply an Ordered, Idempotent Import Set | Import Archives Larger Than the Instance Limit | Metadata XML Patterns | XSD Schema Reference | Other Import Formats | System Object Extensions | Add String Attribute to Product | Add Enum Attribute to Order | Add Boolean Attribute to Customer Profile | Site Preferences | Boolean Preference | String Preference (API Key) | Preference Values | Custom Object Types | Simple Custom Object | Custom Object Data | Content Assets | Attribute Types Reference | Complete Import Example | Archive Workflows | Common Workflows | Adding a Custom Attribute to Products | Adding Site Preferences | Creating a Custom Object Type | Importing Custom Object Data | Site Archive Structure | Site Archives | Configuration and tool choice | Import and verify | Focused references",
|
|
465
|
+
"files": [
|
|
466
|
+
{
|
|
467
|
+
"path": "references/IMPORT-OPTIONS.md",
|
|
468
|
+
"bytes": 6436,
|
|
469
|
+
"digest": "sha256:31798136ad860104a454fa1a24f1b7080fd945ac417449a874fb4a6ee5a6044c"
|
|
470
|
+
},
|
|
471
|
+
{
|
|
472
|
+
"path": "references/METADATA-XML.md",
|
|
473
|
+
"bytes": 14637,
|
|
474
|
+
"digest": "sha256:12c1ba4308d4b71c1da4df2188546f5e2940875f23e983b1735b2ac9f799d99a"
|
|
475
|
+
},
|
|
476
|
+
{
|
|
477
|
+
"path": "references/WORKFLOWS.md",
|
|
478
|
+
"bytes": 5589,
|
|
479
|
+
"digest": "sha256:b7e5189e840411be658eb9d7f6f817e8c47fa79707c4ff4de849ecdebad23cc4"
|
|
480
|
+
},
|
|
481
|
+
{
|
|
482
|
+
"path": "SKILL.md",
|
|
483
|
+
"bytes": 2952,
|
|
484
|
+
"digest": "sha256:774643b9a77c8cb389f6f9ddf54043b8c2a2ded12e25ed5312ea8b26d8643a5c"
|
|
485
|
+
}
|
|
486
|
+
]
|
|
487
|
+
},
|
|
488
|
+
{
|
|
489
|
+
"id": "b2c-cli/b2c-sites",
|
|
490
|
+
"collection": "b2c-cli",
|
|
491
|
+
"title": "b2c-sites",
|
|
492
|
+
"description": "List storefront sites, check site status, and manage cartridge paths on B2C Commerce instances using the b2c CLI. Use this skill whenever the user needs to discover site IDs, check which storefronts are online or offline, get site configuration as JSON, or view/modify the ordered cartridge path for a site or Business Manager. Also use when the user needs site information for scripting, CI/CD pipelines, or as input to other commands — even if they just say \"what sites do I have\" or \"add this cartridge to my site\".",
|
|
493
|
+
"entrypoint": "SKILL.md",
|
|
494
|
+
"frontmatter": {
|
|
495
|
+
"name": "b2c-sites",
|
|
496
|
+
"description": "List storefront sites, check site status, and manage cartridge paths on B2C Commerce instances using the b2c CLI. Use this skill whenever the user needs to discover site IDs, check which storefronts are online or offline, get site configuration as JSON, or view/modify the ordered cartridge path for a site or Business Manager. Also use when the user needs site information for scripting, CI/CD pipelines, or as input to other commands — even if they just say \"what sites do I have\" or \"add this cartridge to my site\"."
|
|
497
|
+
},
|
|
498
|
+
"source": "skills/b2c-cli/skills/b2c-sites/SKILL.md",
|
|
499
|
+
"headings": "B2C Sites Skill | Configuration & Authentication | Commands | `b2c sites list` | Cartridge Path Management | Common Use Cases | Related Skills",
|
|
500
|
+
"files": [
|
|
501
|
+
{
|
|
502
|
+
"path": "SKILL.md",
|
|
503
|
+
"bytes": 5102,
|
|
504
|
+
"digest": "sha256:bc55d1bdc1845e0356dc3671c23a9e319f56975d5acb59387125fe18d2f0222d"
|
|
505
|
+
}
|
|
506
|
+
]
|
|
507
|
+
},
|
|
508
|
+
{
|
|
509
|
+
"id": "b2c-cli/b2c-slas",
|
|
510
|
+
"collection": "b2c-cli",
|
|
511
|
+
"title": "b2c-slas",
|
|
512
|
+
"description": "Create, update, and manage SLAS (Shopper Login and API Access Service) clients using the b2c CLI. Use this skill whenever the user needs to provision a SLAS client, update OAuth scopes, rotate client secrets, get a shopper access token, or configure shopper authentication for headless, PWA, or Storefront Next (SFNext) storefronts — even if they just say \"I need a shopper token\" or \"set up auth for my storefront\".",
|
|
513
|
+
"entrypoint": "SKILL.md",
|
|
514
|
+
"frontmatter": {
|
|
515
|
+
"name": "b2c-slas",
|
|
516
|
+
"description": "Create, update, and manage SLAS (Shopper Login and API Access Service) clients using the b2c CLI. Use this skill whenever the user needs to provision a SLAS client, update OAuth scopes, rotate client secrets, get a shopper access token, or configure shopper authentication for headless, PWA, or Storefront Next (SFNext) storefronts — even if they just say \"I need a shopper token\" or \"set up auth for my storefront\"."
|
|
517
|
+
},
|
|
518
|
+
"source": "skills/b2c-cli/skills/b2c-slas/SKILL.md",
|
|
519
|
+
"headings": "B2C SLAS Skill | Configuration | When to Use | Examples | List SLAS Clients | Get SLAS Client Details | Create SLAS Client | Create Client for Custom API Testing | Get a Shopper Token | Update SLAS Client | Delete SLAS Client | Open SLAS Client | More Commands | Related Skills",
|
|
520
|
+
"files": [
|
|
521
|
+
{
|
|
522
|
+
"path": "SKILL.md",
|
|
523
|
+
"bytes": 7417,
|
|
524
|
+
"digest": "sha256:8b50ea9c51f186d0dc0fda22d214599bdb5632323563220361bc5ca43e90bd85"
|
|
525
|
+
}
|
|
526
|
+
]
|
|
527
|
+
},
|
|
528
|
+
{
|
|
529
|
+
"id": "b2c-cli/b2c-webdav",
|
|
530
|
+
"collection": "b2c-cli",
|
|
531
|
+
"title": "b2c-webdav",
|
|
532
|
+
"description": "List, upload, download, and manage files on B2C Commerce instances via WebDAV. Use this skill whenever the user needs to upload files to IMPEX directories, download exports from an instance, list remote files, create or delete directories, zip or unzip files on the server, manage file transfers to sandboxes, or browse instance file systems — even if they just say \"upload a file to the instance\" or \"check what's in the IMPEX folder\".",
|
|
533
|
+
"entrypoint": "SKILL.md",
|
|
534
|
+
"frontmatter": {
|
|
535
|
+
"name": "b2c-webdav",
|
|
536
|
+
"description": "List, upload, download, and manage files on B2C Commerce instances via WebDAV. Use this skill whenever the user needs to upload files to IMPEX directories, download exports from an instance, list remote files, create or delete directories, zip or unzip files on the server, manage file transfers to sandboxes, or browse instance file systems — even if they just say \"upload a file to the instance\" or \"check what's in the IMPEX folder\"."
|
|
537
|
+
},
|
|
538
|
+
"source": "skills/b2c-cli/skills/b2c-webdav/SKILL.md",
|
|
539
|
+
"headings": "B2C WebDAV Skill | MCP equivalent | Configuration & Authentication | WebDAV Roots | Examples | Dynamic Site Files | List Files | Download Files | Upload Files | Create Directories | Delete Files | Delete Cartridges | Zip/Unzip Remote Files | Import-Set Managed State | More Commands | Related Skills",
|
|
540
|
+
"files": [
|
|
541
|
+
{
|
|
542
|
+
"path": "SKILL.md",
|
|
543
|
+
"bytes": 6788,
|
|
544
|
+
"digest": "sha256:535197f57e1d7ad1b69b8ea7216d28aaf4da0bbbc4b5d8d0cf862ad67216d61e"
|
|
545
|
+
}
|
|
546
|
+
]
|
|
547
|
+
},
|
|
548
|
+
{
|
|
549
|
+
"id": "b2c/b2c-business-manager-extensions",
|
|
550
|
+
"collection": "b2c",
|
|
551
|
+
"title": "b2c-business-manager-extensions",
|
|
552
|
+
"description": "Build Business Manager extension cartridges with custom admin tools, menu items, and dialog actions. Use this skill whenever the user needs to create bm_* cartridges, add menu actions or dialog buttons in BM, configure bm_extensions.xml, or extend admin pages with form overlays. Also use when customizing the BM interface for back-office workflows -- even if they just say 'add a button to BM' or 'custom admin page'.",
|
|
553
|
+
"entrypoint": "SKILL.md",
|
|
554
|
+
"frontmatter": {
|
|
555
|
+
"name": "b2c-business-manager-extensions",
|
|
556
|
+
"description": "Build Business Manager extension cartridges with custom admin tools, menu items, and dialog actions. Use this skill whenever the user needs to create bm_* cartridges, add menu actions or dialog buttons in BM, configure bm_extensions.xml, or extend admin pages with form overlays. Also use when customizing the BM interface for back-office workflows -- even if they just say 'add a button to BM' or 'custom admin page'."
|
|
557
|
+
},
|
|
558
|
+
"source": "skills/b2c/skills/b2c-business-manager-extensions/SKILL.md",
|
|
559
|
+
"headings": "Business Manager Extensions XML Reference | XSD Schema Reference | File Location & Encoding | Root Element | Localized text: `LocalizedString` | Positioning | Menu Item Element | Attributes | Child Elements (in schema order) | Menu Action Element | Attributes | Child Elements | exec Element | sub-pipelines and the permission check | The `NoPermissionCheck` idiom | Dialog Action Element | Attributes | Child Elements | Common Extension Points (`xp_ref`) | Form Extension Element | formextension attributes | valueinput attributes | valueinput child elements | Complete Example | Controller Template | ISML Template | Core Business Manager Menu IDs | Site Menu (`site=\"true\"`) | Administration Menu (`site=\"false\"`) | Business Manager Extensions Skill | Overview | ⚠️ Schema essentials (read first) | File Structure | Basic bm_extensions.xml | Menu Items | Menu Actions | The `NoPermissionCheck` idiom | Dialog Actions | Form Extensions | Controller Example | Template Example | Attaching to Existing BM Menus | Enabling the Extension | Best Practices | Detailed Reference",
|
|
560
|
+
"files": [
|
|
561
|
+
{
|
|
562
|
+
"path": "references/EXTENSIONS-XML.md",
|
|
563
|
+
"bytes": 16933,
|
|
564
|
+
"digest": "sha256:0f9e14eebdea34ab383693c636ffb1d40cd7f10772fe634e821b2c00f71a4a60"
|
|
565
|
+
},
|
|
566
|
+
{
|
|
567
|
+
"path": "SKILL.md",
|
|
568
|
+
"bytes": 15768,
|
|
569
|
+
"digest": "sha256:37024f4465bedc1dc7d4907cab1d9e1b2233a9529b91fdb316f48fadc8712bdc"
|
|
570
|
+
}
|
|
571
|
+
]
|
|
572
|
+
},
|
|
573
|
+
{
|
|
574
|
+
"id": "b2c/b2c-controllers",
|
|
575
|
+
"collection": "b2c",
|
|
576
|
+
"title": "b2c-controllers",
|
|
577
|
+
"description": "Create storefront controllers using SFRA or classic patterns with server.get/post, middleware chains, and res.render/json. Use this skill whenever the user needs to build a page route, handle form submissions, create AJAX endpoints, extend or override existing controllers, or add middleware to a request pipeline. Also use when debugging route registration or response rendering -- even if they just say 'new page endpoint' or 'handle a POST request'.",
|
|
578
|
+
"entrypoint": "SKILL.md",
|
|
579
|
+
"frontmatter": {
|
|
580
|
+
"name": "b2c-controllers",
|
|
581
|
+
"description": "Create storefront controllers using SFRA or classic patterns with server.get/post, middleware chains, and res.render/json. Use this skill whenever the user needs to build a page route, handle form submissions, create AJAX endpoints, extend or override existing controllers, or add middleware to a request pipeline. Also use when debugging route registration or response rendering -- even if they just say 'new page endpoint' or 'handle a POST request'."
|
|
582
|
+
},
|
|
583
|
+
"source": "skills/b2c/skills/b2c-controllers/SKILL.md",
|
|
584
|
+
"headings": "Classic Controller Patterns | When to Use Classic Controllers | Basic Structure | Request Handling | Response Types | HTML Response (ISML) | JSON Response | XML Response | Redirect | Status Codes | Error Handling | Database Operations | HTTPS Enforcement | Authentication Check | Complete Example | Comparison: Classic vs SFRA | SFRA Controller Patterns | Basic Route Structure | HTTP Methods | Multiple Middleware | Request Object Properties | Response Methods | View Data Pattern | Route Events | Extending Controllers | Using module.superModule | Append Pattern (Most Common) | Prepend Pattern | Replace Pattern | Common Middleware Examples | Caching Middleware | Authentication Middleware | HTTPS Middleware | CSRF Protection | Form Handling | AJAX Responses | Complete Controller Example | Controllers Skill | Overview | Two Controller Patterns | File Location | SFRA Controllers (Recommended) | Request Object (req) | Response Object (res) | Middleware | Common Middleware | Route Events | Extending Controllers | Classic Controllers (Non-SFRA) | Module Imports | Error Handling | Generating URLs | Best Practices | Detailed Reference",
|
|
585
|
+
"files": [
|
|
586
|
+
{
|
|
587
|
+
"path": "references/CLASSIC-PATTERNS.md",
|
|
588
|
+
"bytes": 7982,
|
|
589
|
+
"digest": "sha256:ea43accf307455faf8736064e6433e9ce23a7c15633e0573fc737d483fd5b364"
|
|
590
|
+
},
|
|
591
|
+
{
|
|
592
|
+
"path": "references/SFRA-PATTERNS.md",
|
|
593
|
+
"bytes": 8601,
|
|
594
|
+
"digest": "sha256:a4f953214157b2aeddb6f7af3e6cf507543750d2035d967e24a5accbb84409ad"
|
|
595
|
+
},
|
|
596
|
+
{
|
|
597
|
+
"path": "SKILL.md",
|
|
598
|
+
"bytes": 8729,
|
|
599
|
+
"digest": "sha256:fe258ec5afff48fc7596e8bb1aa2523c33407ff2710043c49802844d68b24ea7"
|
|
600
|
+
}
|
|
601
|
+
]
|
|
602
|
+
},
|
|
603
|
+
{
|
|
604
|
+
"id": "b2c/b2c-custom-api-development",
|
|
605
|
+
"collection": "b2c",
|
|
606
|
+
"title": "b2c-custom-api-development",
|
|
607
|
+
"description": "Develop Custom SCAPI REST endpoints with api.json routes, schema.yaml definitions, and OAuth scope configuration. Use this skill whenever the user needs to create a custom API on the Commerce platform, define OpenAPI 3.0 schemas for request/response, structure the rest-apis cartridge folder, or debug endpoint registration and 404 issues. Also use when building headless commerce integrations, choosing between Shopper (`ShopperToken`) and Admin (`AmOAuth2`) APIs, or troubleshooting why a Custom API endpoint isn't appearing or returning 404 in `b2c scapi custom status` — even if they just say 'custom REST endpoint', 'expose my script as an API', or 'my admin custom API isn't registering'.",
|
|
608
|
+
"entrypoint": "SKILL.md",
|
|
609
|
+
"frontmatter": {
|
|
610
|
+
"name": "b2c-custom-api-development",
|
|
611
|
+
"description": "Develop Custom SCAPI REST endpoints with api.json routes, schema.yaml definitions, and OAuth scope configuration. Use this skill whenever the user needs to create a custom API on the Commerce platform, define OpenAPI 3.0 schemas for request/response, structure the rest-apis cartridge folder, or debug endpoint registration and 404 issues. Also use when building headless commerce integrations, choosing between Shopper (`ShopperToken`) and Admin (`AmOAuth2`) APIs, or troubleshooting why a Custom API endpoint isn't appearing or returning 404 in `b2c scapi custom status` — even if they just say 'custom REST endpoint', 'expose my script as an API', or 'my admin custom API isn't registering'."
|
|
612
|
+
},
|
|
613
|
+
"source": "skills/b2c/skills/b2c-custom-api-development/SKILL.md",
|
|
614
|
+
"headings": "API Contract Reference (schema.yaml) | Full Schema Example | Contract Requirements | Shopper vs Admin APIs | Admin API call contexts | Path Parameter Example | Request Body Example (POST/PUT/PATCH) | Implementation Reference (script.js) | Complete Implementation Example | Best Practices | Caching Responses | Remote Includes | External Service Calls | services.xml Example | HTTP Methods Supported | Circuit Breaker Protection | Testing Custom APIs | Prerequisites for Testing | Get a Shopper Token (Private Client) | Call Your Custom API | Testing Admin APIs | Get an Admin Token via the CLI (recommended) | Get an Admin Token via curl | Testing Tips | Common Test Failures | Custom API Development Skill | Scope & grounding | Overview | Cartridge Structure | Component 1: API Contract (schema.yaml) | Cartridge path requirements (where the platform looks up your `rest-apis/` folder) | Component 2: Implementation (script.js) | Component 3: Mapping (api.json) | Development Workflow | Deployment | When you need to re-activate the code version (`--reload`) | Authentication Setup | For Shopper APIs | For Admin APIs | Troubleshooting | Registration Issues | Related Skills | Reference Documentation",
|
|
615
|
+
"files": [
|
|
616
|
+
{
|
|
617
|
+
"path": "references/CONTRACT.md",
|
|
618
|
+
"bytes": 5263,
|
|
619
|
+
"digest": "sha256:e5b764f7a007dc17d8558e6cc1c0e59698bea00f01cf3820d5264a0958399d12"
|
|
620
|
+
},
|
|
621
|
+
{
|
|
622
|
+
"path": "references/IMPLEMENTATION.md",
|
|
623
|
+
"bytes": 4568,
|
|
624
|
+
"digest": "sha256:ebdd8e15031e263d2762d5bfd2068e3c8a64621e5876419926128ec7a433919b"
|
|
625
|
+
},
|
|
626
|
+
{
|
|
627
|
+
"path": "references/TESTING.md",
|
|
628
|
+
"bytes": 4826,
|
|
629
|
+
"digest": "sha256:d3c85c77217043e23bb43be23c98180aaccbbb56c7307181d0a10b929bf417d2"
|
|
630
|
+
},
|
|
631
|
+
{
|
|
632
|
+
"path": "SKILL.md",
|
|
633
|
+
"bytes": 14684,
|
|
634
|
+
"digest": "sha256:3bd3362e523409989340c4b6ec5ee6f5ffec6e2483516fcbf659641d399557fd"
|
|
635
|
+
}
|
|
636
|
+
]
|
|
637
|
+
},
|
|
638
|
+
{
|
|
639
|
+
"id": "b2c/b2c-custom-caches",
|
|
640
|
+
"collection": "b2c",
|
|
641
|
+
"title": "b2c-custom-caches",
|
|
642
|
+
"description": "Implement custom caching with CacheMgr, caches.json definitions, and cache region configuration. Use this skill whenever the user needs to cache expensive computations or API responses server-side, define cache regions with TTL and size limits, invalidate cache entries, or debug disappearing cache data. Also use when optimizing script performance with application-level caching -- even if they just say 'cache this data' or 'my cached values keep disappearing'.",
|
|
643
|
+
"entrypoint": "SKILL.md",
|
|
644
|
+
"frontmatter": {
|
|
645
|
+
"name": "b2c-custom-caches",
|
|
646
|
+
"description": "Implement custom caching with CacheMgr, caches.json definitions, and cache region configuration. Use this skill whenever the user needs to cache expensive computations or API responses server-side, define cache regions with TTL and size limits, invalidate cache entries, or debug disappearing cache data. Also use when optimizing script performance with application-level caching -- even if they just say 'cache this data' or 'my cached values keep disappearing'."
|
|
647
|
+
},
|
|
648
|
+
"source": "skills/b2c/skills/b2c-custom-caches/SKILL.md",
|
|
649
|
+
"headings": "B2C Custom Caches | When to Use Custom Caches | Limitations | Defining a Custom Cache | File Structure | package.json | caches.json | Using Custom Caches | Script API Classes | Basic Usage | Recommended Pattern: get with Loader | Scoped Cache Keys | Cache Methods | Best Practices | Do | Don't | Cache Invalidation | Common Patterns | Caching External API Responses | Caching Expensive Calculations | Configuration Cache with Site Scope | Troubleshooting",
|
|
650
|
+
"files": [
|
|
651
|
+
{
|
|
652
|
+
"path": "SKILL.md",
|
|
653
|
+
"bytes": 8266,
|
|
654
|
+
"digest": "sha256:4532b4e1dd070b3698951591362a6b74400837d87b08f00fb6ebee8f97584428"
|
|
655
|
+
}
|
|
656
|
+
]
|
|
657
|
+
},
|
|
658
|
+
{
|
|
659
|
+
"id": "b2c/b2c-custom-job-steps",
|
|
660
|
+
"collection": "b2c",
|
|
661
|
+
"title": "b2c-custom-job-steps",
|
|
662
|
+
"description": "Create custom job steps for B2C Commerce batch processing. Use this skill whenever the user needs to write a batch job, data export script, scheduled cleanup task, or any server-side processing that runs on a schedule. Also use when they ask about steptypes.json, chunk-oriented vs task-oriented job steps, read/process/write patterns, how to get a custom job to appear in Business Manager, or how to author and import a jobs.xml job definition (job/flow/step structure, step type, the required triggers element) so a step type becomes a runnable, schedulable job — even if they just say \"I need a script that runs nightly\" or \"batch process orders\".",
|
|
663
|
+
"entrypoint": "SKILL.md",
|
|
664
|
+
"frontmatter": {
|
|
665
|
+
"name": "b2c-custom-job-steps",
|
|
666
|
+
"description": "Create custom job steps for B2C Commerce batch processing. Use this skill whenever the user needs to write a batch job, data export script, scheduled cleanup task, or any server-side processing that runs on a schedule. Also use when they ask about steptypes.json, chunk-oriented vs task-oriented job steps, read/process/write patterns, how to get a custom job to appear in Business Manager, or how to author and import a jobs.xml job definition (job/flow/step structure, step type, the required triggers element) so a step type becomes a runnable, schedulable job — even if they just say \"I need a script that runs nightly\" or \"batch process orders\"."
|
|
667
|
+
},
|
|
668
|
+
"source": "skills/b2c/skills/b2c-custom-job-steps/SKILL.md",
|
|
669
|
+
"headings": "Chunk-Oriented Job Steps Reference | When to Use | Basic Structure | Product Export Example | Order Processing Example | Customer Sync Example | Chunk Lifecycle | Chunk Size Considerations | Transaction Handling | steptypes.json for Chunk Steps | jobs.xml Reference (Job Definitions) | Namespace & Schema | Document Structure (element order matters) | Minimal Single-Step Job | Step Element | Multi-Step Job | Triggers (required) | run-once (on-demand / manual) | run-recurring (scheduled) | Importing & Running | Common Pitfalls | Related | steptypes.json Reference | File Location | Root Structure | Task-Oriented Step Schema | Chunk-Oriented Step Schema | Step Attributes | Task Step Functions | Chunk Step Functions | Parameters | Parameter Attributes | Parameter Types | Status Codes | Complete Example | Task-Oriented Job Steps Reference | When to Use | Basic Structure | Status Codes | Step Execution Context | FTP Download Example | SFTP Example | HTTP/REST API Example | File Processing Example | Cleanup Example | steptypes.json for Task Steps | Custom Job Steps Skill | When to Use | Overview | File Structure | Step Type Definition (steptypes.json) | From Step Type to Runnable Job (jobs.xml) | Task-Oriented Steps | Script (scripts/steps/myTaskStep.js) | Status Codes | Chunk-Oriented Steps | Required Functions | Optional Functions | Script (scripts/steps/myChunkStep.js) | Parameter Types | Parameter Validation Attributes | Configuration Options | steptypes.json Attributes | Standard (System) Job Steps | Commonly used standard steps | Referencing an IMPEX-staged file from a prior step | Chaining custom + standard steps in one flow | In-flow standard step vs. the CLI equivalent | Best Practices | Related Skills | Detailed Reference",
|
|
670
|
+
"files": [
|
|
671
|
+
{
|
|
672
|
+
"path": "references/CHUNK-ORIENTED.md",
|
|
673
|
+
"bytes": 10148,
|
|
674
|
+
"digest": "sha256:1573609df21440125eaf0e86e9d543f7c982f677c3078a52edd71b3d145c895c"
|
|
675
|
+
},
|
|
676
|
+
{
|
|
677
|
+
"path": "references/JOBS-XML.md",
|
|
678
|
+
"bytes": 9451,
|
|
679
|
+
"digest": "sha256:f734d41e1666e0dc6e23af3f032494ddc1c080efaf919516003bf68b24991e00"
|
|
680
|
+
},
|
|
681
|
+
{
|
|
682
|
+
"path": "references/STEPTYPES-JSON.md",
|
|
683
|
+
"bytes": 13956,
|
|
684
|
+
"digest": "sha256:1adc753c0a17c72c944c080d0d942f30a21d185a05d9232b739690b17c11e757"
|
|
685
|
+
},
|
|
686
|
+
{
|
|
687
|
+
"path": "references/TASK-ORIENTED.md",
|
|
688
|
+
"bytes": 9967,
|
|
689
|
+
"digest": "sha256:2a78df661d2ac14481b1c35e9e25260f01e625ed2d40a370815a1c0c287483fe"
|
|
690
|
+
},
|
|
691
|
+
{
|
|
692
|
+
"path": "SKILL.md",
|
|
693
|
+
"bytes": 22735,
|
|
694
|
+
"digest": "sha256:2ed064d1a71472884d268c716fd53850d895e64f4881c8b3d95dfc80918868f3"
|
|
695
|
+
}
|
|
696
|
+
]
|
|
697
|
+
},
|
|
698
|
+
{
|
|
699
|
+
"id": "b2c/b2c-custom-objects",
|
|
700
|
+
"collection": "b2c",
|
|
701
|
+
"title": "b2c-custom-objects",
|
|
702
|
+
"description": "Store and query custom business data using CustomObjectMgr, OCAPI Data API, and Shopper Custom Objects API. Use this skill whenever the user needs to create, read, update, or search custom object instances, build processing queues with status fields, choose between site-scoped and organization-scoped storage, or query custom objects with bool/term filters. Also use when persisting non-standard data -- even if they just say 'store config per site' or 'query my custom data'.",
|
|
703
|
+
"entrypoint": "SKILL.md",
|
|
704
|
+
"frontmatter": {
|
|
705
|
+
"name": "b2c-custom-objects",
|
|
706
|
+
"description": "Store and query custom business data using CustomObjectMgr, OCAPI Data API, and Shopper Custom Objects API. Use this skill whenever the user needs to create, read, update, or search custom object instances, build processing queues with status fields, choose between site-scoped and organization-scoped storage, or query custom objects with bool/term filters. Also use when persisting non-standard data -- even if they just say 'store config per site' or 'query my custom data'."
|
|
707
|
+
},
|
|
708
|
+
"source": "skills/b2c/skills/b2c-custom-objects/SKILL.md",
|
|
709
|
+
"headings": "OCAPI Custom Object Search Reference | Search Endpoint | Request Structure | Query Types | Term Query (Exact Match) | Text Query (Full-Text Search) | Range Filter | Boolean Query | Match All Query | Filtered Query | Nested Query | Sorting | Field Selection | Response Structure | Pagination Example | Complex Query Example | Error Handling | B2C Custom Objects | When to Use Custom Objects | Custom Object Types | Script API (CustomObjectMgr) | Getting Custom Objects | Creating Custom Objects | Querying Custom Objects | Deleting Custom Objects | Getting All Objects of a Type | CustomObjectMgr API Reference | OCAPI Data API | Get Custom Object | Create Custom Object | Update Custom Object | Delete Custom Object | Search Custom Objects | Search Query Types | Shopper Custom Objects API (SCAPI) | Get Custom Object (Shopper) | Required Scopes | Searchable System Fields | Best Practices | Do | Don't | Common Patterns | Configuration Store | Processing Queue | Detailed References",
|
|
710
|
+
"files": [
|
|
711
|
+
{
|
|
712
|
+
"path": "references/OCAPI-SEARCH.md",
|
|
713
|
+
"bytes": 6388,
|
|
714
|
+
"digest": "sha256:d8ce3cac3a498ae0fe9c1fa4eff7ea790411a208a73a3d9d1d80074d773e2bc8"
|
|
715
|
+
},
|
|
716
|
+
{
|
|
717
|
+
"path": "SKILL.md",
|
|
718
|
+
"bytes": 9887,
|
|
719
|
+
"digest": "sha256:58c65b6f45b26e08edf51906f93d26ae3c9d9b7b2abb7db8b3956622cedcd1ce"
|
|
720
|
+
}
|
|
721
|
+
]
|
|
722
|
+
},
|
|
723
|
+
{
|
|
724
|
+
"id": "b2c/b2c-forms",
|
|
725
|
+
"collection": "b2c",
|
|
726
|
+
"title": "b2c-forms",
|
|
727
|
+
"description": "Build forms with validation in B2C Commerce using SFRA patterns. Use this skill whenever the user needs to create a storefront form (checkout, registration, profile edit, address, contact), define form fields in XML, handle form submission in a controller, add field validation rules, or render forms in ISML templates. Also use when they mention form XML definitions, server.forms.getForm, form groups/actions/lists, or CSRF protection on form posts — even if they just say \"I need a registration form\" or \"add validation to checkout\".",
|
|
728
|
+
"entrypoint": "SKILL.md",
|
|
729
|
+
"frontmatter": {
|
|
730
|
+
"name": "b2c-forms",
|
|
731
|
+
"description": "Build forms with validation in B2C Commerce using SFRA patterns. Use this skill whenever the user needs to create a storefront form (checkout, registration, profile edit, address, contact), define form fields in XML, handle form submission in a controller, add field validation rules, or render forms in ISML templates. Also use when they mention form XML definitions, server.forms.getForm, form groups/actions/lists, or CSRF protection on form posts — even if they just say \"I need a registration form\" or \"add validation to checkout\"."
|
|
732
|
+
},
|
|
733
|
+
"source": "skills/b2c/skills/b2c-forms/SKILL.md",
|
|
734
|
+
"headings": "Form XML Reference | XSD Schema Reference | XML Schema | Field Element | All Attributes | Field Types | String Field | Integer Field | Number Field (Decimal) | Boolean Field | Date Field | Validation Patterns | Common Regular Expressions | Custom Validation Script | Groups | Lists | Actions | Object Binding | Complete Examples | Login Form | Address Form | Registration Form with Password Confirmation | Forms Skill | Overview | File Location | Form Definition (XML) | Basic Structure | Field Types | Key Field Attributes | Validation Error Messages | Controller Logic (SFRA) | Rendering a Form | Processing Form Submission | Prepopulating Forms | Template (ISML) | Basic Form Template | Localization | Best Practices | Detailed Reference",
|
|
735
|
+
"files": [
|
|
736
|
+
{
|
|
737
|
+
"path": "references/FORM-XML.md",
|
|
738
|
+
"bytes": 11322,
|
|
739
|
+
"digest": "sha256:3d607174e082a5bf1465a0a3836aa639e7a435b494eac39ec7fa87c19acd75be"
|
|
740
|
+
},
|
|
741
|
+
{
|
|
742
|
+
"path": "SKILL.md",
|
|
743
|
+
"bytes": 7481,
|
|
744
|
+
"digest": "sha256:0c602075f7c4213e05b9afcdd53baf42f070b539c4680dd08bfda8103641f04b"
|
|
745
|
+
}
|
|
746
|
+
]
|
|
747
|
+
},
|
|
748
|
+
{
|
|
749
|
+
"id": "b2c/b2c-hooks",
|
|
750
|
+
"collection": "b2c",
|
|
751
|
+
"title": "b2c-hooks",
|
|
752
|
+
"description": "Register and implement B2C Commerce platform hooks declared in hooks.json and invoked by HookMgr during OCAPI/SCAPI requests or system events. Use for hooks.json, HookMgr.callHook(), dw.system.Status, dw.ocapi.shop.* before/after/modifyResponse hooks, dw.order.payment.authorize/authorizeCreditCard, dw.order.calculate, app.payment.processor.*, SCAPI order-payment authorization and placement, rollback semantics, and request.custom transport. Do not use for external Node.js webhooks, SFRA controller middleware or prepend/append chains, scheduled job steps in steptypes.json, or Git/CI hooks.",
|
|
753
|
+
"entrypoint": "SKILL.md",
|
|
754
|
+
"frontmatter": {
|
|
755
|
+
"name": "b2c-hooks",
|
|
756
|
+
"description": "Register and implement B2C Commerce platform hooks declared in hooks.json and invoked by HookMgr during OCAPI/SCAPI requests or system events. Use for hooks.json, HookMgr.callHook(), dw.system.Status, dw.ocapi.shop.* before/after/modifyResponse hooks, dw.order.payment.authorize/authorizeCreditCard, dw.order.calculate, app.payment.processor.*, SCAPI order-payment authorization and placement, rollback semantics, and request.custom transport. Do not use for external Node.js webhooks, SFRA controller middleware or prepend/append chains, scheduled job steps in steptypes.json, or Git/CI hooks."
|
|
757
|
+
},
|
|
758
|
+
"source": "skills/b2c/skills/b2c-hooks/SKILL.md",
|
|
759
|
+
"headings": "OCAPI/SCAPI Hooks Reference | Prerequisites | Hook Naming Convention | Complete Hook Reference | Authentication | Basket | Basket Billing Address | Basket Customer | Basket Coupon | Basket Items | Basket Gift Certificate Item | Basket Payment Instrument | Basket Payment Methods | Basket Shipment | Basket Shipment Shipping Address | Basket Shipment Shipping Method | Basket Shipments Shipping Methods | Category | Customer | Customer Auth | Customer Address | Customer Baskets | Customer Orders | Customer Password | Customer Payment Instrument | Customer Product Lists | Customer Product List Items | Gift Certificate | Order | Order Payment Instrument | Order Payment Methods | Product | Product Search | Promotion | Search Suggestion | Store | Common Patterns | Validation (return error to reject request) | Modify Response (add custom properties) | Custom Properties | Notes | Shopper Order Payment Lifecycle (SCAPI/OCAPI) | Recommended Lifecycle | Hook Responsibilities | Payment-Instrument Resolution | Success and Failure Handling | Alternative: Complete Checkout in `order.afterPOST` | Two-Hook Variant | Cross-References | System Hooks Reference | Calculate Hooks | Extension Points | Registration | SFRA Implementation | SCAPI Consideration | Payment Hooks | Extension Points | Authorization Flow | Capture Flow | Refund Flow | Order Hooks | Order Number Generation | Checkout Hooks | Return Hooks | Shipping Order Hooks | Basket Merge Hooks | Request Hooks | Custom Extension Points | Hook Execution Order | Best Practices | Calculate Hooks | Payment Hooks | General | B2C Commerce Hooks | Hook Types Overview | Hook Registration | File Structure | package.json | hooks.json | Hook Script | HookMgr API | Status Object | Return Value Behavior (Important) | When to Return a Value | When NOT to Return a Value | Summary | OCAPI/SCAPI Hooks | Hook Types | Common Hook Patterns | Passing Data Between Hooks | Detect SCAPI vs OCAPI | Headless Order Payment: Use the Order-PI Authorization Seam | Authorization Semantics | Storefront/BFF Outcome Handling | Alternative: Authorize and Place in `order.afterPOST` | `request.custom` for Inter-Hook Data Passing | System Hooks | Calculate Hooks | Payment Hooks | Order Hooks | Custom Hooks | Remote Includes in Hooks | Best Practices | Error Handling | Circuit Breaker | Timeout | Detailed References",
|
|
760
|
+
"files": [
|
|
761
|
+
{
|
|
762
|
+
"path": "references/OCAPI-SCAPI-HOOKS.md",
|
|
763
|
+
"bytes": 24101,
|
|
764
|
+
"digest": "sha256:b0e56c86042a0a1b1e6076f56e2c3d4abe26614bc6a227a36e9f240e37891e15"
|
|
765
|
+
},
|
|
766
|
+
{
|
|
767
|
+
"path": "references/ORDER-HOOK-LIFECYCLE.md",
|
|
768
|
+
"bytes": 7878,
|
|
769
|
+
"digest": "sha256:056a0e749e6d518be2e578eeb79e9234c9475402149281af0cc798ed390f2fab"
|
|
770
|
+
},
|
|
771
|
+
{
|
|
772
|
+
"path": "references/SYSTEM-HOOKS.md",
|
|
773
|
+
"bytes": 16228,
|
|
774
|
+
"digest": "sha256:065f14a6246884fa2d92041b0cef788053c11ca4901bc8a80a2aa9e8648346ad"
|
|
775
|
+
},
|
|
776
|
+
{
|
|
777
|
+
"path": "SKILL.md",
|
|
778
|
+
"bytes": 18143,
|
|
779
|
+
"digest": "sha256:70416be41a00df167b3cadfa4ceb6a32585d01d0279a1fe3129d646300afb39c"
|
|
780
|
+
}
|
|
781
|
+
]
|
|
782
|
+
},
|
|
783
|
+
{
|
|
784
|
+
"id": "b2c/b2c-isml",
|
|
785
|
+
"collection": "b2c",
|
|
786
|
+
"title": "b2c-isml",
|
|
787
|
+
"description": "Build ISML templates with isprint, isset, isloop, isdecorate, isinclude tags, and ${...} expression syntax. Use this skill whenever the user needs to write or debug storefront templates, create decorator layouts with isreplace, build reusable template modules, control HTML encoding in output, or use ISML expression language for dynamic content. Also use when fixing template rendering issues -- even if they just say 'loop through products in the template' or 'my HTML is getting escaped'.",
|
|
788
|
+
"entrypoint": "SKILL.md",
|
|
789
|
+
"frontmatter": {
|
|
790
|
+
"name": "b2c-isml",
|
|
791
|
+
"description": "Build ISML templates with isprint, isset, isloop, isdecorate, isinclude tags, and ${...} expression syntax. Use this skill whenever the user needs to write or debug storefront templates, create decorator layouts with isreplace, build reusable template modules, control HTML encoding in output, or use ISML expression language for dynamic content. Also use when fixing template rendering issues -- even if they just say 'loop through products in the template' or 'my HTML is getting escaped'."
|
|
792
|
+
},
|
|
793
|
+
"source": "skills/b2c/skills/b2c-isml/SKILL.md",
|
|
794
|
+
"headings": "ISML Expressions Reference | Expression Syntax | Property Access | Built-in Objects | pdict | session | request | response | customer | Operators | Arithmetic | Comparison | Logical | Ternary | String Concatenation | Null Check | Built-in Functions | empty() | Utility Classes | URLUtils | Resource | StringUtils | dw.util.Locale | Date/Time | Formatting Dates | Current Date | Collection Operations | Iteration | Size/Length | Check Contents | Common Patterns | Null-safe Access | Default Values | Conditional Classes | Price Formatting | Product Images | Localized Attributes | ISML Tags Reference | Control Flow Tags | isif / iselseif / iselse | isloop | isbreak / iscontinue / isnext | Variable Tags | isset | isremove | Output Tags | isprint | Template Composition | isinclude | isdecorate / isreplace | ismodule | Content Tags | iscontent | iscache | iscomment | iscomponent | Navigation Tags | isredirect | isstatus | Form Tags | isselect | Script Tag | isscript | Slot Tag | isslot | Cookie Tag | iscookie | Active Data Tags | isobject | isactivedatahead | isactivedatacontext | isanalyticsoff | Special Tags | isprint with style options | ISML Skill | Overview | File Location | Essential Tags | Conditional Logic | Loops | Variables | Output | Include Templates | Decorator Pattern | Expressions | Built-in Utilities | URLUtils | Resource (Localization) | StringUtils | Custom Modules | Caching | Content Type | Embedded Scripts | Comments | Tag Location Constraints | Best Practices | Detailed Reference",
|
|
795
|
+
"files": [
|
|
796
|
+
{
|
|
797
|
+
"path": "references/EXPRESSIONS.md",
|
|
798
|
+
"bytes": 6434,
|
|
799
|
+
"digest": "sha256:6834e7f6447c571b69695d56d82b0f75d185f1c0edfc10530151dc06b1eb3d5c"
|
|
800
|
+
},
|
|
801
|
+
{
|
|
802
|
+
"path": "references/TAGS.md",
|
|
803
|
+
"bytes": 10031,
|
|
804
|
+
"digest": "sha256:86d3b4c5d1044a6cf51ad77be7b34bd8fff1218cb8967c5a1692949b05ea61e1"
|
|
805
|
+
},
|
|
806
|
+
{
|
|
807
|
+
"path": "SKILL.md",
|
|
808
|
+
"bytes": 8627,
|
|
809
|
+
"digest": "sha256:f432b0ffd31f48b3cbafe654d7827dee9781e9c5440ddfb55f51e36be09d7b91"
|
|
810
|
+
}
|
|
811
|
+
]
|
|
812
|
+
},
|
|
813
|
+
{
|
|
814
|
+
"id": "b2c/b2c-localization",
|
|
815
|
+
"collection": "b2c",
|
|
816
|
+
"title": "b2c-localization",
|
|
817
|
+
"description": "Add translations and multi-language support to B2C Commerce storefronts. Use this skill whenever the user needs to translate a storefront, add a new locale, create or edit .properties resource bundles, display translated strings in templates, format dates or currencies for different regions, or build a language switcher. Also use when they mention Resource.msg, Resource.msgf, locale fallback, or i18n — even if they just say \"we need French translations\" or \"make this page work in multiple languages\".",
|
|
818
|
+
"entrypoint": "SKILL.md",
|
|
819
|
+
"frontmatter": {
|
|
820
|
+
"name": "b2c-localization",
|
|
821
|
+
"description": "Add translations and multi-language support to B2C Commerce storefronts. Use this skill whenever the user needs to translate a storefront, add a new locale, create or edit .properties resource bundles, display translated strings in templates, format dates or currencies for different regions, or build a language switcher. Also use when they mention Resource.msg, Resource.msgf, locale fallback, or i18n — even if they just say \"we need French translations\" or \"make this page work in multiple languages\"."
|
|
822
|
+
},
|
|
823
|
+
"source": "skills/b2c/skills/b2c-localization/SKILL.md",
|
|
824
|
+
"headings": "Localization Patterns Reference | Resource Bundle Organization | Recommended Structure | Bundle Content Patterns | Template Patterns | Page Layout | Form Labels | Pluralization | Date Formatting | Number Formatting | Controller Patterns | Locale-Aware Controller | Multi-Locale Email | JavaScript Client-Side | Passing Messages to JS | Using in JS | Special Characters | Escaping in Properties | UTF-8 Encoding | Testing Localization | Pseudo-Localization | Checklist | Localization Skill | Overview | Locale Format | Resource Bundles | Directory Structure | Property File Format | Using Resources in Templates | Parameterized Messages | Locale Fallback | Static Files | Directory Structure | Referencing Static Files | Forms Localization | Form Definition | Resource Bundle | URL Localization | Locale-Aware URLs | Language Switcher | Controller Localization | Accessing Current Locale | Locale-Specific Logic | Email Templates | Setting Locale | Currency Formatting | Date Formatting | Best Practices | Detailed Reference",
|
|
825
|
+
"files": [
|
|
826
|
+
{
|
|
827
|
+
"path": "references/PATTERNS.md",
|
|
828
|
+
"bytes": 10391,
|
|
829
|
+
"digest": "sha256:86d8c24ed6fbb09aed82eb7cb648d46e8f083e1cd63c248ca74a558b4622dfb4"
|
|
830
|
+
},
|
|
831
|
+
{
|
|
832
|
+
"path": "SKILL.md",
|
|
833
|
+
"bytes": 9168,
|
|
834
|
+
"digest": "sha256:788c2b9afe2644685045281a3a9fadad704f2e27164aa03be1ac70b7015d5cfe"
|
|
835
|
+
}
|
|
836
|
+
]
|
|
837
|
+
},
|
|
838
|
+
{
|
|
839
|
+
"id": "b2c/b2c-logging",
|
|
840
|
+
"collection": "b2c",
|
|
841
|
+
"title": "b2c-logging",
|
|
842
|
+
"description": "Implement server-side logging with dw.system.Logger, custom log categories, and named log files. Use this skill whenever the user needs to add debug or error logging to Commerce scripts, write to a dedicated log file, configure log categories and levels, or use nested diagnostic context for tracing. Also use when setting up logging in controllers, hooks, or job scripts -- even if they just say 'add logging to my script' or 'write to a custom log file'.",
|
|
843
|
+
"entrypoint": "SKILL.md",
|
|
844
|
+
"frontmatter": {
|
|
845
|
+
"name": "b2c-logging",
|
|
846
|
+
"description": "Implement server-side logging with dw.system.Logger, custom log categories, and named log files. Use this skill whenever the user needs to add debug or error logging to Commerce scripts, write to a dedicated log file, configure log categories and levels, or use nested diagnostic context for tracing. Also use when setting up logging in controllers, hooks, or job scripts -- even if they just say 'add logging to my script' or 'write to a custom log file'."
|
|
847
|
+
},
|
|
848
|
+
"source": "skills/b2c/skills/b2c-logging/SKILL.md",
|
|
849
|
+
"headings": "Log Files Reference | Log File Types | Custom Log Files | System Log Files | Custom Named Log Files | Log File Locations | WebDAV Access | Business Manager Access | Log Retention | Archive Process | Storage Limits | Custom Log Size Limits | File Count Limits | Custom Log File Quota | Log Entry Format | Standard Format | With NDC | Redundancy Tracking | Quota Log Format | Security Log Format | Import/Export Logs | Accessing Logs Programmatically | Via WebDAV Client | Via B2C CLI | Debug Logging on Production | Best Practices | 1. Monitor Log File Sizes | 2. Use Custom Named Logs for Integrations | 3. Clean Up Old Logs | 4. Configure Categories in Business Manager | 5. Use Appropriate Log Levels | Logging Skill | Overview | Log Levels | Basic Logging | Using Logger (Static Methods) | Using Log (Instance Methods) | Categories | Custom Named Log Files | File Name Rules | File Naming Pattern | Quota | Checking Log Level Status | Static Level Checks | Message Formatting | Nested Diagnostic Context (NDC) | NDC Methods | Best Practices | 1. Use Categories | 2. Check Level Before Expensive Operations | 3. Include Context in Messages | 4. Use Appropriate Levels | 5. Use Custom Log Files for Integration | 6. Don't Log Sensitive Data | Business Manager Configuration | Configuring Categories | Log Output Format | Detailed Reference | Script API Classes",
|
|
850
|
+
"files": [
|
|
851
|
+
{
|
|
852
|
+
"path": "references/LOG-FILES.md",
|
|
853
|
+
"bytes": 7369,
|
|
854
|
+
"digest": "sha256:eedf4805e18a49be46869bc6031f9d5f6c1b847ecb59c5f861325e1b17b8581d"
|
|
855
|
+
},
|
|
856
|
+
{
|
|
857
|
+
"path": "SKILL.md",
|
|
858
|
+
"bytes": 10009,
|
|
859
|
+
"digest": "sha256:ba5e6efc72f1399c4fd0515d9067c36f76d94e8fc80fe9e65dfdfd38094c5193"
|
|
860
|
+
}
|
|
861
|
+
]
|
|
862
|
+
},
|
|
863
|
+
{
|
|
864
|
+
"id": "b2c/b2c-metadata",
|
|
865
|
+
"collection": "b2c",
|
|
866
|
+
"title": "b2c-metadata",
|
|
867
|
+
"description": "Define custom attributes, custom object types, and site preferences for B2C Commerce using metadata XML. Use this skill whenever the user needs to add a field to products, orders, or customers, create a new custom object type, set up site preferences, or extend the B2C data model. Also use when they ask about system-objecttype-extensions.xml, custom-objecttype-definitions.xml, attribute groups in Business Manager, or data model definitions — even if they just say \"add a field to products\" or \"I need a new object type\".",
|
|
868
|
+
"entrypoint": "SKILL.md",
|
|
869
|
+
"frontmatter": {
|
|
870
|
+
"name": "b2c-metadata",
|
|
871
|
+
"description": "Define custom attributes, custom object types, and site preferences for B2C Commerce using metadata XML. Use this skill whenever the user needs to add a field to products, orders, or customers, create a new custom object type, set up site preferences, or extend the B2C data model. Also use when they ask about system-objecttype-extensions.xml, custom-objecttype-definitions.xml, attribute groups in Business Manager, or data model definitions — even if they just say \"add a field to products\" or \"I need a new object type\"."
|
|
872
|
+
},
|
|
873
|
+
"source": "skills/b2c/skills/b2c-metadata/SKILL.md",
|
|
874
|
+
"headings": "System Objects Reference | Product-Related | Product | ProductLineItem | Category | Order-Related | Order | Basket | Shipment | Customer-Related | Profile | CustomerAddress | Content-Related | Content | Folder | Site Configuration | SitePreferences | OrganizationPreferences | Other Objects | Store | GiftCertificate | SourceCodeGroup | Complete List of System Objects | Metadata XML Examples | XSD Schema Reference | Site Archive Structure | Adding Custom Attributes to Products | Metadata (meta/system-objecttype-extensions.xml) | Adding Custom Attributes to Orders | Custom Object Definition | Site Preferences | Metadata | Preference Values (sites/RefArch/preferences.xml) | Product Data with Custom Attributes | Custom Object Data | Metadata Skill | Scope & grounding | Overview | Site Archive Structure | System Object Extensions | Basic Structure | Common System Objects | Attribute Types | Enum Value Definitions | Product Custom Attribute Example | Custom Object Definitions | Site Preferences | Metadata (system-objecttype-extensions.xml) | Values (sites/MySite/preferences.xml) | Access in Code | Attribute Definition Options | Best Practices | Quick Reference",
|
|
875
|
+
"files": [
|
|
876
|
+
{
|
|
877
|
+
"path": "references/SYSTEM-OBJECTS.md",
|
|
878
|
+
"bytes": 9335,
|
|
879
|
+
"digest": "sha256:6b80525ccb206e6f55be7385eec5589d972ac0410b811da340fbee4542c3ea36"
|
|
880
|
+
},
|
|
881
|
+
{
|
|
882
|
+
"path": "references/XML-EXAMPLES.md",
|
|
883
|
+
"bytes": 15657,
|
|
884
|
+
"digest": "sha256:673905049e880f26d72b6c950fb84acac3022a2521863c9bf9408e6174ba9c7d"
|
|
885
|
+
},
|
|
886
|
+
{
|
|
887
|
+
"path": "SKILL.md",
|
|
888
|
+
"bytes": 17974,
|
|
889
|
+
"digest": "sha256:e064d0eb92094b59d7834933de1907b3a8cc329bf169fb4f037bfa443c396cbe"
|
|
890
|
+
}
|
|
891
|
+
]
|
|
892
|
+
},
|
|
893
|
+
{
|
|
894
|
+
"id": "b2c/b2c-onboarding",
|
|
895
|
+
"collection": "b2c",
|
|
896
|
+
"title": "b2c-onboarding",
|
|
897
|
+
"description": "Get started with Salesforce B2C Commerce development. Use this skill when the user is new to B2C Commerce, wants to set up a fresh development environment, is asking \"how do I get started\", needs to install the B2C CLI for the first time, wants to connect a sandbox, or wants to deploy their first cartridge. Triggers on phrases like \"help me get started\", \"set up B2C Commerce\", \"I'm new to this\", \"onboard me\", or \"first-time setup\". NOT for users who already have a configured environment and are asking about specific commands — those should go to the specific skill (b2c-code, b2c-sandbox, b2c-config, etc.).",
|
|
898
|
+
"entrypoint": "SKILL.md",
|
|
899
|
+
"frontmatter": {
|
|
900
|
+
"name": "b2c-onboarding",
|
|
901
|
+
"description": "Get started with Salesforce B2C Commerce development. Use this skill when the user is new to B2C Commerce, wants to set up a fresh development environment, is asking \"how do I get started\", needs to install the B2C CLI for the first time, wants to connect a sandbox, or wants to deploy their first cartridge. Triggers on phrases like \"help me get started\", \"set up B2C Commerce\", \"I'm new to this\", \"onboard me\", or \"first-time setup\". NOT for users who already have a configured environment and are asking about specific commands — those should go to the specific skill (b2c-code, b2c-sandbox, b2c-config, etc.)."
|
|
902
|
+
},
|
|
903
|
+
"source": "skills/b2c/skills/b2c-onboarding/SKILL.md",
|
|
904
|
+
"headings": "B2C Commerce Onboarding Skill | Behavioral rules | Flow | Step 1 — Identify the editor | Step 2 — Install the other B2C skills plugins | Step 3 — Verify the B2C CLI is available | Step 4 — Account Manager access check | Step 5 — Check for existing configuration | Step 6 — Initialize configuration | Step 7 — Sandbox | Step 8 — First cartridge deploy (if applicable) | Step 9 — Route to the user's goal | Reference",
|
|
905
|
+
"files": [
|
|
906
|
+
{
|
|
907
|
+
"path": "SKILL.md",
|
|
908
|
+
"bytes": 7759,
|
|
909
|
+
"digest": "sha256:3ab88befdf79fe7fcdafaaa737ef185251829e5db67cb6fec866ede6816a1aed"
|
|
910
|
+
}
|
|
911
|
+
]
|
|
912
|
+
},
|
|
913
|
+
{
|
|
914
|
+
"id": "b2c/b2c-ordering",
|
|
915
|
+
"collection": "b2c",
|
|
916
|
+
"title": "b2c-ordering",
|
|
917
|
+
"description": "Manage the order lifecycle in B2C Commerce including order creation, status transitions, failure handling, and checkout completion. Use this skill whenever the user needs to create an order from a basket, transition order status, handle failed or cancelled orders, implement payment authorization in checkout, or understand async order processing — even if they just say \"my order is stuck\" or \"finish the checkout flow\".",
|
|
918
|
+
"entrypoint": "SKILL.md",
|
|
919
|
+
"frontmatter": {
|
|
920
|
+
"name": "b2c-ordering",
|
|
921
|
+
"description": "Manage the order lifecycle in B2C Commerce including order creation, status transitions, failure handling, and checkout completion. Use this skill whenever the user needs to create an order from a basket, transition order status, handle failed or cancelled orders, implement payment authorization in checkout, or understand async order processing — even if they just say \"my order is stuck\" or \"finish the checkout flow\"."
|
|
922
|
+
},
|
|
923
|
+
"source": "skills/b2c/skills/b2c-ordering/SKILL.md",
|
|
924
|
+
"headings": "B2C Ordering | Order Lifecycle | Creating Orders | Standard Flow (Synchronous) | SCAPI Flow: Create, Authorize Through Order PI, Then Place | OrderMgr API Reference | Order Creation | Order Status | Order Queries | Querying Orders | Get Order by Number | Search Orders | Query by Date Range | Order Status Management | Cancel Order | Fail Order | Handling Failed Orders | SCAPI: Fail Order and Reopen Basket | Undo Cancelled Order | Order Properties | Custom Order Numbers | Best Practices | Do | Don't | Error Handling | Related Skills",
|
|
925
|
+
"files": [
|
|
926
|
+
{
|
|
927
|
+
"path": "SKILL.md",
|
|
928
|
+
"bytes": 12099,
|
|
929
|
+
"digest": "sha256:af239ea07f97766a8847a87521bca58c83a0aca76c3f62667653b9ce5dc9d857"
|
|
930
|
+
}
|
|
931
|
+
]
|
|
932
|
+
},
|
|
933
|
+
{
|
|
934
|
+
"id": "b2c/b2c-page-designer",
|
|
935
|
+
"collection": "b2c",
|
|
936
|
+
"title": "b2c-page-designer",
|
|
937
|
+
"description": "Define Page Designer page types and component types with regions, attributes, and rendering scripts. Use this skill whenever the user needs to create a new page or component type, configure regions with allowed component constraints, define attribute_definition_groups, debug why a component does not appear in the editor, or fix enum/color attribute pitfalls. Also use when building visual merchandising experiences -- even if they just say 'my component is missing from PD' or 'add a hero banner component'.",
|
|
938
|
+
"entrypoint": "SKILL.md",
|
|
939
|
+
"frontmatter": {
|
|
940
|
+
"name": "b2c-page-designer",
|
|
941
|
+
"description": "Define Page Designer page types and component types with regions, attributes, and rendering scripts. Use this skill whenever the user needs to create a new page or component type, configure regions with allowed component constraints, define attribute_definition_groups, debug why a component does not appear in the editor, or fix enum/color attribute pitfalls. Also use when building visual merchandising experiences -- even if they just say 'my component is missing from PD' or 'add a hero banner component'."
|
|
942
|
+
},
|
|
943
|
+
"source": "skills/b2c/skills/b2c-page-designer/SKILL.md",
|
|
944
|
+
"headings": "Page Designer Attribute Types Reference | String Types | string | text | markup | Numeric Types | integer | Boolean Type | boolean | Selection Types | enum | enum with display names | Media Types | image | file | URL Type | url | Commerce Types | product | category | page | CMS Type | cms_record | Custom Type | custom | Complete Component Example | Page Designer Meta Definitions Reference | Page Type Schema | Page Type Properties | Region Definition Properties | Component Type Schema | Component Type Properties | Attribute Definition Properties | Complete Page Type Example | Complete Component Type Example | Container Component Example | Page Script Context | Component Script Context | Page Designer Skill | Scope & grounding | Overview | File Structure | Page Types | Meta Definition (pages/homepage.json) | Page Script (pages/homepage.js) | Page Template (templates/default/experience/pages/homepage.isml) | Component Types | Meta Definition (components/banner.json) | Component Script (components/banner.js) | Component Template (templates/experience/components/banner.isml) | Attribute Types | Region Definitions | Rendering Pages | In Controllers | In ISML | Component Groups | If the component does not appear in Page Designer | Best Practices | Detailed Reference",
|
|
945
|
+
"files": [
|
|
946
|
+
{
|
|
947
|
+
"path": "references/ATTRIBUTE-TYPES.md",
|
|
948
|
+
"bytes": 8272,
|
|
949
|
+
"digest": "sha256:e40b349b6d1cb0c86d19a0946afc92ab8c93c707197db07132ec5ac6bccc7cb5"
|
|
950
|
+
},
|
|
951
|
+
{
|
|
952
|
+
"path": "references/META-DEFINITIONS.md",
|
|
953
|
+
"bytes": 10494,
|
|
954
|
+
"digest": "sha256:40d7119a6ceef1b53bd2ce01c3c6680849c9922f93056de5500074c82b5d2b2f"
|
|
955
|
+
},
|
|
956
|
+
{
|
|
957
|
+
"path": "SKILL.md",
|
|
958
|
+
"bytes": 16065,
|
|
959
|
+
"digest": "sha256:f40bc64c0a8f494fabdb1dc03e91394d5910e27c0421d06b440723c74a105bda"
|
|
960
|
+
}
|
|
961
|
+
]
|
|
962
|
+
},
|
|
963
|
+
{
|
|
964
|
+
"id": "b2c/b2c-querying-data",
|
|
965
|
+
"collection": "b2c",
|
|
966
|
+
"title": "b2c-querying-data",
|
|
967
|
+
"description": "Write efficient data queries in B2C Commerce for products, customers, and orders. Use this skill whenever the user needs to search products on a storefront page, look up customer profiles, query orders, paginate search results, or fix slow category pages. Also use when they ask about performance problems with data access, replacing database-intensive APIs with index-backed alternatives, or choosing between search vs query methods — even if they just say \"my category page is slow\" or \"how do I find customers by email\".",
|
|
968
|
+
"entrypoint": "SKILL.md",
|
|
969
|
+
"frontmatter": {
|
|
970
|
+
"name": "b2c-querying-data",
|
|
971
|
+
"description": "Write efficient data queries in B2C Commerce for products, customers, and orders. Use this skill whenever the user needs to search products on a storefront page, look up customer profiles, query orders, paginate search results, or fix slow category pages. Also use when they ask about performance problems with data access, replacing database-intensive APIs with index-backed alternatives, or choosing between search vs query methods — even if they just say \"my category page is slow\" or \"how do I find customers by email\"."
|
|
972
|
+
},
|
|
973
|
+
"source": "skills/b2c/skills/b2c-querying-data/SKILL.md",
|
|
974
|
+
"headings": "Performance-Critical APIs | Product APIs | Database-Intensive (Avoid on Storefront Pages) | Index-Friendly Replacements | Order APIs | Customer / Profile APIs | Custom Object APIs | General Query Performance Rules | Querying Data in B2C Commerce | Product Search (Storefront) | Basic Product Search | Paging Search Results | Getting Variation Data from Search Hits | Search Refinements | ProductSearchModel API Summary | Order Queries | OrderMgr.searchOrders / queryOrders | Query by Date Range | searchOrders vs queryOrders | Customer / Profile Queries | CustomerMgr (Preferred) | Batch Processing (Jobs) | Customer Query Behaviors | System Object Queries (SystemObjectMgr) | Database-Intensive APIs to Avoid | Related Skills | Best Practices | Do | Don't | Job-Specific Guidelines | Detailed References",
|
|
975
|
+
"files": [
|
|
976
|
+
{
|
|
977
|
+
"path": "references/PERFORMANCE-APIS.md",
|
|
978
|
+
"bytes": 4476,
|
|
979
|
+
"digest": "sha256:71a3a31578a2f53cfd8ded8848f32134790ed8cb83207b23591e6d6275c5ecee"
|
|
980
|
+
},
|
|
981
|
+
{
|
|
982
|
+
"path": "SKILL.md",
|
|
983
|
+
"bytes": 10421,
|
|
984
|
+
"digest": "sha256:3a5a1aac36cd143e240fd7ff14aea7d59c5df41336e6704d5bb53252669db270"
|
|
985
|
+
}
|
|
986
|
+
]
|
|
987
|
+
},
|
|
988
|
+
{
|
|
989
|
+
"id": "b2c/b2c-scapi-admin",
|
|
990
|
+
"collection": "b2c",
|
|
991
|
+
"title": "b2c-scapi-admin",
|
|
992
|
+
"description": "Build backend integrations that sync data between B2C Commerce and external systems like ERPs, OMS, WMS, or CRMs using SCAPI Admin APIs. Use this skill whenever the user needs to pull or push orders, products, inventory, or customer data programmatically from a backend service, set up server-to-server authentication with Account Manager client credentials and admin OAuth scopes, implement bulk inventory imports with NDJSON, or call any Commerce API from a script or pipeline (not a storefront). Also use when building nightly data exports, warehouse sync jobs, or customer data integrations — even if they just say \"pull orders into our ERP\" or \"sync inventory from the warehouse\".",
|
|
993
|
+
"entrypoint": "SKILL.md",
|
|
994
|
+
"frontmatter": {
|
|
995
|
+
"name": "b2c-scapi-admin",
|
|
996
|
+
"description": "Build backend integrations that sync data between B2C Commerce and external systems like ERPs, OMS, WMS, or CRMs using SCAPI Admin APIs. Use this skill whenever the user needs to pull or push orders, products, inventory, or customer data programmatically from a backend service, set up server-to-server authentication with Account Manager client credentials and admin OAuth scopes, implement bulk inventory imports with NDJSON, or call any Commerce API from a script or pipeline (not a storefront). Also use when building nightly data exports, warehouse sync jobs, or customer data integrations — even if they just say \"pull orders into our ERP\" or \"sync inventory from the warehouse\"."
|
|
997
|
+
},
|
|
998
|
+
"source": "skills/b2c/skills/b2c-scapi-admin/SKILL.md",
|
|
999
|
+
"headings": "SCAPI Client Examples | Overview | Base URL Structure | Authentication | Get Admin Token via CLI | Get Token Programmatically | Dual Scope Requirement | Account Manager Setup | API Families | Products API | Catalogs API | Orders API | Inventory Availability API | Inventory IMPEX API | Customers API | Promotions API | Request Tracking | Correlation IDs | Verbose Logging | Error Handling | Common Errors | Rate Limiting | Related Skills | Reference Documentation | Integration Patterns Reference | Inventory Sync Pattern | Real-Time Inventory Updates | Bulk Inventory Import (IMPEX) | Best Practices for Inventory IMPEX | Order Export Pattern | Polling for New Orders | Order Status Updates | Product Sync Pattern | Delta Product Updates | Customer Data Sync Pattern | Export Customers to CRM | Error Handling Pattern | Retry with Exponential Backoff | Dead Letter Queue Pattern | Token Management Pattern | Automatic Token Refresh | Monitoring Pattern | Request Logging | Scheduling Best Practices | Spread Load Over Time | Off-Peak Processing | Idempotency | Admin API OAuth Scopes Reference | Scope Format | Scope Suffix Convention | Getting Tokens with Scopes | Via CLI | Via cURL | Product API Scopes | Order API Scopes | Inventory API Scopes | Pricing API Scopes | Customer Management Scopes | Configuration Scopes | Experience Scopes | CDN API Scopes | Developer API Scopes | SLAS Admin Scopes | Recommended Scope Sets | Order Management Integration | Catalog/Product Sync | Inventory Sync | Customer Data Sync | Read-Only Analytics/Reporting | Full Admin Access | Best Practices | Principle of Least Privilege | Separate Clients for Different Integrations | Token Caching | Audit Scope Usage | Scope Errors | 403 Forbidden - Missing Scope | 403 Forbidden - Missing Tenant Scope | Invalid Scope Error | SCAPI Admin APIs | Tool choice | Execute deliberately | Conditional references",
|
|
1000
|
+
"files": [
|
|
1001
|
+
{
|
|
1002
|
+
"path": "references/CLIENT-EXAMPLES.md",
|
|
1003
|
+
"bytes": 13578,
|
|
1004
|
+
"digest": "sha256:11fccdc7fd284a5392a01c6b6aec1cc11622868c19d3c21708722e10838b9981"
|
|
1005
|
+
},
|
|
1006
|
+
{
|
|
1007
|
+
"path": "references/INTEGRATION-PATTERNS.md",
|
|
1008
|
+
"bytes": 15062,
|
|
1009
|
+
"digest": "sha256:0d1164f87cbb1cc5c54ee84ff1f0f3ca50abfc4a83d00b0428487837ff723ff9"
|
|
1010
|
+
},
|
|
1011
|
+
{
|
|
1012
|
+
"path": "references/OAUTH-SCOPES.md",
|
|
1013
|
+
"bytes": 10069,
|
|
1014
|
+
"digest": "sha256:e5fbec52987ac38bed047a8359fdd7a65a68f0e4ce3142098461fde83f4de072"
|
|
1015
|
+
},
|
|
1016
|
+
{
|
|
1017
|
+
"path": "SKILL.md",
|
|
1018
|
+
"bytes": 3525,
|
|
1019
|
+
"digest": "sha256:4cc116af06289cd956e65f0a76866942bf89d4882b42bc284b3dd92b979d9acf"
|
|
1020
|
+
}
|
|
1021
|
+
]
|
|
1022
|
+
},
|
|
1023
|
+
{
|
|
1024
|
+
"id": "b2c/b2c-scapi-shopper",
|
|
1025
|
+
"collection": "b2c",
|
|
1026
|
+
"title": "b2c-scapi-shopper",
|
|
1027
|
+
"description": "Call Shopper Commerce APIs (SCAPI) from headless storefronts and composable commerce apps. Use this skill whenever the user is building with PWA Kit, Storefront Next (SFNext), or a headless frontend and needs to search products, manage baskets, submit orders, access customer data, or set shopper context. Also use when they ask about Shopper API authentication, checkout flows from a frontend app, or performance optimization for API calls — even if they just say \"search products from my PWA\" or \"build a headless checkout\".",
|
|
1028
|
+
"entrypoint": "SKILL.md",
|
|
1029
|
+
"frontmatter": {
|
|
1030
|
+
"name": "b2c-scapi-shopper",
|
|
1031
|
+
"description": "Call Shopper Commerce APIs (SCAPI) from headless storefronts and composable commerce apps. Use this skill whenever the user is building with PWA Kit, Storefront Next (SFNext), or a headless frontend and needs to search products, manage baskets, submit orders, access customer data, or set shopper context. Also use when they ask about Shopper API authentication, checkout flows from a frontend app, or performance optimization for API calls — even if they just say \"search products from my PWA\" or \"build a headless checkout\"."
|
|
1032
|
+
},
|
|
1033
|
+
"source": "skills/b2c/skills/b2c-scapi-shopper/SKILL.md",
|
|
1034
|
+
"headings": "Checkout Flow Reference | Flow Overview | Prerequisites | Step 1: Create Basket | Step 2: Add Items | Update Item Quantity | Remove Item | Step 3: Set Customer Info | Step 4: Set Shipping Address | Step 5: Get and Select Shipping Method | Get Available Shipping Methods | Set Shipping Method | Step 6: Add Payment Instrument | Set Billing Address | Step 7: Submit Order | Step 8: Authorize the Order Payment Instrument | Step 9: Fail a Deterministically Declined Order | Single-Request Basket Creation | Multiple Shipments | Applying Promotions | Apply Coupon Code | Remove Coupon | Error Handling | Common Basket Errors | Basket Validation | SCAPI Client Examples | Overview | Base URL Structure | Configuration Values | Authentication | Create SLAS Client | Get Guest Token | Required Scopes | API Families | Shopper Products | Shopper Search | Shopper Baskets | Shopper Orders | Shopper Customers | Shopper Context API | When to Set Context | Quota Limits | Best Practices | Performance Optimization | Use `select` Parameter | Use `expand` Carefully | Enable Compression | Debugging | Correlation IDs | Verbose Logging | Related Skills | Reference Documentation | Common Patterns Reference | Response Optimization | Field Selection with `select` | Using `expand` Parameter | Compression | Pagination | Offset-Based Pagination | Response Metadata | Error Handling | Error Response Format | Common HTTP Status Codes | Error Handling Pattern | Retry with Exponential Backoff | URL Encoding | Special Characters | Query Parameters | Caching Strategies | Client-Side Caching | CDN Cache Headers | Request Batching | Multiple Products | Parallel Requests | Debugging Requests | Include Correlation ID | Verbose Logging | Log Request/Response | Shopper API Scopes Reference | Scope Overview | Scope Categories | Product APIs | Search APIs | Checkout APIs | Customer APIs | Pricing APIs | Store APIs | Context APIs | Configuration APIs | Product Lists APIs | Special Scopes | Authentication Scopes | Trusted Agent/System Scopes | AI Agent Scope | Custom Scopes | Default Scopes | Recommended Scope Sets | Basic Shopping App (PWA Kit) | Read-Only Catalog Browser | Guest Checkout Only | Full Customer Experience | Best Practices | Minimize Scope Set | Avoid Redundant Scopes | Separate Clients for Different Purposes | Don't Mix Admin and Shopper Scopes | Verifying Token Scopes | Shopper Commerce APIs | Tool choice | Integration essentials | Conditional references",
|
|
1035
|
+
"files": [
|
|
1036
|
+
{
|
|
1037
|
+
"path": "references/CHECKOUT-FLOW.md",
|
|
1038
|
+
"bytes": 14479,
|
|
1039
|
+
"digest": "sha256:0fdae15001e3bab0dc931891d60f3f63e5ad2ba7183cf3583c3b4af73a59fe4c"
|
|
1040
|
+
},
|
|
1041
|
+
{
|
|
1042
|
+
"path": "references/CLIENT-EXAMPLES.md",
|
|
1043
|
+
"bytes": 11640,
|
|
1044
|
+
"digest": "sha256:cb703b0dd6dd5a2f90264694a757fd24ac0f7f3c286bdceae28fa1dae7a854fa"
|
|
1045
|
+
},
|
|
1046
|
+
{
|
|
1047
|
+
"path": "references/COMMON-PATTERNS.md",
|
|
1048
|
+
"bytes": 9837,
|
|
1049
|
+
"digest": "sha256:d3337f184a6e7521205c9d980d3f09315503897f78b14542da220d3401c010e5"
|
|
1050
|
+
},
|
|
1051
|
+
{
|
|
1052
|
+
"path": "references/SCOPES.md",
|
|
1053
|
+
"bytes": 8446,
|
|
1054
|
+
"digest": "sha256:09af9a4012deba400e1a45dcc5d76ffaeb57ee9c2cb1f2ea9692b8140e729e6f"
|
|
1055
|
+
},
|
|
1056
|
+
{
|
|
1057
|
+
"path": "SKILL.md",
|
|
1058
|
+
"bytes": 3413,
|
|
1059
|
+
"digest": "sha256:16ab740894ab046c5904e2e9c50ba1dcedacbb38cb618905a4b477e74017af90"
|
|
1060
|
+
}
|
|
1061
|
+
]
|
|
1062
|
+
},
|
|
1063
|
+
{
|
|
1064
|
+
"id": "b2c/b2c-slas-auth-patterns",
|
|
1065
|
+
"collection": "b2c",
|
|
1066
|
+
"title": "b2c-slas-auth-patterns",
|
|
1067
|
+
"description": "Implement SLAS authentication patterns in B2C Commerce including passwordless login (email OTP, SMS OTP, passkeys), session bridging between PWA Kit/Storefront Next and SFRA, hybrid authentication (B2C 25.3+), token refresh flows, trusted system on behalf of (TSOB), and JWT validation. Use this skill whenever the user asks about shopper authentication beyond basic login, token exchange flows, passwordless or biometric auth, keeping sessions alive across storefronts, handling 409 Conflict errors on token endpoints, refreshing shopper tokens, or validating JWTs — even if they don't mention SLAS by name.",
|
|
1068
|
+
"entrypoint": "SKILL.md",
|
|
1069
|
+
"frontmatter": {
|
|
1070
|
+
"name": "b2c-slas-auth-patterns",
|
|
1071
|
+
"description": "Implement SLAS authentication patterns in B2C Commerce including passwordless login (email OTP, SMS OTP, passkeys), session bridging between PWA Kit/Storefront Next and SFRA, hybrid authentication (B2C 25.3+), token refresh flows, trusted system on behalf of (TSOB), and JWT validation. Use this skill whenever the user asks about shopper authentication beyond basic login, token exchange flows, passwordless or biometric auth, keeping sessions alive across storefronts, handling 409 Conflict errors on token endpoints, refreshing shopper tokens, or validating JWTs — even if they don't mention SLAS by name."
|
|
1072
|
+
},
|
|
1073
|
+
"source": "skills/b2c/skills/b2c-slas-auth-patterns/SKILL.md",
|
|
1074
|
+
"headings": "Passkeys (FIDO2/WebAuthn) | Registration Flow (3 Steps) | Authentication Flow | Session Bridge Reference | Token Types | PWA Kit to SFRA | Step 1: Generate Bridge Tokens | Step 2: Redirect with Tokens | Step 3: SFRA Establishes Session | SFRA to PWA Kit | Step 1: Generate Bridge Tokens in SFRA | Step 2: Redirect to PWA Kit | Step 3: PWA Kit Handles Callback | Hybrid Navigation Component | Error Handling | Security Considerations | Testing | Token Lifecycle Reference | Token Types and Expiry | Access Token Lifecycle | Best Practices for Access Tokens | Refresh Token Patterns | Public Client (Single-Use) | Private Client (Reusable) | Token Rotation Strategy | Public Clients - Handle Race Conditions | Storage Strategies | Session Timeout Handling | Proactive Refresh | Activity-Based Extension | Guest to Registered Transition | Logout and Token Revocation | Error Handling Reference | Debugging Token Issues | B2C SLAS Authentication Patterns | Scope & grounding | Canonical docs | Authentication Methods Overview | Passwordless Email OTP | Flow Overview | Step 1: Initiate Passwordless Login | Step 2: Handle Callback and Send OTP | Step 3: Exchange OTP for Tokens | Rate Limits | Passwordless SMS OTP | Using Marketing Cloud | Custom SMS Provider | Passkeys (FIDO2/WebAuthn) | Session Bridge | Hybrid Authentication (B2C 25.3+) | Benefits | Migration from Plugin SLAS | Token Refresh | Public Clients (Single-Use Refresh) | Private Clients (Reusable Refresh) | Trusted System on Behalf (TSOB) | Use Cases | Get Token on Behalf of Shopper | Important Constraints | Required Configuration | JWT Validation | Get JWKS | Validate Token | Token Claims | Best Practices | Security | Token Management | User Experience | Detailed References",
|
|
1075
|
+
"files": [
|
|
1076
|
+
{
|
|
1077
|
+
"path": "references/PASSKEYS.md",
|
|
1078
|
+
"bytes": 4525,
|
|
1079
|
+
"digest": "sha256:5db9c6ec4cdaf104abd27d719ce571fe4bd5625d3d2bc042aaff5dd164768ca2"
|
|
1080
|
+
},
|
|
1081
|
+
{
|
|
1082
|
+
"path": "references/SESSION-BRIDGE.md",
|
|
1083
|
+
"bytes": 7808,
|
|
1084
|
+
"digest": "sha256:bc87a942ac18354c1bef45061e0f69710f6277e7067ab3a910f434955efa1593"
|
|
1085
|
+
},
|
|
1086
|
+
{
|
|
1087
|
+
"path": "references/TOKEN-LIFECYCLE.md",
|
|
1088
|
+
"bytes": 9793,
|
|
1089
|
+
"digest": "sha256:c4b633234099d93ceeae2bab3eefdf5e06334d57ae1f21fd90751969239e79f2"
|
|
1090
|
+
},
|
|
1091
|
+
{
|
|
1092
|
+
"path": "SKILL.md",
|
|
1093
|
+
"bytes": 15862,
|
|
1094
|
+
"digest": "sha256:21b7df8c751c60828c76097d2f5de2f45c5a791dc9e9bfb25524278e2ec3d2ec"
|
|
1095
|
+
}
|
|
1096
|
+
]
|
|
1097
|
+
},
|
|
1098
|
+
{
|
|
1099
|
+
"id": "b2c/b2c-webservices",
|
|
1100
|
+
"collection": "b2c",
|
|
1101
|
+
"title": "b2c-webservices",
|
|
1102
|
+
"description": "Implement web service integrations in B2C Commerce using LocalServiceRegistry. Use this skill whenever the user needs to call external REST or SOAP APIs from a cartridge, configure service credentials and profiles in services.xml, handle HTTP requests with createRequest/parseResponse callbacks, set up FTP or SFTP file transfers, or troubleshoot circuit breaker errors. Also use when connecting to payment gateways, shipping providers, or third-party services -- even if they just say 'call an external API from my controller' or 'my service keeps timing out'.",
|
|
1103
|
+
"entrypoint": "SKILL.md",
|
|
1104
|
+
"frontmatter": {
|
|
1105
|
+
"name": "b2c-webservices",
|
|
1106
|
+
"description": "Implement web service integrations in B2C Commerce using LocalServiceRegistry. Use this skill whenever the user needs to call external REST or SOAP APIs from a cartridge, configure service credentials and profiles in services.xml, handle HTTP requests with createRequest/parseResponse callbacks, set up FTP or SFTP file transfers, or troubleshoot circuit breaker errors. Also use when connecting to payment gateways, shipping providers, or third-party services -- even if they just say 'call an external API from my controller' or 'my service keeps timing out'."
|
|
1107
|
+
},
|
|
1108
|
+
"source": "skills/b2c/skills/b2c-webservices/SKILL.md",
|
|
1109
|
+
"headings": "FTP/SFTP Services Reference | FTPService Methods | Configuration Styles | Style 1: setOperation (Simple) | Style 2: execute (Advanced) | SFTP Operations | List Directory | Download File | Download to String | Download to Local File | Upload File | Upload String Content | Upload Local File | Delete File | Create Directory | Move/Rename File | Complex Multi-Operation Example | Keep Connection Open | SFTP Key Authentication | File Info | Mock FTP Operations | FTP (Legacy) | HTTP Services Reference | HTTPService Methods | HTTPClient Properties (in parseResponse) | REST API Examples | GET Request | POST with JSON Body | PUT Request | DELETE Request | GET with Query Parameters | Authentication Patterns | Basic Authentication | Bearer Token (OAuth) | API Key Authentication | OAuth 2.0 Client Credentials Flow | Form Submissions (HTTPForm) | Multipart Form Data | Downloading Files | Response Caching | Custom HTTP Client Configuration | Mutual TLS (mTLS) | XML API Example | Error Response Handling | Services XML Import/Export Reference | XSD Schema Reference | XML Namespace | XML Structure | Service Credential | Credential Elements | Password Encryption | Credential with Custom Attributes | Service Profile | Profile Elements | Profile Examples | Service | Service Elements | Service Types | Complete Example | Delete Mode | Import via CLI | Export via Business Manager | Best Practices | SOAP Services Reference | SOAPService Methods | SOAP Service Setup | 1. Upload WSDL | 2. Generate Stub | 3. Create Service Configuration | Basic SOAP Service | Alternative: Set Client in createRequest | WS-Security | WSUtil Methods | WS-Security with Timestamps | Custom SOAP Headers | Handling Complex Types | Error Handling | Mock SOAP Services | Multiple Operations | Setting SOAP Endpoint | MTOM/Attachments | Web Services Skill | Overview | Service Types | Service Framework Components | Business Manager Configuration | Script Components | Basic Pattern | Service Callbacks | Result Object | Unavailable Reasons | Error Handling | Log Filtering | Mocking Services | Service Configuration in Business Manager | Creating a Service | Service Profile Settings | Service Credential Settings | Detailed References | Script API Classes",
|
|
1110
|
+
"files": [
|
|
1111
|
+
{
|
|
1112
|
+
"path": "references/FTP-SERVICES.md",
|
|
1113
|
+
"bytes": 12987,
|
|
1114
|
+
"digest": "sha256:d3111c6f13f61e103f7270acb204e7d626e4fe248558417fdd5124f5754d5e75"
|
|
1115
|
+
},
|
|
1116
|
+
{
|
|
1117
|
+
"path": "references/HTTP-SERVICES.md",
|
|
1118
|
+
"bytes": 14908,
|
|
1119
|
+
"digest": "sha256:b316510bd7eaa1442867c5d3af5eeb6aa1ab6fe822454afea3e55471fb262a7f"
|
|
1120
|
+
},
|
|
1121
|
+
{
|
|
1122
|
+
"path": "references/SERVICES-XML.md",
|
|
1123
|
+
"bytes": 10962,
|
|
1124
|
+
"digest": "sha256:56957d8b4c2a3cd837916f38837dda93b5240a5862699aacceed408a0cfb335d"
|
|
1125
|
+
},
|
|
1126
|
+
{
|
|
1127
|
+
"path": "references/SOAP-SERVICES.md",
|
|
1128
|
+
"bytes": 17847,
|
|
1129
|
+
"digest": "sha256:fe60cd3cfa790793f7ff7329762fcaebdf0d56dbaf38879a0b13b39de9e0f1e3"
|
|
1130
|
+
},
|
|
1131
|
+
{
|
|
1132
|
+
"path": "SKILL.md",
|
|
1133
|
+
"bytes": 10289,
|
|
1134
|
+
"digest": "sha256:bc74d850f4d2f97cfd69d00e52f4c18142f8882ff3ba7e81763ef54fdc14ee6c"
|
|
1135
|
+
}
|
|
1136
|
+
]
|
|
1137
|
+
},
|
|
1138
|
+
{
|
|
1139
|
+
"id": "b2c-ops/b2c-checkout-triage",
|
|
1140
|
+
"collection": "b2c-ops",
|
|
1141
|
+
"title": "b2c-checkout-triage",
|
|
1142
|
+
"description": "Investigate B2C Commerce checkout or payment failures, increased failed orders, or falling order volume. Compare bounded order evidence, integration logs and affected data; separate payment failures from traffic and reporting gaps.",
|
|
1143
|
+
"entrypoint": "SKILL.md",
|
|
1144
|
+
"frontmatter": {
|
|
1145
|
+
"name": "b2c-checkout-triage",
|
|
1146
|
+
"description": "Investigate B2C Commerce checkout or payment failures, increased failed orders, or falling order volume. Compare bounded order evidence, integration logs and affected data; separate payment failures from traffic and reporting gaps."
|
|
1147
|
+
},
|
|
1148
|
+
"source": "skills/b2c-ops/skills/b2c-checkout-triage/SKILL.md",
|
|
1149
|
+
"headings": "Checkout and payment triage | Scope and impact | Access and tools | Checks and decisions | Mitigation and recovery | Escalation and handoff",
|
|
1150
|
+
"files": [
|
|
1151
|
+
{
|
|
1152
|
+
"path": "SKILL.md",
|
|
1153
|
+
"bytes": 5342,
|
|
1154
|
+
"digest": "sha256:b89cb4497f5da00a633c2ecd2eb518c5b1f86adc3bfd88b17cab01577624b542"
|
|
1155
|
+
}
|
|
1156
|
+
]
|
|
1157
|
+
},
|
|
1158
|
+
{
|
|
1159
|
+
"id": "b2c-ops/b2c-job-health",
|
|
1160
|
+
"collection": "b2c-ops",
|
|
1161
|
+
"title": "b2c-job-health",
|
|
1162
|
+
"description": "Review B2C Commerce scheduled jobs during routine operations or investigate failed jobs, missing runs, stale imports, and green executions with incomplete results. Check logs and business data before proposing a rerun.",
|
|
1163
|
+
"entrypoint": "SKILL.md",
|
|
1164
|
+
"frontmatter": {
|
|
1165
|
+
"name": "b2c-job-health",
|
|
1166
|
+
"description": "Review B2C Commerce scheduled jobs during routine operations or investigate failed jobs, missing runs, stale imports, and green executions with incomplete results. Check logs and business data before proposing a rerun."
|
|
1167
|
+
},
|
|
1168
|
+
"source": "skills/b2c-ops/skills/b2c-job-health/SKILL.md",
|
|
1169
|
+
"headings": "Job execution logs | Job health | Scope and impact | Access and tools | Checks and decisions | Mitigation and recovery | Escalation and handoff",
|
|
1170
|
+
"files": [
|
|
1171
|
+
{
|
|
1172
|
+
"path": "references/job-logs.md",
|
|
1173
|
+
"bytes": 1263,
|
|
1174
|
+
"digest": "sha256:02f547f12826fe7319f8c042e9b547b49edf06e554163e8e439e0ccb4703443f"
|
|
1175
|
+
},
|
|
1176
|
+
{
|
|
1177
|
+
"path": "SKILL.md",
|
|
1178
|
+
"bytes": 4877,
|
|
1179
|
+
"digest": "sha256:4db9a548adf76c86e0385231ece99a7c6cee5ce5547aef16007269cb58f86459"
|
|
1180
|
+
}
|
|
1181
|
+
]
|
|
1182
|
+
},
|
|
1183
|
+
{
|
|
1184
|
+
"id": "b2c-ops/b2c-order-failure-triage",
|
|
1185
|
+
"collection": "b2c-ops",
|
|
1186
|
+
"title": "b2c-order-failure-triage",
|
|
1187
|
+
"description": "Find and investigate FAILED B2C Commerce orders, quantify their share of indexed orders, and correlate failed inputs with logs and jobs. Covers SCAPI status-filter limitations and the OCAPI Shop order_search fallback.",
|
|
1188
|
+
"entrypoint": "SKILL.md",
|
|
1189
|
+
"frontmatter": {
|
|
1190
|
+
"name": "b2c-order-failure-triage",
|
|
1191
|
+
"description": "Find and investigate FAILED B2C Commerce orders, quantify their share of indexed orders, and correlate failed inputs with logs and jobs. Covers SCAPI status-filter limitations and the OCAPI Shop order_search fallback."
|
|
1192
|
+
},
|
|
1193
|
+
"source": "skills/b2c-ops/skills/b2c-order-failure-triage/SKILL.md",
|
|
1194
|
+
"headings": "Failed-order search recipe | Choose a supported surface | Access and execution | Bounded query recipe | Errors and interpretation | Failed-order triage | Scope and impact | Access and tools | Checks and decisions | Mitigation and recovery | Escalation and handoff",
|
|
1195
|
+
"files": [
|
|
1196
|
+
{
|
|
1197
|
+
"path": "references/order-evidence.md",
|
|
1198
|
+
"bytes": 4101,
|
|
1199
|
+
"digest": "sha256:f4243f4eeceaf7a716d54899e14eb4c8bc1d664acfb8bad2ef026a7763fecfd8"
|
|
1200
|
+
},
|
|
1201
|
+
{
|
|
1202
|
+
"path": "SKILL.md",
|
|
1203
|
+
"bytes": 5273,
|
|
1204
|
+
"digest": "sha256:26bec20c884e9bd51830ee53c7a1fb0d6942789aa1c199fa391d912b11f2aaff"
|
|
1205
|
+
}
|
|
1206
|
+
]
|
|
1207
|
+
},
|
|
1208
|
+
{
|
|
1209
|
+
"id": "b2c-ops/b2c-production-triage",
|
|
1210
|
+
"collection": "b2c-ops",
|
|
1211
|
+
"title": "b2c-production-triage",
|
|
1212
|
+
"description": "Investigate B2C Commerce incidents using B2C MCP logs, SCAPI code-mode job/data reads, and CLI fallbacks. Route error spikes, stale data, or checkout failures to focused runbooks and produce a team or Support handoff.",
|
|
1213
|
+
"entrypoint": "SKILL.md",
|
|
1214
|
+
"frontmatter": {
|
|
1215
|
+
"name": "b2c-production-triage",
|
|
1216
|
+
"description": "Investigate B2C Commerce incidents using B2C MCP logs, SCAPI code-mode job/data reads, and CLI fallbacks. Route error spikes, stale data, or checkout failures to focused runbooks and produce a team or Support handoff."
|
|
1217
|
+
},
|
|
1218
|
+
"source": "skills/b2c-ops/skills/b2c-production-triage/SKILL.md",
|
|
1219
|
+
"headings": "Escalation and support cases | Select the owner | Case or handoff draft | Official platform guidance | Production triage | Scope and impact | Access and tools | Checks and decisions | Mitigation and recovery | Escalation and handoff",
|
|
1220
|
+
"files": [
|
|
1221
|
+
{
|
|
1222
|
+
"path": "references/escalation.md",
|
|
1223
|
+
"bytes": 5594,
|
|
1224
|
+
"digest": "sha256:819e7f10cebee20d0d633118f3afbb0acb92edce460c8ade1f5a32fbf4ca0c1b"
|
|
1225
|
+
},
|
|
1226
|
+
{
|
|
1227
|
+
"path": "SKILL.md",
|
|
1228
|
+
"bytes": 7654,
|
|
1229
|
+
"digest": "sha256:f2dd75959557d4e611989637cbb09783f8b4095a788152a09cb6074b420e8450"
|
|
1230
|
+
}
|
|
1231
|
+
]
|
|
1232
|
+
},
|
|
1233
|
+
{
|
|
1234
|
+
"id": "storefront-next/sfnext-accessibility",
|
|
1235
|
+
"collection": "storefront-next",
|
|
1236
|
+
"title": "sfnext-accessibility",
|
|
1237
|
+
"description": "Build and fix accessible UI in a Storefront Next storefront (WCAG 2.1 AA): jsx-a11y lint findings, missing accessible names and labels, form error association, dialog focus management, aria-live status messages, keyboard behavior, color contrast, and verifying fixes with Storybook a11y/play() tests and the e2e axe scan with its baseline. Use for \"accessibility\", \"a11y\", \"WCAG\", \"screen reader\", \"aria-label\", \"focus trap\", \"axe violation\", pnpm lint:a11y, pnpm a11y, a11y-baseline.json, skip-a11y, STORYBOOK_A11Y_TEST_MODE, or an accessibility audit finding to fix. Do not use for general lint/typecheck gates (use `storefront-next:sfnext-quality-gates`), writing non-accessibility tests (use `storefront-next:sfnext-testing`), or color/token design (use `storefront-next:sfnext-theming`).",
|
|
1238
|
+
"entrypoint": "SKILL.md",
|
|
1239
|
+
"frontmatter": {
|
|
1240
|
+
"name": "sfnext-accessibility",
|
|
1241
|
+
"description": "Build and fix accessible UI in a Storefront Next storefront (WCAG 2.1 AA): jsx-a11y lint findings, missing accessible names and labels, form error association, dialog focus management, aria-live status messages, keyboard behavior, color contrast, and verifying fixes with Storybook a11y/play() tests and the e2e axe scan with its baseline. Use for \"accessibility\", \"a11y\", \"WCAG\", \"screen reader\", \"aria-label\", \"focus trap\", \"axe violation\", pnpm lint:a11y, pnpm a11y, a11y-baseline.json, skip-a11y, STORYBOOK_A11Y_TEST_MODE, or an accessibility audit finding to fix. Do not use for general lint/typecheck gates (use `storefront-next:sfnext-quality-gates`), writing non-accessibility tests (use `storefront-next:sfnext-testing`), or color/token design (use `storefront-next:sfnext-theming`)."
|
|
1242
|
+
},
|
|
1243
|
+
"source": "skills/storefront-next/skills/sfnext-accessibility/SKILL.md",
|
|
1244
|
+
"headings": "Accessibility checklists | Classify a finding | States to exercise | Keyboard pass (per page or component) | Forms | Images and media | Content and structure | Where to run what | Storefront Next Accessibility | Author accessibly by default | Fix the right layer | Reproduce, fix, confirm | Storybook: a11y addon and play() assertions | e2e axe scan and baseline | Translated text | Related Skills",
|
|
1245
|
+
"files": [
|
|
1246
|
+
{
|
|
1247
|
+
"path": "references/checklist.md",
|
|
1248
|
+
"bytes": 3350,
|
|
1249
|
+
"digest": "sha256:aa6b37d77fd6cdf0eae9b2c6640e160d05c0d5467c4735200104cb91334625ff"
|
|
1250
|
+
},
|
|
1251
|
+
{
|
|
1252
|
+
"path": "SKILL.md",
|
|
1253
|
+
"bytes": 8319,
|
|
1254
|
+
"digest": "sha256:98b843b955571fd76a6e6b848af9191096607785d25d3d3bba529624f345800b"
|
|
1255
|
+
}
|
|
1256
|
+
]
|
|
1257
|
+
},
|
|
1258
|
+
{
|
|
1259
|
+
"id": "storefront-next/sfnext-analytics-consent",
|
|
1260
|
+
"collection": "storefront-next",
|
|
1261
|
+
"title": "sfnext-analytics-consent",
|
|
1262
|
+
"description": "Storefront Next analytics: engagement adapters (Einstein, Active Data, Data 360), adding a custom adapter, tracking consent gating, PageViewTracker, useAnalytics events, and first-touch attribution (dw_attribution). Use when configuring engagement.adapters in config.server.ts, writing an adapter with hasConsent, registering it in initializeEngagementAdapters, wiring the consent banner (trackingConsent, consentCategories, dw_dnt), firing trackViewProduct/trackCartItemAdd events, debugging why no analytics events are sent, or passing campaign attribution to orders. Do not use for general config loading or env vars (use `storefront-next:sfnext-configuration`), CSP/script allowlisting of third-party tags (use `storefront-next:sfnext-security`), or SEO meta/JSON-LD (use `storefront-next:sfnext-seo`).",
|
|
1263
|
+
"entrypoint": "SKILL.md",
|
|
1264
|
+
"frontmatter": {
|
|
1265
|
+
"name": "sfnext-analytics-consent",
|
|
1266
|
+
"description": "Storefront Next analytics: engagement adapters (Einstein, Active Data, Data 360), adding a custom adapter, tracking consent gating, PageViewTracker, useAnalytics events, and first-touch attribution (dw_attribution). Use when configuring engagement.adapters in config.server.ts, writing an adapter with hasConsent, registering it in initializeEngagementAdapters, wiring the consent banner (trackingConsent, consentCategories, dw_dnt), firing trackViewProduct/trackCartItemAdd events, debugging why no analytics events are sent, or passing campaign attribution to orders. Do not use for general config loading or env vars (use `storefront-next:sfnext-configuration`), CSP/script allowlisting of third-party tags (use `storefront-next:sfnext-security`), or SEO meta/JSON-LD (use `storefront-next:sfnext-seo`)."
|
|
1267
|
+
},
|
|
1268
|
+
"source": "skills/storefront-next/skills/sfnext-analytics-consent/SKILL.md",
|
|
1269
|
+
"headings": "Writing a custom engagement adapter | 1. Implement | 2. Register | 3. Configure | 4. Allow the endpoint in CSP | 5. Test | Storefront Next Analytics and Consent | Where things live | Configure built-in adapters | Fire events | Consent | Add a custom adapter | Attribution | Troubleshooting | Related Skills",
|
|
1270
|
+
"files": [
|
|
1271
|
+
{
|
|
1272
|
+
"path": "references/CUSTOM-ADAPTER.md",
|
|
1273
|
+
"bytes": 1960,
|
|
1274
|
+
"digest": "sha256:04e693a952002bc0f4e0e715dda994a3202bf15034b6fccfbc268bd2f467372c"
|
|
1275
|
+
},
|
|
1276
|
+
{
|
|
1277
|
+
"path": "SKILL.md",
|
|
1278
|
+
"bytes": 6373,
|
|
1279
|
+
"digest": "sha256:8cb5f6ce591e95361bda4b889eec1b82d5c0a526fb03cc4b7eab5be7504abbe3"
|
|
1280
|
+
}
|
|
1281
|
+
]
|
|
1282
|
+
},
|
|
1283
|
+
{
|
|
1284
|
+
"id": "storefront-next/sfnext-authentication",
|
|
1285
|
+
"collection": "storefront-next",
|
|
1286
|
+
"title": "sfnext-authentication",
|
|
1287
|
+
"description": "Work with Storefront Next's server-only authentication and session architecture (SLAS guest/registered tokens, httpOnly cookies, auth.server.ts middleware). Use for getAuth, useAuth, updateAuth, destroyAuth, protecting account routes, login/logout actions, guest-to-registered basket/wishlist merge, \"session expired\" redirects, 401 recovery loops, cc-at/cc-nx/usid/dwsid cookies, cookie names or expiry, passwordless login, social login, OTP email verification, passkeys, guest order lookup, or refresh-token lifetime settings. Do not use for Turnstile, CSP headers or cookie-domain config (use `storefront-next:sfnext-security`), calling SCAPI clients (use `storefront-next:sfnext-scapi`), or sharing sessions with SFRA (use `storefront-next:sfnext-hybrid-storefronts`).",
|
|
1288
|
+
"entrypoint": "SKILL.md",
|
|
1289
|
+
"frontmatter": {
|
|
1290
|
+
"name": "sfnext-authentication",
|
|
1291
|
+
"description": "Work with Storefront Next's server-only authentication and session architecture (SLAS guest/registered tokens, httpOnly cookies, auth.server.ts middleware). Use for getAuth, useAuth, updateAuth, destroyAuth, protecting account routes, login/logout actions, guest-to-registered basket/wishlist merge, \"session expired\" redirects, 401 recovery loops, cc-at/cc-nx/usid/dwsid cookies, cookie names or expiry, passwordless login, social login, OTP email verification, passkeys, guest order lookup, or refresh-token lifetime settings. Do not use for Turnstile, CSP headers or cookie-domain config (use `storefront-next:sfnext-security`), calling SCAPI clients (use `storefront-next:sfnext-scapi`), or sharing sessions with SFRA (use `storefront-next:sfnext-hybrid-storefronts`)."
|
|
1292
|
+
},
|
|
1293
|
+
"source": "skills/storefront-next/skills/sfnext-authentication/SKILL.md",
|
|
1294
|
+
"headings": "Storefront Next Auth Cookies | Rules | Debugging checklist | Login Flows | Passwordless (magic link) and OTP | Email delivery (email cartridge) | Social login | Passkeys | Guest order lookup | Bot protection on login | Storefront Next Authentication | Request flow | Read auth on the server | Read auth in components | Protect a route | Log in and out | Guest to registered merge | Common SCAPI calls for account data | Configuration | Pitfalls | References | Related Skills",
|
|
1295
|
+
"files": [
|
|
1296
|
+
{
|
|
1297
|
+
"path": "references/COOKIES.md",
|
|
1298
|
+
"bytes": 4608,
|
|
1299
|
+
"digest": "sha256:b011903a96093ab63e11858e458b945a91084f237e80e1553fa41ceb1cbb04b8"
|
|
1300
|
+
},
|
|
1301
|
+
{
|
|
1302
|
+
"path": "references/LOGIN-FLOWS.md",
|
|
1303
|
+
"bytes": 5797,
|
|
1304
|
+
"digest": "sha256:0153b606a185ea0e54e36896d8db078baff4e1521740d209a0fd1479ddfd60af"
|
|
1305
|
+
},
|
|
1306
|
+
{
|
|
1307
|
+
"path": "SKILL.md",
|
|
1308
|
+
"bytes": 8282,
|
|
1309
|
+
"digest": "sha256:9fbf8bfc243dad5e41589b8195f95aa7584387ae0923e988c963a77e6ab76792"
|
|
1310
|
+
}
|
|
1311
|
+
]
|
|
1312
|
+
},
|
|
1313
|
+
{
|
|
1314
|
+
"id": "storefront-next/sfnext-commerce-features",
|
|
1315
|
+
"collection": "storefront-next",
|
|
1316
|
+
"title": "sfnext-commerce-features",
|
|
1317
|
+
"description": "Catalogue and router for optional Storefront Next commerce features: Shopper Context (qualifiers, source codes), Order Management returns/cancel/tracking (SOM/OMS), delivery estimates, feature stubs (@feature-stub), guest order lookup, the app_storefrontnext_base email cartridge, and the shipped extensions (bnpl, bopis, multiship, store-locator, ratings-reviews, customer-preferences, product-content, shipping-delivery, theme-switcher). For each: which flag, SLAS scope, Business Manager setting, cartridge, or extension registry entry it needs, and which in-project doc to read. Use when asked how to enable a feature, why a feature does not render, what prerequisites a feature has, or which stubs are mock data. Do not use for building a new extension (use `storefront-next:sfnext-extensions`), config loading (use `storefront-next:sfnext-configuration`), or SLAS login flows (use `storefront-next:sfnext-authentication`).",
|
|
1318
|
+
"entrypoint": "SKILL.md",
|
|
1319
|
+
"frontmatter": {
|
|
1320
|
+
"name": "sfnext-commerce-features",
|
|
1321
|
+
"description": "Catalogue and router for optional Storefront Next commerce features: Shopper Context (qualifiers, source codes), Order Management returns/cancel/tracking (SOM/OMS), delivery estimates, feature stubs (@feature-stub), guest order lookup, the app_storefrontnext_base email cartridge, and the shipped extensions (bnpl, bopis, multiship, store-locator, ratings-reviews, customer-preferences, product-content, shipping-delivery, theme-switcher). For each: which flag, SLAS scope, Business Manager setting, cartridge, or extension registry entry it needs, and which in-project doc to read. Use when asked how to enable a feature, why a feature does not render, what prerequisites a feature has, or which stubs are mock data. Do not use for building a new extension (use `storefront-next:sfnext-extensions`), config loading (use `storefront-next:sfnext-configuration`), or SLAS login flows (use `storefront-next:sfnext-authentication`)."
|
|
1322
|
+
},
|
|
1323
|
+
"source": "skills/storefront-next/skills/sfnext-commerce-features/SKILL.md",
|
|
1324
|
+
"headings": "Feature prerequisites checklist | Shopper Context | Order Management | Delivery estimates | Guest order lookup | Email cartridge | Extensions | Storefront Next Commerce Features | Feature table | Extensions shipped in src/extensions | Feature stubs | Decision flow when \"the feature is not showing\" | Related Skills",
|
|
1325
|
+
"files": [
|
|
1326
|
+
{
|
|
1327
|
+
"path": "references/FEATURE-PREREQUISITES.md",
|
|
1328
|
+
"bytes": 2570,
|
|
1329
|
+
"digest": "sha256:61afb36aae23d6700342df9132e76ceae85f379d5e5b00d5d2830fcfe72a7312"
|
|
1330
|
+
},
|
|
1331
|
+
{
|
|
1332
|
+
"path": "SKILL.md",
|
|
1333
|
+
"bytes": 6212,
|
|
1334
|
+
"digest": "sha256:913d331d0d9b9c7ae05b2b09de66f0b3981bce54a8d573359f9ffb8beb4735f4"
|
|
1335
|
+
}
|
|
1336
|
+
]
|
|
1337
|
+
},
|
|
1338
|
+
{
|
|
1339
|
+
"id": "storefront-next/sfnext-components",
|
|
1340
|
+
"collection": "storefront-next",
|
|
1341
|
+
"title": "sfnext-components",
|
|
1342
|
+
"description": "Build and modify UI components in a Storefront Next storefront: page components with Suspense and use()/Await, createPage and withSuspense, Tailwind v4 token classes, shape tokens (rounded-ui, shadow-ui, border-ui), shadcn/ui primitives in src/components/ui (sync-shadcn), CVA variants, data-slot, DynamicImage, lazy-loaded overlays, and Storybook stories with snapshot tests. Use when creating or editing a component in src/components, adding a shadcn primitive, fixing styling that ignores the theme, writing a *.stories.tsx file, or running pnpm storybook:test. Do not use for re-branding colors, fonts, or logos (use `storefront-next:sfnext-theming`), route loaders (use `storefront-next:sfnext-data-fetching`), or Page Designer registration (use `storefront-next:sfnext-page-designer`).",
|
|
1343
|
+
"entrypoint": "SKILL.md",
|
|
1344
|
+
"frontmatter": {
|
|
1345
|
+
"name": "sfnext-components",
|
|
1346
|
+
"description": "Build and modify UI components in a Storefront Next storefront: page components with Suspense and use()/Await, createPage and withSuspense, Tailwind v4 token classes, shape tokens (rounded-ui, shadow-ui, border-ui), shadcn/ui primitives in src/components/ui (sync-shadcn), CVA variants, data-slot, DynamicImage, lazy-loaded overlays, and Storybook stories with snapshot tests. Use when creating or editing a component in src/components, adding a shadcn primitive, fixing styling that ignores the theme, writing a *.stories.tsx file, or running pnpm storybook:test. Do not use for re-branding colors, fonts, or logos (use `storefront-next:sfnext-theming`), route loaders (use `storefront-next:sfnext-data-fetching`), or Page Designer registration (use `storefront-next:sfnext-page-designer`)."
|
|
1347
|
+
},
|
|
1348
|
+
"source": "skills/storefront-next/skills/sfnext-components/SKILL.md",
|
|
1349
|
+
"headings": "Component Authoring | Workflow | Composite example | Rules of thumb | Editing a shadcn primitive | CSS component class, utility, or React component? | Decorative icons from CSS | Accessibility checklist | Page Designer | Shape Tokens | The bridge-variable trap | Overrides | Don't | Stories and Storybook Checks | Layout | Minimal story | Titles | Writing good stories | Commands | Token System | How a token becomes a class | Token files (`src/theme/tokens/`) | Class cheat sheet | Hard-coded colors | Dark mode | Troubleshooting | Storefront Next Components | Before you create anything | Styling rules | Shape tokens (read before touching Card, Button, Input, Dialog) | Page components and Suspense | Links, navigation, text | Images | Overlays | shadcn primitives | Stories and verification | More detail | Related Skills",
|
|
1350
|
+
"files": [
|
|
1351
|
+
{
|
|
1352
|
+
"path": "references/COMPONENT-AUTHORING.md",
|
|
1353
|
+
"bytes": 6110,
|
|
1354
|
+
"digest": "sha256:4fd83664c1939c6f08067c6fafa1d619759a29ae2700554432815b0cd2a17195"
|
|
1355
|
+
},
|
|
1356
|
+
{
|
|
1357
|
+
"path": "references/SHAPE-TOKENS.md",
|
|
1358
|
+
"bytes": 2758,
|
|
1359
|
+
"digest": "sha256:da4b67e11ece78c764b7a18b70bc85a8811f7e5bb5def38770dab8789b5c42a4"
|
|
1360
|
+
},
|
|
1361
|
+
{
|
|
1362
|
+
"path": "references/STORYBOOK.md",
|
|
1363
|
+
"bytes": 2807,
|
|
1364
|
+
"digest": "sha256:9bb205c5cf1fea0af8ed2e5f94e6faa6021842dcc8a40b11542afbded29678af"
|
|
1365
|
+
},
|
|
1366
|
+
{
|
|
1367
|
+
"path": "references/TOKEN-SYSTEM.md",
|
|
1368
|
+
"bytes": 4101,
|
|
1369
|
+
"digest": "sha256:83357235dc2616be76f41b33028cebd9f6efa98fe7120f8a2ea9c36462ce32de"
|
|
1370
|
+
},
|
|
1371
|
+
{
|
|
1372
|
+
"path": "references/TROUBLESHOOTING.md",
|
|
1373
|
+
"bytes": 2141,
|
|
1374
|
+
"digest": "sha256:9576d9b2bbc5750293acb264c0c5335b6460c6e6f23ede6e1748a18420b06519"
|
|
1375
|
+
},
|
|
1376
|
+
{
|
|
1377
|
+
"path": "SKILL.md",
|
|
1378
|
+
"bytes": 10294,
|
|
1379
|
+
"digest": "sha256:3e0cd247f46eeb9775718457806b44b54c4dfde9a41ef82bbbcc86fe00796bcd"
|
|
1380
|
+
}
|
|
1381
|
+
]
|
|
1382
|
+
},
|
|
1383
|
+
{
|
|
1384
|
+
"id": "storefront-next/sfnext-configuration",
|
|
1385
|
+
"collection": "storefront-next",
|
|
1386
|
+
"title": "sfnext-configuration",
|
|
1387
|
+
"description": "Configure a Storefront Next app: config.server.ts (defineConfig, metadata/runtime/app), AppConfig types in src/types/config.ts, PUBLIC__ environment variable overrides, getConfig(context) / useConfig(), extension config (app.extension, app.serverExtension), protected paths, server-only secrets, and multi-site settings (commerce.sites, url.prefix, seoRoutes, siteAliasMap, cookie domain). Use when editing config.server.ts, adding a config value, an env var is ignored or \"not applied\", `pnpm config:inspect` / `config:push-env`, \"Ignoring environment variable\" warnings, protected config path errors, setting up a second site or locale URLs, or going through the pre-launch config checklist. Do not use for creating a project or the npm script list (use `storefront-next:sfnext-project-setup`), pushing bundles or MRT env management (use `storefront-next:sfnext-deployment` / `b2c-cli:b2c-mrt`), or hybrid proxy and cookie-sharing with SFRA (use `storefront-next:sfnext-hybrid-storefronts`).",
|
|
1388
|
+
"entrypoint": "SKILL.md",
|
|
1389
|
+
"frontmatter": {
|
|
1390
|
+
"name": "sfnext-configuration",
|
|
1391
|
+
"description": "Configure a Storefront Next app: config.server.ts (defineConfig, metadata/runtime/app), AppConfig types in src/types/config.ts, PUBLIC__ environment variable overrides, getConfig(context) / useConfig(), extension config (app.extension, app.serverExtension), protected paths, server-only secrets, and multi-site settings (commerce.sites, url.prefix, seoRoutes, siteAliasMap, cookie domain). Use when editing config.server.ts, adding a config value, an env var is ignored or \"not applied\", `pnpm config:inspect` / `config:push-env`, \"Ignoring environment variable\" warnings, protected config path errors, setting up a second site or locale URLs, or going through the pre-launch config checklist. Do not use for creating a project or the npm script list (use `storefront-next:sfnext-project-setup`), pushing bundles or MRT env management (use `storefront-next:sfnext-deployment` / `b2c-cli:b2c-mrt`), or hybrid proxy and cookie-sharing with SFRA (use `storefront-next:sfnext-hybrid-storefronts`)."
|
|
1392
|
+
},
|
|
1393
|
+
"source": "skills/storefront-next/skills/sfnext-configuration/SKILL.md",
|
|
1394
|
+
"headings": "Environment Variables | Where variables come from | Required to run | Required to push to Managed Runtime | Common optional `PUBLIC__` overrides | Server-only (no prefix) | Gotchas | Multi-Site, URLs, Domains, Base Path, and Cookie Domain | Quick decision table | Sites and locales | Reading the current site | URL shape (`app.url`) | Aliases | Building URLs correctly | SEO routes (`url.seoRoutes`) | Multiple domains, one environment | Base path (one domain, many environments) | Cookie domain | Switchers | Storefront Next Configuration | Model | Add a config value | Read config | Environment variable rules | Required variables | Debug \"my env var is not applied\" | Protected paths | Secrets | Extension config | Multi-site and URLs | Pre-launch config gate | Related Skills | Finding more",
|
|
1395
|
+
"files": [
|
|
1396
|
+
{
|
|
1397
|
+
"path": "references/ENV-VARIABLES.md",
|
|
1398
|
+
"bytes": 3582,
|
|
1399
|
+
"digest": "sha256:b9a2664a67f9c7c3a82b4c0ed37a2d21171dd2fc0dbf1b20b74a9a66dbe32902"
|
|
1400
|
+
},
|
|
1401
|
+
{
|
|
1402
|
+
"path": "references/MULTI-SITE-URLS.md",
|
|
1403
|
+
"bytes": 9611,
|
|
1404
|
+
"digest": "sha256:98ff6029ffb4ba93d5b6151084fc45b69395fc25b8008405fc9cdf9e836cede7"
|
|
1405
|
+
},
|
|
1406
|
+
{
|
|
1407
|
+
"path": "SKILL.md",
|
|
1408
|
+
"bytes": 9742,
|
|
1409
|
+
"digest": "sha256:3594dc3a80bfc8581239e061b0f273e233f396f9e3e854e3aaf79de043cdbf45"
|
|
1410
|
+
}
|
|
1411
|
+
]
|
|
1412
|
+
},
|
|
1413
|
+
{
|
|
1414
|
+
"id": "storefront-next/sfnext-data-fetching",
|
|
1415
|
+
"collection": "storefront-next",
|
|
1416
|
+
"title": "sfnext-data-fetching",
|
|
1417
|
+
"description": "Load and mutate data in a Storefront Next project: route loaders that call SCAPI through createApiClients from @/lib/api-clients.server, critical versus streamed (deferred) data, createBasketAction and BasketAction for cart actions, createActionError and ErrorCode, data() responses, useFetcher and the useScapiFetcher hook with its server allowlist, request-scoped dedupe and MRT timeouts, non-personalized SCAPI responses, shopper context, and custom API clients. Use for \"fetch products in a loader\", \"stream data\", \"add a cart action\", \"call SCAPI from a component\", \"resource route\", \"NormalizedApiError\", or \"loader blocks the page\". Do not use for route files or links (use `storefront-next:sfnext-routing`), when loaders re-run after actions (use `storefront-next:sfnext-revalidation`), Suspense/LCP tuning (use `storefront-next:sfnext-performance`), or defining SCAPI custom APIs (use `storefront-next:sfnext-scapi`).",
|
|
1418
|
+
"entrypoint": "SKILL.md",
|
|
1419
|
+
"frontmatter": {
|
|
1420
|
+
"name": "sfnext-data-fetching",
|
|
1421
|
+
"description": "Load and mutate data in a Storefront Next project: route loaders that call SCAPI through createApiClients from @/lib/api-clients.server, critical versus streamed (deferred) data, createBasketAction and BasketAction for cart actions, createActionError and ErrorCode, data() responses, useFetcher and the useScapiFetcher hook with its server allowlist, request-scoped dedupe and MRT timeouts, non-personalized SCAPI responses, shopper context, and custom API clients. Use for \"fetch products in a loader\", \"stream data\", \"add a cart action\", \"call SCAPI from a component\", \"resource route\", \"NormalizedApiError\", or \"loader blocks the page\". Do not use for route files or links (use `storefront-next:sfnext-routing`), when loaders re-run after actions (use `storefront-next:sfnext-revalidation`), Suspense/LCP tuning (use `storefront-next:sfnext-performance`), or defining SCAPI custom APIs (use `storefront-next:sfnext-scapi`)."
|
|
1422
|
+
},
|
|
1423
|
+
"source": "skills/storefront-next/skills/sfnext-data-fetching/SKILL.md",
|
|
1424
|
+
"headings": "Actions and errors | Where to put a mutation | Basket actions: `createBasketAction` | Other actions | Error shape | Client side | After an action | API clients | What you get | Fetch layers | Errors | Custom APIs | Request shaping checklist | Loader patterns | Critical versus streamed | Stable promises | Consuming a promise | Shared layout data | Request context | Shopper context and personalization | Pitfalls | `useScapiFetcher` | Server allowlist (`src/lib/scapi/resource-policy.ts`) | Related hooks | When not to use it | Storefront Next Data Fetching | The rules (same as AGENTS.md) | Loader with critical and streamed data | SCAPI clients | Mutations: actions | Fetching from components | Checklist | Finding more | Related Skills",
|
|
1425
|
+
"files": [
|
|
1426
|
+
{
|
|
1427
|
+
"path": "references/ACTIONS.md",
|
|
1428
|
+
"bytes": 3423,
|
|
1429
|
+
"digest": "sha256:2e6fff138d6cc2464ccfe9670f178942ae33dd1b64f690a069b0622f2bbb6f62"
|
|
1430
|
+
},
|
|
1431
|
+
{
|
|
1432
|
+
"path": "references/API-CLIENTS.md",
|
|
1433
|
+
"bytes": 2065,
|
|
1434
|
+
"digest": "sha256:b2c86a90c435581dee90903ec950f5ebcc3cea10d4ef261d0e830f46b204e4cd"
|
|
1435
|
+
},
|
|
1436
|
+
{
|
|
1437
|
+
"path": "references/LOADERS.md",
|
|
1438
|
+
"bytes": 3911,
|
|
1439
|
+
"digest": "sha256:eaa7a470312eb18b250838412e8ba701609e6015b48d001145eab052cd0d40d3"
|
|
1440
|
+
},
|
|
1441
|
+
{
|
|
1442
|
+
"path": "references/SCAPI-FETCHER.md",
|
|
1443
|
+
"bytes": 2684,
|
|
1444
|
+
"digest": "sha256:c9fbd9450b70a386f01ff7f3384186ac5255ad11f1f730d647b3369cb26411b5"
|
|
1445
|
+
},
|
|
1446
|
+
{
|
|
1447
|
+
"path": "SKILL.md",
|
|
1448
|
+
"bytes": 9866,
|
|
1449
|
+
"digest": "sha256:4c20956cee09eb20a75d7618b4941343abe84dda2a49c0050e1e72c884c1afaf"
|
|
1450
|
+
}
|
|
1451
|
+
]
|
|
1452
|
+
},
|
|
1453
|
+
{
|
|
1454
|
+
"id": "storefront-next/sfnext-deployment",
|
|
1455
|
+
"collection": "storefront-next",
|
|
1456
|
+
"title": "sfnext-deployment",
|
|
1457
|
+
"description": "Build and deploy a Storefront Next storefront: `pnpm build`, `pnpm push` / `sfnext push` to Managed Runtime (MRT), MRT credentials (MRT_API_KEY, MRT_PROJECT, MRT_TARGET), syncing env vars with `pnpm config:push-env`, deploying the base cartridge and Page Designer metadata (`pnpm cartridge:generate|validate|deploy`), the shipped GitHub Actions deploy workflow, bundle size checks, the pre-launch checklist, and upgrading a project (template vs SDK compatibility, react-router pin). Use when a push fails or is rejected, a deployed site returns 500 or shows stale Page Designer components, \"deploy to staging/production\", or before go-live. Do not use for generic MRT project/environment/redirect/member management or log tailing (use `b2c-cli:b2c-mrt`), for config.server.ts and PUBLIC__ variable rules (use `storefront-next:sfnext-configuration`), or for creating the project (use `storefront-next:sfnext-project-setup`).",
|
|
1458
|
+
"entrypoint": "SKILL.md",
|
|
1459
|
+
"frontmatter": {
|
|
1460
|
+
"name": "sfnext-deployment",
|
|
1461
|
+
"description": "Build and deploy a Storefront Next storefront: `pnpm build`, `pnpm push` / `sfnext push` to Managed Runtime (MRT), MRT credentials (MRT_API_KEY, MRT_PROJECT, MRT_TARGET), syncing env vars with `pnpm config:push-env`, deploying the base cartridge and Page Designer metadata (`pnpm cartridge:generate|validate|deploy`), the shipped GitHub Actions deploy workflow, bundle size checks, the pre-launch checklist, and upgrading a project (template vs SDK compatibility, react-router pin). Use when a push fails or is rejected, a deployed site returns 500 or shows stale Page Designer components, \"deploy to staging/production\", or before go-live. Do not use for generic MRT project/environment/redirect/member management or log tailing (use `b2c-cli:b2c-mrt`), for config.server.ts and PUBLIC__ variable rules (use `storefront-next:sfnext-configuration`), or for creating the project (use `storefront-next:sfnext-project-setup`)."
|
|
1462
|
+
},
|
|
1463
|
+
"source": "skills/storefront-next/skills/sfnext-deployment/SKILL.md",
|
|
1464
|
+
"headings": "Managed Runtime Deployment Reference | What MRT provides | Push flow | What push sends to MRT | Environment variables | Domains, base path, cookies | Rollback | Verifying a deployment | Storefront Next Deployment | Build | Push to Managed Runtime | Environment variables on MRT | Cartridge deployment | CI/CD | Pre-launch checklist | Upgrading a project | Troubleshooting | Related Skills | Finding more",
|
|
1465
|
+
"files": [
|
|
1466
|
+
{
|
|
1467
|
+
"path": "references/MRT-DEPLOYMENT.md",
|
|
1468
|
+
"bytes": 3898,
|
|
1469
|
+
"digest": "sha256:ca95095aa58d819f8eb79d40e1fa3a9093d6a376e98d816ea4a6500b900f6e0f"
|
|
1470
|
+
},
|
|
1471
|
+
{
|
|
1472
|
+
"path": "SKILL.md",
|
|
1473
|
+
"bytes": 9243,
|
|
1474
|
+
"digest": "sha256:faf1b093ce6ed02bb58b5744729f2f9847709bda7be74d98eb780fa70f21fda9"
|
|
1475
|
+
}
|
|
1476
|
+
]
|
|
1477
|
+
},
|
|
1478
|
+
{
|
|
1479
|
+
"id": "storefront-next/sfnext-extensions",
|
|
1480
|
+
"collection": "storefront-next",
|
|
1481
|
+
"title": "sfnext-extensions",
|
|
1482
|
+
"description": "Add or remove modular features in a Storefront Next project with the extension system: src/extensions/<name>/ folders, target-config.json (UITarget components, contextProviders, actionHooks), sfcc.-prefixed UITarget ids, extension routes, per-extension config.ts and locales, SFDC_EXT_ integration markers, the `sfnext extensions create|install|remove|list` commands, and the agent-driven instructions/*.mdc install flow. Use when inserting a component into a UITarget slot (for example sfcc.header.before.cart or sfcc.pdp.bnpl.message), adding a checkout action hook, installing or removing store locator, BOPIS, multiship or a demo extension, listing extension points with pnpm extensions:list, or deciding whether to extend, restyle, or edit the base at all. Do not use for styling or brand changes (use `storefront-next:sfnext-theming`), for new merchant-editable Page Designer blocks (use `storefront-next:sfnext-page-designer`), or for analytics/engagement adapters (use `storefront-next:sfnext-analytics-consent`).",
|
|
1483
|
+
"entrypoint": "SKILL.md",
|
|
1484
|
+
"frontmatter": {
|
|
1485
|
+
"name": "sfnext-extensions",
|
|
1486
|
+
"description": "Add or remove modular features in a Storefront Next project with the extension system: src/extensions/<name>/ folders, target-config.json (UITarget components, contextProviders, actionHooks), sfcc.-prefixed UITarget ids, extension routes, per-extension config.ts and locales, SFDC_EXT_ integration markers, the `sfnext extensions create|install|remove|list` commands, and the agent-driven instructions/*.mdc install flow. Use when inserting a component into a UITarget slot (for example sfcc.header.before.cart or sfcc.pdp.bnpl.message), adding a checkout action hook, installing or removing store locator, BOPIS, multiship or a demo extension, listing extension points with pnpm extensions:list, or deciding whether to extend, restyle, or edit the base at all. Do not use for styling or brand changes (use `storefront-next:sfnext-theming`), for new merchant-editable Page Designer blocks (use `storefront-next:sfnext-page-designer`), or for analytics/engagement adapters (use `storefront-next:sfnext-analytics-consent`)."
|
|
1487
|
+
},
|
|
1488
|
+
"source": "skills/storefront-next/skills/sfnext-extensions/SKILL.md",
|
|
1489
|
+
"headings": "Action Hooks | Available hook ids | Register a handler | Semantics | Adding a new hook point | Base Audit: Extend, Restyle, or Edit | The gate | Worked examples (real slots) | Duplicate section (wrong) vs additive section (right) | Restyle, do not re-render | Finding slots and render points | CLI and Install | create | install and remove | Agent-driven install instructions | Markers | After install or remove | Extension Examples | Simplest: BNPL (one slot, one API module) | Several slots: Ratings and Reviews | Routes, provider, middleware: Store Locator | Wrapper slot | Server hook: fraud check | Checklist for a new extension | Storefront Next Extensions | Decision gate: should this be an extension? | Structure | target-config.json | Routes, translations, config | Integration markers | Removing or replacing a demo extension | Best practices | Related Skills",
|
|
1490
|
+
"files": [
|
|
1491
|
+
{
|
|
1492
|
+
"path": "references/ACTION-HOOKS.md",
|
|
1493
|
+
"bytes": 3365,
|
|
1494
|
+
"digest": "sha256:7ddc7ea136ebb103abb101fc72aa319a0bb9088450c48f0a5842445007529abd"
|
|
1495
|
+
},
|
|
1496
|
+
{
|
|
1497
|
+
"path": "references/BASE-AUDIT.md",
|
|
1498
|
+
"bytes": 4083,
|
|
1499
|
+
"digest": "sha256:425dc9770cb04074aa23fd3c3e3b5339c4519856be0772656f47d2def9c5bdb1"
|
|
1500
|
+
},
|
|
1501
|
+
{
|
|
1502
|
+
"path": "references/CLI-AND-INSTALL.md",
|
|
1503
|
+
"bytes": 4007,
|
|
1504
|
+
"digest": "sha256:40570f1e0bfc4e7286273ac5ee1ec2ebb251b1a6a56bf281304f7b20cf33a82e"
|
|
1505
|
+
},
|
|
1506
|
+
{
|
|
1507
|
+
"path": "references/EXTENSION-EXAMPLES.md",
|
|
1508
|
+
"bytes": 3572,
|
|
1509
|
+
"digest": "sha256:70d1b9008fbe52828482382c8ddf37aac4d04e7da60f621eb9c373616091136a"
|
|
1510
|
+
},
|
|
1511
|
+
{
|
|
1512
|
+
"path": "SKILL.md",
|
|
1513
|
+
"bytes": 9491,
|
|
1514
|
+
"digest": "sha256:4e4e7833c4222b457f9c0121c64ae491d493c166d93187f24e146fcab0047bb1"
|
|
1515
|
+
}
|
|
1516
|
+
]
|
|
1517
|
+
},
|
|
1518
|
+
{
|
|
1519
|
+
"id": "storefront-next/sfnext-hybrid-storefronts",
|
|
1520
|
+
"collection": "storefront-next",
|
|
1521
|
+
"title": "sfnext-hybrid-storefronts",
|
|
1522
|
+
"description": "Run Storefront Next alongside an existing SFRA or SiteGenesis storefront for a gradual migration. Use for hybrid mode, PUBLIC__app__hybrid__enabled, legacyRoutes (exact, :param, * wildcard, { pattern, suffix }), HYBRID_PROXY_ENABLED, SFCC_ORIGIN, HYBRID_ROUTING_RULES, vite-plugins/hybrid-proxy.ts, the dwsid session bridge, sharing login/cart between SFRA and Storefront Next, eCDN routing rules, cookie domain for hybrid, \"[Hybrid Proxy] SFCC returned a redirect to 404\", blank proxied pages, or lost sessions when crossing storefronts. Do not use for the cookie-domain settings themselves beyond the hybrid checklist (use `storefront-next:sfnext-security`), auth code (use `storefront-next:sfnext-authentication`), or MRT deployment (use `storefront-next:sfnext-deployment`).",
|
|
1523
|
+
"entrypoint": "SKILL.md",
|
|
1524
|
+
"frontmatter": {
|
|
1525
|
+
"name": "sfnext-hybrid-storefronts",
|
|
1526
|
+
"description": "Run Storefront Next alongside an existing SFRA or SiteGenesis storefront for a gradual migration. Use for hybrid mode, PUBLIC__app__hybrid__enabled, legacyRoutes (exact, :param, * wildcard, { pattern, suffix }), HYBRID_PROXY_ENABLED, SFCC_ORIGIN, HYBRID_ROUTING_RULES, vite-plugins/hybrid-proxy.ts, the dwsid session bridge, sharing login/cart between SFRA and Storefront Next, eCDN routing rules, cookie domain for hybrid, \"[Hybrid Proxy] SFCC returned a redirect to 404\", blank proxied pages, or lost sessions when crossing storefronts. Do not use for the cookie-domain settings themselves beyond the hybrid checklist (use `storefront-next:sfnext-security`), auth code (use `storefront-next:sfnext-authentication`), or MRT deployment (use `storefront-next:sfnext-deployment`)."
|
|
1527
|
+
},
|
|
1528
|
+
"source": "skills/storefront-next/skills/sfnext-hybrid-storefronts/SKILL.md",
|
|
1529
|
+
"headings": "Hybrid Proxy Configuration Reference | Environment variables | Routing rule format | Path transformation | Cookie layers (local dev) | Custom matcher (last resort) | Gotchas | Hybrid Storefronts | Two sets of configuration | legacyRoutes patterns | Session bridge | Edit the proxy where customers edit it | Automatic behaviors | Troubleshooting | Related Skills",
|
|
1530
|
+
"files": [
|
|
1531
|
+
{
|
|
1532
|
+
"path": "references/HYBRID-PROXY-CONFIG.md",
|
|
1533
|
+
"bytes": 3836,
|
|
1534
|
+
"digest": "sha256:b26feabb1f3a45d78e78b5076e999ea897167d3ffd612daa5cbf84ca09a03f8a"
|
|
1535
|
+
},
|
|
1536
|
+
{
|
|
1537
|
+
"path": "SKILL.md",
|
|
1538
|
+
"bytes": 8327,
|
|
1539
|
+
"digest": "sha256:f718b89289b4a42ed1e1f61d23e61faeef9919ecf25ada1ae4f55c1ee1ba73f5"
|
|
1540
|
+
}
|
|
1541
|
+
]
|
|
1542
|
+
},
|
|
1543
|
+
{
|
|
1544
|
+
"id": "storefront-next/sfnext-i18n",
|
|
1545
|
+
"collection": "storefront-next",
|
|
1546
|
+
"title": "sfnext-i18n",
|
|
1547
|
+
"description": "Translate and localize a Storefront Next storefront with i18next: useTranslation in components, getTranslation in loaders/actions/utilities, translations.json namespaces, pluralization and interpolation, Zod validation-message factories, adding a new language or locale, extension translations, and locale/currency switching. Use when adding or editing strings, \"add a Brazilian Portuguese locale\", supportedLngs / fallbackLng / supportedLocales, src/locales, locales:aggregate-extensions, LocaleSwitcher, mockI18nContext, hydration mismatch on translated text, or missing-key problems. Do not use for site/locale URL prefix routing (use `storefront-next:sfnext-routing`), site and currency configuration keys (use `storefront-next:sfnext-configuration`), or extension scaffolding (use `storefront-next:sfnext-extensions`).",
|
|
1548
|
+
"entrypoint": "SKILL.md",
|
|
1549
|
+
"frontmatter": {
|
|
1550
|
+
"name": "sfnext-i18n",
|
|
1551
|
+
"description": "Translate and localize a Storefront Next storefront with i18next: useTranslation in components, getTranslation in loaders/actions/utilities, translations.json namespaces, pluralization and interpolation, Zod validation-message factories, adding a new language or locale, extension translations, and locale/currency switching. Use when adding or editing strings, \"add a Brazilian Portuguese locale\", supportedLngs / fallbackLng / supportedLocales, src/locales, locales:aggregate-extensions, LocaleSwitcher, mockI18nContext, hydration mismatch on translated text, or missing-key problems. Do not use for site/locale URL prefix routing (use `storefront-next:sfnext-routing`), site and currency configuration keys (use `storefront-next:sfnext-configuration`), or extension scaffolding (use `storefront-next:sfnext-extensions`)."
|
|
1552
|
+
},
|
|
1553
|
+
"source": "skills/storefront-next/skills/sfnext-i18n/SKILL.md",
|
|
1554
|
+
"headings": "Locale and currency configuration | Must stay in sync | Currency | Typing | Client loading | Using a different i18n library | Storefront Next Internationalization | Which API to use | File layout | Add a new locale (checklist) | How the active locale is chosen | Extension translations | Validation messages: Zod schema factories | Testing translations | Pitfalls | Finding more | Related Skills",
|
|
1555
|
+
"files": [
|
|
1556
|
+
{
|
|
1557
|
+
"path": "references/locale-config.md",
|
|
1558
|
+
"bytes": 2478,
|
|
1559
|
+
"digest": "sha256:f306a09448b136f5910f0b33288f83b85e5a29b7b26f707c279aa154142bc358"
|
|
1560
|
+
},
|
|
1561
|
+
{
|
|
1562
|
+
"path": "SKILL.md",
|
|
1563
|
+
"bytes": 9317,
|
|
1564
|
+
"digest": "sha256:f1fa2f89144350371126ae733b2978c07ca5543ff5464c715db550ba6864b0c9"
|
|
1565
|
+
}
|
|
1566
|
+
]
|
|
1567
|
+
},
|
|
1568
|
+
{
|
|
1569
|
+
"id": "storefront-next/sfnext-overview",
|
|
1570
|
+
"collection": "storefront-next",
|
|
1571
|
+
"title": "sfnext-overview",
|
|
1572
|
+
"description": "Start here for any Salesforce Commerce Storefront Next (sfnext) task: a router that maps what you want to do to the right storefront-next skill, says to read your project's AGENTS.md and docs/README-*.md first, and carries a cheat sheet for the sfnext CLI, the b2c CLI, the b2c-dx-mcp tools, and the docs search fallback. Use when starting work in a Storefront Next project, when unsure which skill applies, when asked \"how do I do X in Storefront Next\", \"what commands exist\", or \"where is the documentation\". Do not use once a specific area is clear; go straight to that skill (for example `storefront-next:sfnext-routing` or `storefront-next:sfnext-seo`).",
|
|
1573
|
+
"entrypoint": "SKILL.md",
|
|
1574
|
+
"frontmatter": {
|
|
1575
|
+
"name": "sfnext-overview",
|
|
1576
|
+
"description": "Start here for any Salesforce Commerce Storefront Next (sfnext) task: a router that maps what you want to do to the right storefront-next skill, says to read your project's AGENTS.md and docs/README-*.md first, and carries a cheat sheet for the sfnext CLI, the b2c CLI, the b2c-dx-mcp tools, and the docs search fallback. Use when starting work in a Storefront Next project, when unsure which skill applies, when asked \"how do I do X in Storefront Next\", \"what commands exist\", or \"where is the documentation\". Do not use once a specific area is clear; go straight to that skill (for example `storefront-next:sfnext-routing` or `storefront-next:sfnext-seo`)."
|
|
1577
|
+
},
|
|
1578
|
+
"source": "skills/storefront-next/skills/sfnext-overview/SKILL.md",
|
|
1579
|
+
"headings": "Storefront Next Overview and Router | Before anything else | Which skill for which task | sfnext CLI cheat sheet | b2c CLI cheat sheet | MCP tools (b2c-dx-mcp, STOREFRONTNEXT toolset) | Docs search fallback | Related Skills",
|
|
1580
|
+
"files": [
|
|
1581
|
+
{
|
|
1582
|
+
"path": "SKILL.md",
|
|
1583
|
+
"bytes": 6454,
|
|
1584
|
+
"digest": "sha256:08b59a319d1c1be26043154e3ca350af2463eb94de4635dedc178d2dca3fe715"
|
|
1585
|
+
}
|
|
1586
|
+
]
|
|
1587
|
+
},
|
|
1588
|
+
{
|
|
1589
|
+
"id": "storefront-next/sfnext-page-designer",
|
|
1590
|
+
"collection": "storefront-next",
|
|
1591
|
+
"title": "sfnext-page-designer",
|
|
1592
|
+
"description": "Build merchant-editable Page Designer content in a Storefront Next project: components decorated with @Component/@AttributeDefinition/@RegionDefinition, page routes decorated with @PageType, <Region> rendering, fetchPageWithComponentData, component loaders and fallbacks, the generated static registry, and the pnpm cartridge:generate / cartridge:validate / cartridge:deploy workflow. Use when adding or editing a Page Designer component, exposing a region on a route (home, PDP, PLP, search), fetching a page by pageId or aspectType, marking a Region critical, debugging a component that does not appear in the Business Manager palette or renders empty, or reviewing Page Designer code. Do not use for classic ISML/SFRA Page Designer (use `b2c:b2c-page-designer`), for turning a Figma frame into blocks (use `figma-to-sfnext-pagedesigner:figma-to-sfnext-pagedesigner`), or for plain React components that merchants never edit (use `storefront-next:sfnext-components`).",
|
|
1593
|
+
"entrypoint": "SKILL.md",
|
|
1594
|
+
"frontmatter": {
|
|
1595
|
+
"name": "sfnext-page-designer",
|
|
1596
|
+
"description": "Build merchant-editable Page Designer content in a Storefront Next project: components decorated with @Component/@AttributeDefinition/@RegionDefinition, page routes decorated with @PageType, <Region> rendering, fetchPageWithComponentData, component loaders and fallbacks, the generated static registry, and the pnpm cartridge:generate / cartridge:validate / cartridge:deploy workflow. Use when adding or editing a Page Designer component, exposing a region on a route (home, PDP, PLP, search), fetching a page by pageId or aspectType, marking a Region critical, debugging a component that does not appear in the Business Manager palette or renders empty, or reviewing Page Designer code. Do not use for classic ISML/SFRA Page Designer (use `b2c:b2c-page-designer`), for turning a Figma frame into blocks (use `figma-to-sfnext-pagedesigner:figma-to-sfnext-pagedesigner`), or for plain React components that merchants never edit (use `storefront-next:sfnext-components`)."
|
|
1597
|
+
},
|
|
1598
|
+
"source": "skills/storefront-next/skills/sfnext-page-designer/SKILL.md",
|
|
1599
|
+
"headings": "Business Manager Integration | What gets generated | `route` and `aspectTypeIds` | Merchant setup checklist | Design vs preview mode | Where to look next | Registry and Loading | The static registry | Entry wiring (do not break) | How a page renders | Fetching a page | Module contract | Critical regions | Error handling | Decorator Patterns | `@Component(typeId, options)` | `@AttributeDefinition(config)` | Attribute types | `searching` combinations | `@RegionDefinition(regions)` | `@PageType(config)` | Nested regions in a container | Images | Text that is not merchant content | Review Checklist | 1. Metadata | 2. Module contract (components) | 3. Rendering | 4. Anti-patterns | 5. Do not flag | Report format | Troubleshooting Page Designer | Debugging tips | Page Designer in Storefront Next | Pieces and where they live | Workflow | A component | A loader | A page route | Design and preview mode | Verify before you finish | Reference Documentation | Related Skills",
|
|
1600
|
+
"files": [
|
|
1601
|
+
{
|
|
1602
|
+
"path": "references/BUSINESS-MANAGER.md",
|
|
1603
|
+
"bytes": 3752,
|
|
1604
|
+
"digest": "sha256:c39b71c138cb40bf0293a5760752bef35c5fff45af32f7a8f96f2256d259421d"
|
|
1605
|
+
},
|
|
1606
|
+
{
|
|
1607
|
+
"path": "references/COMPONENT-REGISTRY.md",
|
|
1608
|
+
"bytes": 6853,
|
|
1609
|
+
"digest": "sha256:2c5e129999fba44f60f6c6e00d9cea8ca346df4d1f561e1e2567896a71c68109"
|
|
1610
|
+
},
|
|
1611
|
+
{
|
|
1612
|
+
"path": "references/DECORATOR-PATTERNS.md",
|
|
1613
|
+
"bytes": 7959,
|
|
1614
|
+
"digest": "sha256:c99d2ceb6f89866523c4aef5f26717558fd003a1e44420ae5a7e4a600d9963b2"
|
|
1615
|
+
},
|
|
1616
|
+
{
|
|
1617
|
+
"path": "references/REVIEW-CHECKLIST.md",
|
|
1618
|
+
"bytes": 5599,
|
|
1619
|
+
"digest": "sha256:07208266ce5156c8209eb5ae3defee4a75a397548987441d4701c12d35e9c0f3"
|
|
1620
|
+
},
|
|
1621
|
+
{
|
|
1622
|
+
"path": "references/TROUBLESHOOTING.md",
|
|
1623
|
+
"bytes": 4467,
|
|
1624
|
+
"digest": "sha256:ed65e8776f61558c5856938e100a389b8db8e1f27be049e2d71d0d9fffa8c117"
|
|
1625
|
+
},
|
|
1626
|
+
{
|
|
1627
|
+
"path": "SKILL.md",
|
|
1628
|
+
"bytes": 13747,
|
|
1629
|
+
"digest": "sha256:da2e9915fad540c2e9214616ed918c3c0b9ab37a2aa619b9da66b9b99addde9c"
|
|
1630
|
+
}
|
|
1631
|
+
]
|
|
1632
|
+
},
|
|
1633
|
+
{
|
|
1634
|
+
"id": "storefront-next/sfnext-performance",
|
|
1635
|
+
"collection": "storefront-next",
|
|
1636
|
+
"title": "sfnext-performance",
|
|
1637
|
+
"description": "Keep a Storefront Next storefront fast and self-review changes for performance: LCP, CLS and TBT, Suspense placement and granularity, stable promise identity, lazy-loaded modals and drawers with useDeferredUnmount, useDeferredRender, Region critical, DynamicImage and image priority, font loading, resource hints (links.preconnect), bundle size checks (pnpm bundlesize, BUNDLES_SIZE_ANALYZE), Lighthouse CI, and the performance.metrics / Server-Timing flags. Use for \"page is slow\", \"LCP regression\", \"skeleton flashes\", \"bundle too big\", \"review my diff for performance\", \"hydration mismatch or extra re-renders\", \"waterfall of fetches\", or before merging feature work that adds loaders, fetchers, modals and drawers or images. Do not use for loader/action mechanics (use `storefront-next:sfnext-data-fetching`), revalidation policy (use `storefront-next:sfnext-revalidation`), or accessibility (use `storefront-next:sfnext-accessibility`).",
|
|
1638
|
+
"entrypoint": "SKILL.md",
|
|
1639
|
+
"frontmatter": {
|
|
1640
|
+
"name": "sfnext-performance",
|
|
1641
|
+
"description": "Keep a Storefront Next storefront fast and self-review changes for performance: LCP, CLS and TBT, Suspense placement and granularity, stable promise identity, lazy-loaded modals and drawers with useDeferredUnmount, useDeferredRender, Region critical, DynamicImage and image priority, font loading, resource hints (links.preconnect), bundle size checks (pnpm bundlesize, BUNDLES_SIZE_ANALYZE), Lighthouse CI, and the performance.metrics / Server-Timing flags. Use for \"page is slow\", \"LCP regression\", \"skeleton flashes\", \"bundle too big\", \"review my diff for performance\", \"hydration mismatch or extra re-renders\", \"waterfall of fetches\", or before merging feature work that adds loaders, fetchers, modals and drawers or images. Do not use for loader/action mechanics (use `storefront-next:sfnext-data-fetching`), revalidation policy (use `storefront-next:sfnext-revalidation`), or accessibility (use `storefront-next:sfnext-accessibility`)."
|
|
1642
|
+
},
|
|
1643
|
+
"source": "skills/storefront-next/skills/sfnext-performance/SKILL.md",
|
|
1644
|
+
"headings": "Performance self-review checklist | 1. Fetch efficiency | 2. Fetcher misuse | 3. Suspense placement | 4. Suspense granularity | 5. Promise stability | 6. Hydration and render stability | 7. Revalidation scope | 8. Client-side transforms | 9. Also check | Reporting | Suspense and streaming recipes | Placement | Granularity | Promise stability | Skeletons | Critical Page Designer regions | Errors in streamed data | Storefront Next Performance | Core rules | Lazy modals and drawers | Deferred rendering | Page Designer | Images, fonts, hints | Measure | Review workflow | References | Finding more | Related Skills",
|
|
1645
|
+
"files": [
|
|
1646
|
+
{
|
|
1647
|
+
"path": "references/PERFORMANCE-REVIEW-CHECKLIST.md",
|
|
1648
|
+
"bytes": 6642,
|
|
1649
|
+
"digest": "sha256:6b2151b32c0692c4399fc17a5abc5fcc737f4625ed293feafb71f094c6784cae"
|
|
1650
|
+
},
|
|
1651
|
+
{
|
|
1652
|
+
"path": "references/SUSPENSE-AND-STREAMING.md",
|
|
1653
|
+
"bytes": 2629,
|
|
1654
|
+
"digest": "sha256:7f2c2a2e257e9d4da4b870381ff7499003f3473faed8c5fa08fa976b1ca4ece2"
|
|
1655
|
+
},
|
|
1656
|
+
{
|
|
1657
|
+
"path": "SKILL.md",
|
|
1658
|
+
"bytes": 7576,
|
|
1659
|
+
"digest": "sha256:7ada212422080fdfc1ae1f0f5eaab5db2e6087cd9b67e7d6f4d4e3eac11c7bca"
|
|
1660
|
+
}
|
|
1661
|
+
]
|
|
1662
|
+
},
|
|
1663
|
+
{
|
|
1664
|
+
"id": "storefront-next/sfnext-project-setup",
|
|
1665
|
+
"collection": "storefront-next",
|
|
1666
|
+
"title": "sfnext-project-setup",
|
|
1667
|
+
"description": "Create and bootstrap a Storefront Next project, and learn its layout, npm scripts, and first-run workflow. Use when creating a new storefront, running `sfnext create-storefront` (`--vertical` starter theme, `--defaults`, `--template`, `--output-dir`), choosing between Business Manager Storefront Setup and the CLI, fixing `pnpm install` / Node 24 problems, copying `.env.default` to `.env`, asking \"what does this folder do\" or \"which pnpm script do I run\", or running `b2c sfnext` / `pnpm sfnext` commands for the first time. Do not use for config.server.ts or PUBLIC__ env var rules (use `storefront-next:sfnext-configuration`), building/pushing to Managed Runtime (use `storefront-next:sfnext-deployment`), or a conceptual tour of the architecture (use `storefront-next:sfnext-overview`).",
|
|
1668
|
+
"entrypoint": "SKILL.md",
|
|
1669
|
+
"frontmatter": {
|
|
1670
|
+
"name": "sfnext-project-setup",
|
|
1671
|
+
"description": "Create and bootstrap a Storefront Next project, and learn its layout, npm scripts, and first-run workflow. Use when creating a new storefront, running `sfnext create-storefront` (`--vertical` starter theme, `--defaults`, `--template`, `--output-dir`), choosing between Business Manager Storefront Setup and the CLI, fixing `pnpm install` / Node 24 problems, copying `.env.default` to `.env`, asking \"what does this folder do\" or \"which pnpm script do I run\", or running `b2c sfnext` / `pnpm sfnext` commands for the first time. Do not use for config.server.ts or PUBLIC__ env var rules (use `storefront-next:sfnext-configuration`), building/pushing to Managed Runtime (use `storefront-next:sfnext-deployment`), or a conceptual tour of the architecture (use `storefront-next:sfnext-overview`)."
|
|
1672
|
+
},
|
|
1673
|
+
"source": "skills/storefront-next/skills/sfnext-project-setup/SKILL.md",
|
|
1674
|
+
"headings": "Project Structure | Top level | `src/` | Where to look for each concern | Page Designer metadata | Adding UI primitives | Project Scripts | Develop and run | Deploy and operate | Quality | `sfnext` CLI | Project lifecycle | Managed Runtime push | Cartridges (Page Designer metadata) | Configuration and extensions | SCAPI clients | Storefront Next Project Setup | Prerequisites | Choose how to start | Create a project with the CLI | First run | Project layout (short form) | Scripts and CLI | Conventions worth knowing up front | Troubleshooting | Finding more | Related Skills",
|
|
1675
|
+
"files": [
|
|
1676
|
+
{
|
|
1677
|
+
"path": "references/PROJECT-STRUCTURE.md",
|
|
1678
|
+
"bytes": 5186,
|
|
1679
|
+
"digest": "sha256:a5a3a8cfc3f98566614781494ac21b2862642f9450abf57b32161a11d2e914bb"
|
|
1680
|
+
},
|
|
1681
|
+
{
|
|
1682
|
+
"path": "references/SCRIPTS.md",
|
|
1683
|
+
"bytes": 3010,
|
|
1684
|
+
"digest": "sha256:39aed6194c14e34c50a24319e25c76ddd7c1d739904807900413ddda12b37054"
|
|
1685
|
+
},
|
|
1686
|
+
{
|
|
1687
|
+
"path": "references/SFNEXT-CLI.md",
|
|
1688
|
+
"bytes": 3817,
|
|
1689
|
+
"digest": "sha256:e572df79763594092e58f4f28a746661396a418ddd8eceb8646f986f594464af"
|
|
1690
|
+
},
|
|
1691
|
+
{
|
|
1692
|
+
"path": "SKILL.md",
|
|
1693
|
+
"bytes": 9419,
|
|
1694
|
+
"digest": "sha256:6e0282eef0605feb23ce76379ad170d1ad39aad900df0b379298da220f0a8be9"
|
|
1695
|
+
}
|
|
1696
|
+
]
|
|
1697
|
+
},
|
|
1698
|
+
{
|
|
1699
|
+
"id": "storefront-next/sfnext-quality-gates",
|
|
1700
|
+
"collection": "storefront-next",
|
|
1701
|
+
"title": "sfnext-quality-gates",
|
|
1702
|
+
"description": "Run and fix the Storefront Next quality gates before a PR or deploy: OxLint (type-aware, --max-warnings 0) plus Biome formatting, lint:a11y, lint:css, typecheck, the TypeScript-only check, bundle-size budgets, Lighthouse CI, and the pre-PR checklist. Use when pnpm lint, pnpm format:check, pnpm typecheck, pnpm bundlesize or pnpm lighthouse:ci fails, for custom/color-linter or custom/header-format errors, \"unused Tailwind class\" findings, oxlint-disable comments, \"what should I run before opening a PR\", or CI red on lint. Do not use for writing tests (use `storefront-next:sfnext-testing`), accessibility fixes themselves (use `storefront-next:sfnext-accessibility`), or runtime performance tuning (use `storefront-next:sfnext-performance`).",
|
|
1703
|
+
"entrypoint": "SKILL.md",
|
|
1704
|
+
"frontmatter": {
|
|
1705
|
+
"name": "sfnext-quality-gates",
|
|
1706
|
+
"description": "Run and fix the Storefront Next quality gates before a PR or deploy: OxLint (type-aware, --max-warnings 0) plus Biome formatting, lint:a11y, lint:css, typecheck, the TypeScript-only check, bundle-size budgets, Lighthouse CI, and the pre-PR checklist. Use when pnpm lint, pnpm format:check, pnpm typecheck, pnpm bundlesize or pnpm lighthouse:ci fails, for custom/color-linter or custom/header-format errors, \"unused Tailwind class\" findings, oxlint-disable comments, \"what should I run before opening a PR\", or CI red on lint. Do not use for writing tests (use `storefront-next:sfnext-testing`), accessibility fixes themselves (use `storefront-next:sfnext-accessibility`), or runtime performance tuning (use `storefront-next:sfnext-performance`)."
|
|
1707
|
+
},
|
|
1708
|
+
"source": "skills/storefront-next/skills/sfnext-quality-gates/SKILL.md",
|
|
1709
|
+
"headings": "Lint configuration and performance budgets | Configuration files in your project | Editor integration | Bundle size | Lighthouse CI | When a budget fails | Storefront Next Quality Gates | Pre-PR checklist | Commands | Custom rules you will hit | Typical failures | Related Skills",
|
|
1710
|
+
"files": [
|
|
1711
|
+
{
|
|
1712
|
+
"path": "references/lint-and-budgets.md",
|
|
1713
|
+
"bytes": 2597,
|
|
1714
|
+
"digest": "sha256:371c1c9b79be1380d096bba823cc959fc9f6db7ef35e6ce38a312888b976455b"
|
|
1715
|
+
},
|
|
1716
|
+
{
|
|
1717
|
+
"path": "SKILL.md",
|
|
1718
|
+
"bytes": 5271,
|
|
1719
|
+
"digest": "sha256:e6bcaaac4f1ffc3b21e3d19f538b65edc49f6dd1c7bdcafd570094a897f29ac9"
|
|
1720
|
+
}
|
|
1721
|
+
]
|
|
1722
|
+
},
|
|
1723
|
+
{
|
|
1724
|
+
"id": "storefront-next/sfnext-revalidation",
|
|
1725
|
+
"collection": "storefront-next",
|
|
1726
|
+
"title": "sfnext-revalidation",
|
|
1727
|
+
"description": "Control which Storefront Next loaders re-run after an action or navigation: shouldRevalidate exports, the policy modules in src/lib/revalidation/routes (root, cart, product, category, checkout, home, wishlist, api-client, shared), getActionPath and isAmbientMutation, and the tag primitives in src/lib/revalidation/tags (withRevalidateTags, shouldRevalidateForTags, tagGroup, tagImplications). Use for \"page re-fetches after add to cart\", \"loader runs too often\", \"stale data after a mutation\", \"flash of skeleton after changing a swatch\", \"add shouldRevalidate\", or when a new action or route changes which loaders fire. Do not use for writing loaders or actions (use `storefront-next:sfnext-data-fetching`), Suspense and LCP tuning (use `storefront-next:sfnext-performance`), or client-side state (use `storefront-next:sfnext-state-management`).",
|
|
1728
|
+
"entrypoint": "SKILL.md",
|
|
1729
|
+
"frontmatter": {
|
|
1730
|
+
"name": "sfnext-revalidation",
|
|
1731
|
+
"description": "Control which Storefront Next loaders re-run after an action or navigation: shouldRevalidate exports, the policy modules in src/lib/revalidation/routes (root, cart, product, category, checkout, home, wishlist, api-client, shared), getActionPath and isAmbientMutation, and the tag primitives in src/lib/revalidation/tags (withRevalidateTags, shouldRevalidateForTags, tagGroup, tagImplications). Use for \"page re-fetches after add to cart\", \"loader runs too often\", \"stale data after a mutation\", \"flash of skeleton after changing a swatch\", \"add shouldRevalidate\", or when a new action or route changes which loaders fire. Do not use for writing loaders or actions (use `storefront-next:sfnext-data-fetching`), Suspense and LCP tuning (use `storefront-next:sfnext-performance`), or client-side state (use `storefront-next:sfnext-state-management`)."
|
|
1732
|
+
},
|
|
1733
|
+
"source": "skills/storefront-next/skills/sfnext-revalidation/SKILL.md",
|
|
1734
|
+
"headings": "Policies and tags reference | Policy inputs | Decision table | Modals and drawers | Tags | Root policy | Storefront Next Revalidation | What revalidates | When a re-run is justified | Where the policy lives | Add a policy for a new route | Tags for cross-route contracts | Related levers | Finding more | Related Skills",
|
|
1735
|
+
"files": [
|
|
1736
|
+
{
|
|
1737
|
+
"path": "references/POLICIES-AND-TAGS.md",
|
|
1738
|
+
"bytes": 3253,
|
|
1739
|
+
"digest": "sha256:31a4b039b1162e294cafc48cd75efd4571c67abd91791165c2977ad7b42f3d85"
|
|
1740
|
+
},
|
|
1741
|
+
{
|
|
1742
|
+
"path": "SKILL.md",
|
|
1743
|
+
"bytes": 7924,
|
|
1744
|
+
"digest": "sha256:c9b093f490acc92bdee153578b0a54c1b914880f6760b18b39ca1d16736e2b49"
|
|
1745
|
+
}
|
|
1746
|
+
]
|
|
1747
|
+
},
|
|
1748
|
+
{
|
|
1749
|
+
"id": "storefront-next/sfnext-routing",
|
|
1750
|
+
"collection": "storefront-next",
|
|
1751
|
+
"title": "sfnext-routing",
|
|
1752
|
+
"description": "Add and change pages in a Storefront Next project: flat-file routes in src/routes, layout routes (_app, _checkout, _empty), splat routes for product and category pages, action.* and resource.* routes, src/route-paths.ts (routes, resourceRoutes, routeHref), site-aware Link and useNavigate wrappers, SeoMeta and JsonLd head tags, multi-site /:siteId/:localeId URL prefixes, url.seoRoutes and excludeRoutes, extension routes, and the SLAS callback routes. Use for \"add a page\", \"new route\", \"why is my link missing the site prefix\", \"route file naming\", \"redirect to login\", or a 404 on a new URL. Do not use for loader/action/fetcher data code (use `storefront-next:sfnext-data-fetching`), shouldRevalidate (use `storefront-next:sfnext-revalidation`), SEO strategy such as sitemaps and canonical rules (use `storefront-next:sfnext-seo`), or Page Designer regions (use `storefront-next:sfnext-page-designer`).",
|
|
1753
|
+
"entrypoint": "SKILL.md",
|
|
1754
|
+
"frontmatter": {
|
|
1755
|
+
"name": "sfnext-routing",
|
|
1756
|
+
"description": "Add and change pages in a Storefront Next project: flat-file routes in src/routes, layout routes (_app, _checkout, _empty), splat routes for product and category pages, action.* and resource.* routes, src/route-paths.ts (routes, resourceRoutes, routeHref), site-aware Link and useNavigate wrappers, SeoMeta and JsonLd head tags, multi-site /:siteId/:localeId URL prefixes, url.seoRoutes and excludeRoutes, extension routes, and the SLAS callback routes. Use for \"add a page\", \"new route\", \"why is my link missing the site prefix\", \"route file naming\", \"redirect to login\", or a 404 on a new URL. Do not use for loader/action/fetcher data code (use `storefront-next:sfnext-data-fetching`), shouldRevalidate (use `storefront-next:sfnext-revalidation`), SEO strategy such as sitemaps and canonical rules (use `storefront-next:sfnext-seo`), or Page Designer regions (use `storefront-next:sfnext-page-designer`)."
|
|
1757
|
+
},
|
|
1758
|
+
"source": "skills/storefront-next/skills/sfnext-routing/SKILL.md",
|
|
1759
|
+
"headings": "Route conventions | File name to URL | Route module exports | Typed route props | Layout notes | Head tags | Checklist when renaming or deleting a route | Site prefixes, excluded routes and SEO aliases | Rules | Callbacks that cannot carry a prefix | Storefront Next Routing | How routes are discovered | Route tree (what exists) | Add a page | Links and navigation: always use the project wrappers | URL configuration | Protecting routes | Rules to keep in mind | Finding more | Related Skills",
|
|
1760
|
+
"files": [
|
|
1761
|
+
{
|
|
1762
|
+
"path": "references/ROUTE-CONVENTIONS.md",
|
|
1763
|
+
"bytes": 3438,
|
|
1764
|
+
"digest": "sha256:e0e6b3c74227b233f1fa46d66a9b923f880d3325e44f4041dbf59221558507c1"
|
|
1765
|
+
},
|
|
1766
|
+
{
|
|
1767
|
+
"path": "references/URLS-AND-SEO-ROUTES.md",
|
|
1768
|
+
"bytes": 1801,
|
|
1769
|
+
"digest": "sha256:ae5c2b41f7de46fee78cbb0776c1995f67d4250602fde1ad84de7a6c22cc11df"
|
|
1770
|
+
},
|
|
1771
|
+
{
|
|
1772
|
+
"path": "SKILL.md",
|
|
1773
|
+
"bytes": 9276,
|
|
1774
|
+
"digest": "sha256:834e14427eec5e9addd1b1f1ee96fcdf082a49402327577f6a1f90e1583eaa83"
|
|
1775
|
+
}
|
|
1776
|
+
]
|
|
1777
|
+
},
|
|
1778
|
+
{
|
|
1779
|
+
"id": "storefront-next/sfnext-scapi",
|
|
1780
|
+
"collection": "storefront-next",
|
|
1781
|
+
"title": "sfnext-scapi",
|
|
1782
|
+
"description": "Use and extend SCAPI clients in a Storefront Next project: createApiClients, the `@/scapi` type barrel, typing `c_*` custom attributes by overriding a built-in client, and adding your own custom API end to end with `b2c sfnext scapi` (add, available, list, remove). Use for \"clients.shopperProducts\", \"c_ attribute is not typed\", \"sfnext scapi add\", \"add custom API to the storefront\", src/scapi/ generated files, custom-clients.ts, calling a loyalty/notify-style custom endpoint from a loader or action, useScapiFetcher, personalized=none for custom clients, or 404 from a custom endpoint. Do not use for writing the cartridge/schema.yaml itself (use `b2c:b2c-custom-api-development`), endpoint registration status (use `b2c-cli:b2c-scapi-custom`), loader/caching strategy (use `storefront-next:sfnext-data-fetching`), or login/session code (use `storefront-next:sfnext-authentication`).",
|
|
1783
|
+
"entrypoint": "SKILL.md",
|
|
1784
|
+
"frontmatter": {
|
|
1785
|
+
"name": "sfnext-scapi",
|
|
1786
|
+
"description": "Use and extend SCAPI clients in a Storefront Next project: createApiClients, the `@/scapi` type barrel, typing `c_*` custom attributes by overriding a built-in client, and adding your own custom API end to end with `b2c sfnext scapi` (add, available, list, remove). Use for \"clients.shopperProducts\", \"c_ attribute is not typed\", \"sfnext scapi add\", \"add custom API to the storefront\", src/scapi/ generated files, custom-clients.ts, calling a loyalty/notify-style custom endpoint from a loader or action, useScapiFetcher, personalized=none for custom clients, or 404 from a custom endpoint. Do not use for writing the cartridge/schema.yaml itself (use `b2c:b2c-custom-api-development`), endpoint registration status (use `b2c-cli:b2c-scapi-custom`), loader/caching strategy (use `storefront-next:sfnext-data-fetching`), or login/session code (use `storefront-next:sfnext-authentication`)."
|
|
1787
|
+
},
|
|
1788
|
+
"source": "skills/storefront-next/skills/sfnext-scapi/SKILL.md",
|
|
1789
|
+
"headings": "Worked Example: the shipped `sfnext-notify` custom API | Storefront Next SCAPI Clients and Custom APIs | The CLI surface | What gets generated | Import rule | Use clients in loaders and actions | End-to-end: a new custom API | Non-personalized caching | Pitfalls | Related Skills",
|
|
1790
|
+
"files": [
|
|
1791
|
+
{
|
|
1792
|
+
"path": "references/WORKED-EXAMPLE.md",
|
|
1793
|
+
"bytes": 2172,
|
|
1794
|
+
"digest": "sha256:f852a9c1f6e915def30d8b7ffdb337dff8e8bcb5062faf4cf6f8bf083749c97b"
|
|
1795
|
+
},
|
|
1796
|
+
{
|
|
1797
|
+
"path": "SKILL.md",
|
|
1798
|
+
"bytes": 9802,
|
|
1799
|
+
"digest": "sha256:19e3aca66aa64cb58c650b3c3e97c092e01f829832f30095a5dfcbfb803cf66a"
|
|
1800
|
+
}
|
|
1801
|
+
]
|
|
1802
|
+
},
|
|
1803
|
+
{
|
|
1804
|
+
"id": "storefront-next/sfnext-security",
|
|
1805
|
+
"collection": "storefront-next",
|
|
1806
|
+
"title": "sfnext-security",
|
|
1807
|
+
"description": "Configure Storefront Next security response headers, Content Security Policy (CSP), CSP contributors, Cloudflare Turnstile bot protection, and the shared cookie domain. Use for \"Refused to load the script/connect/image\" CSP violations, adding a third-party origin, app.security.headers, defaultCspDirectives, csp reportOnly rollout, writing a CSP contributor under src/middlewares/csp-contributors, HSTS or Permissions-Policy, Turnstile widget or enforceTurnstile, TURNSTILE_SECRET_KEYS, log-only rollout, or app.cookies.domain across subdomains. Do not use for auth tokens, cookie names or login flows (use `storefront-next:sfnext-authentication`), SFRA proxy routing (use `storefront-next:sfnext-hybrid-storefronts`), or consent banners and tracking (use `storefront-next:sfnext-analytics-consent`).",
|
|
1808
|
+
"entrypoint": "SKILL.md",
|
|
1809
|
+
"frontmatter": {
|
|
1810
|
+
"name": "sfnext-security",
|
|
1811
|
+
"description": "Configure Storefront Next security response headers, Content Security Policy (CSP), CSP contributors, Cloudflare Turnstile bot protection, and the shared cookie domain. Use for \"Refused to load the script/connect/image\" CSP violations, adding a third-party origin, app.security.headers, defaultCspDirectives, csp reportOnly rollout, writing a CSP contributor under src/middlewares/csp-contributors, HSTS or Permissions-Policy, Turnstile widget or enforceTurnstile, TURNSTILE_SECRET_KEYS, log-only rollout, or app.cookies.domain across subdomains. Do not use for auth tokens, cookie names or login flows (use `storefront-next:sfnext-authentication`), SFRA proxy routing (use `storefront-next:sfnext-hybrid-storefronts`), or consent banners and tracking (use `storefront-next:sfnext-analytics-consent`)."
|
|
1812
|
+
},
|
|
1813
|
+
"source": "skills/storefront-next/skills/sfnext-security/SKILL.md",
|
|
1814
|
+
"headings": "Cookie domain reference | Resolution order | Business Manager match | Verify | Rollout | Turnstile reference | Modules | Enforcement points | Fail-open vs fail-closed | Verification mode | Cloudflare test keys (local development) | Manual checks | Storefront Next Security | Default headers | Allow a new third-party origin | Roll out or relax safely | CSP contributors | Turnstile bot protection | Cookie domain | Pitfalls | Related Skills",
|
|
1815
|
+
"files": [
|
|
1816
|
+
{
|
|
1817
|
+
"path": "references/COOKIE-DOMAIN.md",
|
|
1818
|
+
"bytes": 1608,
|
|
1819
|
+
"digest": "sha256:5b1d3ee402eb904192d9fd1f3d5952c357369b3aa1477c63660c006ab896111e"
|
|
1820
|
+
},
|
|
1821
|
+
{
|
|
1822
|
+
"path": "references/TURNSTILE.md",
|
|
1823
|
+
"bytes": 2635,
|
|
1824
|
+
"digest": "sha256:cddcdd2111a579e565972bf1ce1679a0b0b4d7f2ac36cae1edc29fc1ee8b186b"
|
|
1825
|
+
},
|
|
1826
|
+
{
|
|
1827
|
+
"path": "SKILL.md",
|
|
1828
|
+
"bytes": 8964,
|
|
1829
|
+
"digest": "sha256:a18a725bc862f2169dc0010807c4356454033a72ced2710cbf344b4318760234"
|
|
1830
|
+
}
|
|
1831
|
+
]
|
|
1832
|
+
},
|
|
1833
|
+
{
|
|
1834
|
+
"id": "storefront-next/sfnext-seo",
|
|
1835
|
+
"collection": "storefront-next",
|
|
1836
|
+
"title": "sfnext-seo",
|
|
1837
|
+
"description": "Storefront Next SEO and AEO/GEO: the SeoMeta component (title, description, noIndex, Open Graph, X cards), JsonLd structured data, canonical URLs and the query-parameter allowlist, hreflang, configurable product/category URLs via url.seoRoutes, semantic URL builders (createProductUrl, createCategoryUrl, useSeoUrlContext), redirectToCanonicalPath, crawler rendering and pagination, and how multi-domain and base path affect generated URLs. Use when adding meta tags or JSON-LD to a route, enabling or changing seoRoutes, fixing duplicate or wrong canonical or og:url URLs, or when a build fails for a missing site in seoRoutes. Do not use for route file naming (use `storefront-next:sfnext-routing`), site/locale config in general (use `storefront-next:sfnext-configuration`), or translations (use `storefront-next:sfnext-i18n`).",
|
|
1838
|
+
"entrypoint": "SKILL.md",
|
|
1839
|
+
"frontmatter": {
|
|
1840
|
+
"name": "sfnext-seo",
|
|
1841
|
+
"description": "Storefront Next SEO and AEO/GEO: the SeoMeta component (title, description, noIndex, Open Graph, X cards), JsonLd structured data, canonical URLs and the query-parameter allowlist, hreflang, configurable product/category URLs via url.seoRoutes, semantic URL builders (createProductUrl, createCategoryUrl, useSeoUrlContext), redirectToCanonicalPath, crawler rendering and pagination, and how multi-domain and base path affect generated URLs. Use when adding meta tags or JSON-LD to a route, enabling or changing seoRoutes, fixing duplicate or wrong canonical or og:url URLs, or when a build fails for a missing site in seoRoutes. Do not use for route file naming (use `storefront-next:sfnext-routing`), site/locale config in general (use `storefront-next:sfnext-configuration`), or translations (use `storefront-next:sfnext-i18n`)."
|
|
1842
|
+
},
|
|
1843
|
+
"source": "skills/storefront-next/skills/sfnext-seo/SKILL.md",
|
|
1844
|
+
"headings": "Multi-domain and base path effects on URLs | Multiple domains, one environment | Base path | Adopting url.seoRoutes | What it changes | Checklist before enabling | Avoid breaking indexed URLs | Hybrid deployments | Verifying | Storefront Next SEO | Page metadata: SeoMeta | Structured data: JsonLd | One URL everywhere | Configurable URLs: url.seoRoutes | Multi-domain and base path | Crawlers | Related Skills",
|
|
1845
|
+
"files": [
|
|
1846
|
+
{
|
|
1847
|
+
"path": "references/MULTI-DOMAIN-BASE-PATH.md",
|
|
1848
|
+
"bytes": 1237,
|
|
1849
|
+
"digest": "sha256:bc4109c782bd4db9b967e60121028c74bec866f75ea94b7ee2b3471f23508399"
|
|
1850
|
+
},
|
|
1851
|
+
{
|
|
1852
|
+
"path": "references/SEO-ROUTES.md",
|
|
1853
|
+
"bytes": 1971,
|
|
1854
|
+
"digest": "sha256:44284f0267d0c19b1679a680c2d2f3213b2aef6b6f96409b50bedb0985b1ad85"
|
|
1855
|
+
},
|
|
1856
|
+
{
|
|
1857
|
+
"path": "SKILL.md",
|
|
1858
|
+
"bytes": 5499,
|
|
1859
|
+
"digest": "sha256:c13d2d57d35fa8007772b8eb48ebb8e49ee52764609ba7e5b287fd1253a29c48"
|
|
1860
|
+
}
|
|
1861
|
+
]
|
|
1862
|
+
},
|
|
1863
|
+
{
|
|
1864
|
+
"id": "storefront-next/sfnext-state-management",
|
|
1865
|
+
"collection": "storefront-next",
|
|
1866
|
+
"title": "sfnext-state-management",
|
|
1867
|
+
"description": "Choose the right state mechanism in a Storefront Next project: loader and action data, useRouteLoaderData, URL state with useSearchParams, cookies and sessions, optimistic UI (fetcher.formData, useNavigation, useOptimistic), React context providers (BasketProvider, AuthProvider, wishlist, product-context), and small useSyncExternalStore stores such as the mini-cart store. Use for \"where should this state live\", \"useBasket\", \"useAuth\", \"share state between components\", \"optimistic add to cart\", \"global client state\", \"hydration mismatch from a store\", or \"do I need Zustand\". Do not use for fetching or mutating data (use `storefront-next:sfnext-data-fetching`), controlling loader re-runs (use `storefront-next:sfnext-revalidation`), or login flows and sessions (use `storefront-next:sfnext-authentication`).",
|
|
1868
|
+
"entrypoint": "SKILL.md",
|
|
1869
|
+
"frontmatter": {
|
|
1870
|
+
"name": "sfnext-state-management",
|
|
1871
|
+
"description": "Choose the right state mechanism in a Storefront Next project: loader and action data, useRouteLoaderData, URL state with useSearchParams, cookies and sessions, optimistic UI (fetcher.formData, useNavigation, useOptimistic), React context providers (BasketProvider, AuthProvider, wishlist, product-context), and small useSyncExternalStore stores such as the mini-cart store. Use for \"where should this state live\", \"useBasket\", \"useAuth\", \"share state between components\", \"optimistic add to cart\", \"global client state\", \"hydration mismatch from a store\", or \"do I need Zustand\". Do not use for fetching or mutating data (use `storefront-next:sfnext-data-fetching`), controlling loader re-runs (use `storefront-next:sfnext-revalidation`), or login flows and sessions (use `storefront-next:sfnext-authentication`)."
|
|
1872
|
+
},
|
|
1873
|
+
"source": "skills/storefront-next/skills/sfnext-state-management/SKILL.md",
|
|
1874
|
+
"headings": "State patterns and anti-patterns | Render scope should not exceed data-change scope | Provider value stability | Manager components | Server versus client snapshots | URL state | Cookies | Derived state | Testing state | Storefront Next State Management | Decision table | Existing providers and stores | Optimistic UI | A small external store | Context providers | Common mistakes | Finding more | Related Skills",
|
|
1875
|
+
"files": [
|
|
1876
|
+
{
|
|
1877
|
+
"path": "references/PATTERNS.md",
|
|
1878
|
+
"bytes": 2778,
|
|
1879
|
+
"digest": "sha256:1b87bdb3249f2c0a6541f311b454576559e299c8a461344df93793339d68595f"
|
|
1880
|
+
},
|
|
1881
|
+
{
|
|
1882
|
+
"path": "SKILL.md",
|
|
1883
|
+
"bytes": 7077,
|
|
1884
|
+
"digest": "sha256:3d08526f70352815d3fbc9cca4562d000bdf9b916a73e81797a6bebd87dafb2d"
|
|
1885
|
+
}
|
|
1886
|
+
]
|
|
1887
|
+
},
|
|
1888
|
+
{
|
|
1889
|
+
"id": "storefront-next/sfnext-testing",
|
|
1890
|
+
"collection": "storefront-next",
|
|
1891
|
+
"title": "sfnext-testing",
|
|
1892
|
+
"description": "Write and run tests for a Storefront Next project: Vitest + React Testing Library unit tests, route loader/action tests (createLoaderArgs, createTestContext), Storybook stories with snapshot, interaction (play) and a11y runs, and a pointer to the CodeceptJS/Playwright e2e suite. Use for \"write a test for this component/loader\", \"add a story\", pnpm test, pnpm storybook:test --type=snapshot|interaction|a11y, coverage thresholds, routeLoaderData / scapiMock / mockRoutes story parameters, MSW mocking, fixtures in @/components/__mocks__, failing snapshot updates, or pnpm e2e. Do not use for lint, typecheck, format, bundle-size or Lighthouse gates (use `storefront-next:sfnext-quality-gates`), accessibility rules and fixes (use `storefront-next:sfnext-accessibility`), or translations (use `storefront-next:sfnext-i18n`).",
|
|
1893
|
+
"entrypoint": "SKILL.md",
|
|
1894
|
+
"frontmatter": {
|
|
1895
|
+
"name": "sfnext-testing",
|
|
1896
|
+
"description": "Write and run tests for a Storefront Next project: Vitest + React Testing Library unit tests, route loader/action tests (createLoaderArgs, createTestContext), Storybook stories with snapshot, interaction (play) and a11y runs, and a pointer to the CodeceptJS/Playwright e2e suite. Use for \"write a test for this component/loader\", \"add a story\", pnpm test, pnpm storybook:test --type=snapshot|interaction|a11y, coverage thresholds, routeLoaderData / scapiMock / mockRoutes story parameters, MSW mocking, fixtures in @/components/__mocks__, failing snapshot updates, or pnpm e2e. Do not use for lint, typecheck, format, bundle-size or Lighthouse gates (use `storefront-next:sfnext-quality-gates`), accessibility rules and fixes (use `storefront-next:sfnext-accessibility`), or translations (use `storefront-next:sfnext-i18n`)."
|
|
1897
|
+
},
|
|
1898
|
+
"source": "skills/storefront-next/skills/sfnext-testing/SKILL.md",
|
|
1899
|
+
"headings": "End-to-end tests | Setup | Run | Keep in mind | Storybook patterns | Principles | Decorator stack | Story parameters | Titles and sidebar | Naming and layout | argTypes | play() functions | Accessibility in stories | Story coverage | Anti-patterns | Unit and route tests | Environment (`vitest.config.ts`, `vitest.setup.ts`) | Helper inventory | Loader/action pattern | MSW | Hooks and components | i18n in tests | Testing Storefront Next | Commands | Unit test | Route loader / action test | Stories | End to end | Pitfalls | Related Skills",
|
|
1900
|
+
"files": [
|
|
1901
|
+
{
|
|
1902
|
+
"path": "references/E2E.md",
|
|
1903
|
+
"bytes": 1980,
|
|
1904
|
+
"digest": "sha256:b5c338fe32c6320b0ee3a247bc6247d85ff61d494d68fea16cbb6679ce6525b8"
|
|
1905
|
+
},
|
|
1906
|
+
{
|
|
1907
|
+
"path": "references/STORYBOOK-PATTERNS.md",
|
|
1908
|
+
"bytes": 5694,
|
|
1909
|
+
"digest": "sha256:09538ab3d36dd2c1e60b116ff35087883a4a68cc3b1e4227bbf4f5a7d92bf222"
|
|
1910
|
+
},
|
|
1911
|
+
{
|
|
1912
|
+
"path": "references/UNIT-AND-ROUTE-TESTS.md",
|
|
1913
|
+
"bytes": 3916,
|
|
1914
|
+
"digest": "sha256:dfb980474bdc5572171c77738dd3384de534220db4b4c3f51365d2edd3028381"
|
|
1915
|
+
},
|
|
1916
|
+
{
|
|
1917
|
+
"path": "SKILL.md",
|
|
1918
|
+
"bytes": 8366,
|
|
1919
|
+
"digest": "sha256:d3fdbb661cdb48298f1fe97b8d988d3ad1bcc4d71d4b045318d05694d9303b56"
|
|
1920
|
+
}
|
|
1921
|
+
]
|
|
1922
|
+
},
|
|
1923
|
+
{
|
|
1924
|
+
"id": "storefront-next/sfnext-theming",
|
|
1925
|
+
"collection": "storefront-next",
|
|
1926
|
+
"title": "sfnext-theming",
|
|
1927
|
+
"description": "Re-brand and re-skin a Storefront Next storefront: change the color palette, corner radius and shadows (shape tokens), header and footer colors, typography and web fonts, logo, favicon, hero scrims, and brand copy, with WCAG contrast checks. Use when asked to rebrand or restyle the storefront, change the primary color, swap the font, make the header dark, make cards rounded or flat, replace the logo, edit src/theme, core.css, header.css, brand.css, tailwind.css, base.css, or src/lib/fonts.ts, or verify a theme change in the Design System Storybook stories. Do not use for building or styling an individual component (use `storefront-next:sfnext-components`), Figma kit sync (use `storefront-next-figma:sfnext-create-figma-kit`), or site configuration (use `storefront-next:sfnext-configuration`).",
|
|
1928
|
+
"entrypoint": "SKILL.md",
|
|
1929
|
+
"frontmatter": {
|
|
1930
|
+
"name": "sfnext-theming",
|
|
1931
|
+
"description": "Re-brand and re-skin a Storefront Next storefront: change the color palette, corner radius and shadows (shape tokens), header and footer colors, typography and web fonts, logo, favicon, hero scrims, and brand copy, with WCAG contrast checks. Use when asked to rebrand or restyle the storefront, change the primary color, swap the font, make the header dark, make cards rounded or flat, replace the logo, edit src/theme, core.css, header.css, brand.css, tailwind.css, base.css, or src/lib/fonts.ts, or verify a theme change in the Design System Storybook stories. Do not use for building or styling an individual component (use `storefront-next:sfnext-components`), Figma kit sync (use `storefront-next-figma:sfnext-create-figma-kit`), or site configuration (use `storefront-next:sfnext-configuration`)."
|
|
1932
|
+
},
|
|
1933
|
+
"source": "skills/storefront-next/skills/sfnext-theming/SKILL.md",
|
|
1934
|
+
"headings": "Rebrand Checklist | Common mistakes | Theming a Storefront Next Storefront | Where things live | Workflow | 1. Read the current theme | 2. Palette | 3. Header, footer, and newsletter chrome | 4. Shape | 5. Typography | 6. Assets and copy | 7. Dark mode | 8. Verify | Guardrails | Design handoff | Related Skills",
|
|
1935
|
+
"files": [
|
|
1936
|
+
{
|
|
1937
|
+
"path": "references/REBRAND-CHECKLIST.md",
|
|
1938
|
+
"bytes": 2019,
|
|
1939
|
+
"digest": "sha256:42c9c65f6ee62b0e6cf5b5014d86f5972c262b14b0d0c1e08b20b75a68f98720"
|
|
1940
|
+
},
|
|
1941
|
+
{
|
|
1942
|
+
"path": "SKILL.md",
|
|
1943
|
+
"bytes": 7981,
|
|
1944
|
+
"digest": "sha256:2e67b05dfe53c60a38bb10b2590c7c624fc6b9177c255d7bdc26d78e663e1dec"
|
|
1945
|
+
}
|
|
1946
|
+
]
|
|
1947
|
+
}
|
|
1948
|
+
]
|
|
1949
|
+
}
|