@salesforce/b2c-dx-mcp 3.2.1 → 3.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.
Files changed (333) hide show
  1. package/bin/run.js +5 -9
  2. package/content/guidance/b2c/b2c-hooks/references/ORDER-HOOK-LIFECYCLE.md +1 -1
  3. package/content/guidance/b2c/b2c-onboarding/SKILL.md +4 -4
  4. package/content/guidance/b2c/b2c-ordering/SKILL.md +2 -2
  5. package/content/guidance/b2c/b2c-querying-data/SKILL.md +2 -2
  6. package/content/guidance/b2c/b2c-scapi-admin/SKILL.md +3 -3
  7. package/content/guidance/b2c/b2c-scapi-admin/references/CLIENT-EXAMPLES.md +4 -4
  8. package/content/guidance/b2c/b2c-scapi-shopper/SKILL.md +6 -6
  9. package/content/guidance/b2c/b2c-scapi-shopper/references/CLIENT-EXAMPLES.md +8 -9
  10. package/content/guidance/b2c-cli/b2c-cip/SKILL.md +3 -3
  11. package/content/guidance/b2c-cli/b2c-cip/references/SALES_ANALYSIS.md +1 -1
  12. package/content/guidance/b2c-cli/b2c-config/SKILL.md +54 -25
  13. package/content/guidance/b2c-cli/b2c-content/SKILL.md +1 -1
  14. package/content/guidance/b2c-cli/b2c-debug/SKILL.md +1 -1
  15. package/content/guidance/b2c-cli/b2c-docs/SKILL.md +23 -2
  16. package/content/guidance/b2c-cli/b2c-ecdn/SKILL.md +2 -0
  17. package/content/guidance/b2c-cli/b2c-ecdn/references/ADVANCED.md +1 -1
  18. package/content/guidance/b2c-cli/b2c-job/SKILL.md +9 -3
  19. package/content/guidance/b2c-cli/b2c-job/references/IMPORT.md +1 -1
  20. package/content/guidance/b2c-cli/b2c-job/references/RUN-AND-MONITOR.md +35 -6
  21. package/content/guidance/b2c-cli/b2c-metrics/SKILL.md +1 -1
  22. package/content/guidance/b2c-cli/b2c-mrt/SKILL.md +3 -3
  23. package/content/guidance/b2c-cli/b2c-scapi-custom/SKILL.md +1 -1
  24. package/content/guidance/b2c-cli/b2c-scapi-schemas/SKILL.md +6 -2
  25. package/content/guidance/b2c-cli/b2c-site-import-export/SKILL.md +1 -1
  26. package/content/guidance/b2c-cli/b2c-sites/SKILL.md +1 -1
  27. package/content/guidance/b2c-cli/b2c-slas/SKILL.md +1 -1
  28. package/content/guidance/b2c-ops/b2c-checkout-triage/SKILL.md +2 -2
  29. package/content/guidance/b2c-ops/b2c-edge-traffic-triage/SKILL.md +69 -0
  30. package/content/guidance/b2c-ops/b2c-job-health/SKILL.md +13 -8
  31. package/content/guidance/b2c-ops/b2c-order-failure-triage/SKILL.md +1 -1
  32. package/content/guidance/b2c-ops/b2c-order-failure-triage/references/order-evidence.md +2 -2
  33. package/content/guidance/b2c-ops/b2c-production-triage/SKILL.md +5 -4
  34. package/content/guidance/index.json +981 -259
  35. package/content/guidance/mcp/{cip → b2c-mcp-cip}/SKILL.md +10 -8
  36. package/content/guidance/mcp/{b2c-config → b2c-mcp-config}/SKILL.md +10 -9
  37. package/content/guidance/mcp/{debugger → b2c-mcp-debugger}/SKILL.md +9 -8
  38. package/content/guidance/mcp/b2c-mcp-scapi/SKILL.md +98 -0
  39. package/content/guidance/mcp/b2c-mcp-scapi/references/authentication.md +34 -0
  40. package/content/guidance/mcp/b2c-mcp-scapi/references/compose-verify.md +25 -0
  41. package/content/guidance/mcp/b2c-mcp-scapi/references/confirmation.md +30 -0
  42. package/content/guidance/mcp/b2c-mcp-scapi/references/discover.md +94 -0
  43. package/content/guidance/mcp/b2c-mcp-scapi/references/jobs.md +72 -0
  44. package/content/guidance/mcp/b2c-mcp-scapi/references/workflows.md +28 -0
  45. package/content/guidance/mcp/{server → b2c-mcp-server}/SKILL.md +52 -25
  46. package/content/guidance/storefront-next/sfnext-accessibility/SKILL.md +103 -0
  47. package/content/guidance/storefront-next/sfnext-accessibility/references/checklist.md +64 -0
  48. package/content/guidance/storefront-next/sfnext-analytics-consent/SKILL.md +91 -0
  49. package/content/guidance/storefront-next/sfnext-analytics-consent/references/CUSTOM-ADAPTER.md +49 -0
  50. package/content/guidance/storefront-next/sfnext-authentication/SKILL.md +86 -79
  51. package/content/guidance/storefront-next/sfnext-authentication/references/COOKIES.md +39 -0
  52. package/content/guidance/storefront-next/sfnext-authentication/references/LOGIN-FLOWS.md +59 -0
  53. package/content/guidance/storefront-next/sfnext-commerce-features/SKILL.md +67 -0
  54. package/content/guidance/storefront-next/sfnext-commerce-features/references/FEATURE-PREREQUISITES.md +37 -0
  55. package/content/guidance/storefront-next/sfnext-components/SKILL.md +98 -136
  56. package/content/guidance/storefront-next/sfnext-components/references/COMPONENT-AUTHORING.md +118 -0
  57. package/content/guidance/storefront-next/sfnext-components/references/SHAPE-TOKENS.md +51 -0
  58. package/content/guidance/storefront-next/sfnext-components/references/STORYBOOK.md +54 -0
  59. package/content/guidance/storefront-next/sfnext-components/references/TOKEN-SYSTEM.md +53 -0
  60. package/content/guidance/storefront-next/sfnext-components/references/TROUBLESHOOTING.md +19 -0
  61. package/content/guidance/storefront-next/sfnext-configuration/SKILL.md +116 -113
  62. package/content/guidance/storefront-next/sfnext-configuration/references/ENV-VARIABLES.md +55 -0
  63. package/content/guidance/storefront-next/sfnext-configuration/references/MULTI-SITE-URLS.md +137 -0
  64. package/content/guidance/storefront-next/sfnext-data-fetching/SKILL.md +100 -150
  65. package/content/guidance/storefront-next/sfnext-data-fetching/references/ACTIONS.md +53 -0
  66. package/content/guidance/storefront-next/sfnext-data-fetching/references/API-CLIENTS.md +34 -0
  67. package/content/guidance/storefront-next/sfnext-data-fetching/references/LOADERS.md +73 -0
  68. package/content/guidance/storefront-next/sfnext-data-fetching/references/SCAPI-FETCHER.md +23 -77
  69. package/content/guidance/storefront-next/sfnext-deployment/SKILL.md +83 -97
  70. package/content/guidance/storefront-next/sfnext-deployment/references/MRT-DEPLOYMENT.md +37 -68
  71. package/content/guidance/storefront-next/sfnext-extensions/SKILL.md +73 -97
  72. package/content/guidance/storefront-next/sfnext-extensions/references/ACTION-HOOKS.md +57 -0
  73. package/content/guidance/storefront-next/sfnext-extensions/references/BASE-AUDIT.md +47 -44
  74. package/content/guidance/storefront-next/sfnext-extensions/references/CLI-AND-INSTALL.md +58 -0
  75. package/content/guidance/storefront-next/sfnext-extensions/references/EXTENSION-EXAMPLES.md +49 -86
  76. package/content/guidance/storefront-next/sfnext-hybrid-storefronts/SKILL.md +59 -114
  77. package/content/guidance/storefront-next/sfnext-hybrid-storefronts/references/HYBRID-PROXY-CONFIG.md +53 -90
  78. package/content/guidance/storefront-next/sfnext-i18n/SKILL.md +96 -131
  79. package/content/guidance/storefront-next/sfnext-i18n/references/locale-config.md +35 -0
  80. package/content/guidance/storefront-next/sfnext-overview/SKILL.md +101 -0
  81. package/content/guidance/storefront-next/sfnext-page-designer/SKILL.md +152 -131
  82. package/content/guidance/storefront-next/sfnext-page-designer/references/BUSINESS-MANAGER.md +46 -0
  83. package/content/guidance/storefront-next/sfnext-page-designer/references/COMPONENT-REGISTRY.md +86 -53
  84. package/content/guidance/storefront-next/sfnext-page-designer/references/DECORATOR-PATTERNS.md +119 -131
  85. package/content/guidance/storefront-next/sfnext-page-designer/references/REVIEW-CHECKLIST.md +83 -0
  86. package/content/guidance/storefront-next/sfnext-page-designer/references/TROUBLESHOOTING.md +35 -0
  87. package/content/guidance/storefront-next/sfnext-performance/SKILL.md +75 -105
  88. package/content/guidance/storefront-next/sfnext-performance/references/PERFORMANCE-REVIEW-CHECKLIST.md +85 -0
  89. package/content/guidance/storefront-next/sfnext-performance/references/SUSPENSE-AND-STREAMING.md +58 -0
  90. package/content/guidance/storefront-next/sfnext-project-setup/SKILL.md +103 -116
  91. package/content/guidance/storefront-next/sfnext-project-setup/references/PROJECT-STRUCTURE.md +61 -99
  92. package/content/guidance/storefront-next/sfnext-project-setup/references/SCRIPTS.md +47 -0
  93. package/content/guidance/storefront-next/sfnext-project-setup/references/SFNEXT-CLI.md +63 -0
  94. package/content/guidance/storefront-next/sfnext-quality-gates/SKILL.md +70 -0
  95. package/content/guidance/storefront-next/sfnext-quality-gates/references/lint-and-budgets.md +39 -0
  96. package/content/guidance/storefront-next/sfnext-revalidation/SKILL.md +121 -0
  97. package/content/guidance/storefront-next/sfnext-revalidation/references/POLICIES-AND-TAGS.md +55 -0
  98. package/content/guidance/storefront-next/sfnext-routing/SKILL.md +86 -143
  99. package/content/guidance/storefront-next/sfnext-routing/references/ROUTE-CONVENTIONS.md +51 -51
  100. package/content/guidance/storefront-next/sfnext-routing/references/URLS-AND-SEO-ROUTES.md +22 -0
  101. package/content/guidance/storefront-next/sfnext-scapi/SKILL.md +126 -0
  102. package/content/guidance/storefront-next/sfnext-scapi/references/WORKED-EXAMPLE.md +39 -0
  103. package/content/guidance/storefront-next/sfnext-security/SKILL.md +129 -0
  104. package/content/guidance/storefront-next/sfnext-security/references/COOKIE-DOMAIN.md +39 -0
  105. package/content/guidance/storefront-next/sfnext-security/references/TURNSTILE.md +43 -0
  106. package/content/guidance/storefront-next/sfnext-seo/SKILL.md +95 -0
  107. package/content/guidance/storefront-next/sfnext-seo/references/MULTI-DOMAIN-BASE-PATH.md +17 -0
  108. package/content/guidance/storefront-next/sfnext-seo/references/SEO-ROUTES.md +31 -0
  109. package/content/guidance/storefront-next/sfnext-state-management/SKILL.md +80 -89
  110. package/content/guidance/storefront-next/sfnext-state-management/references/PATTERNS.md +45 -0
  111. package/content/guidance/storefront-next/sfnext-testing/SKILL.md +105 -138
  112. package/content/guidance/storefront-next/sfnext-testing/references/E2E.md +38 -0
  113. package/content/guidance/storefront-next/sfnext-testing/references/STORYBOOK-PATTERNS.md +73 -94
  114. package/content/guidance/storefront-next/sfnext-testing/references/UNIT-AND-ROUTE-TESTS.md +60 -0
  115. package/content/guidance/storefront-next/sfnext-theming/SKILL.md +104 -0
  116. package/content/guidance/storefront-next/sfnext-theming/references/REBRAND-CHECKLIST.md +29 -0
  117. package/dist/commands/mcp.d.ts +8 -2
  118. package/dist/commands/mcp.js +54 -20
  119. package/dist/guidance.d.ts +4 -1
  120. package/dist/guidance.js +23 -5
  121. package/dist/registry.d.ts +2 -1
  122. package/dist/registry.js +3 -3
  123. package/dist/server.d.ts +10 -0
  124. package/dist/server.js +21 -0
  125. package/dist/skill-references.js +5 -5
  126. package/dist/tools/cartridges/index.js +1 -0
  127. package/dist/tools/cip/index.js +6 -3
  128. package/dist/tools/diagnostics/debug-capture-at-breakpoint.js +1 -1
  129. package/dist/tools/diagnostics/debug-set-breakpoints.js +1 -1
  130. package/dist/tools/diagnostics/debug-start-session.js +1 -1
  131. package/dist/tools/docs/docs-read.js +4 -2
  132. package/dist/tools/docs/docs-search.js +10 -8
  133. package/dist/tools/docs/topics.d.ts +5 -0
  134. package/dist/tools/docs/topics.js +5 -0
  135. package/dist/tools/scapi/index.d.ts +4 -1
  136. package/dist/tools/scapi/index.js +4 -2
  137. package/dist/tools/scapi/scapi-code.d.ts +2 -2
  138. package/dist/tools/scapi/scapi-code.js +106 -81
  139. package/dist/tools/scapi/scapi-schemas-list.js +93 -56
  140. package/dist/utils/types.d.ts +6 -0
  141. package/node_modules/@salesforce/b2c-agent-plugins/CHANGELOG.md +32 -0
  142. package/node_modules/@salesforce/b2c-agent-plugins/README.md +5 -0
  143. package/node_modules/@salesforce/b2c-agent-plugins/b2c/.codex-plugin/plugin.json +1 -1
  144. package/node_modules/@salesforce/b2c-agent-plugins/b2c/plugin.json +1 -1
  145. package/node_modules/@salesforce/b2c-agent-plugins/b2c/skills/b2c-hooks/references/ORDER-HOOK-LIFECYCLE.md +1 -1
  146. package/node_modules/@salesforce/b2c-agent-plugins/b2c/skills/b2c-onboarding/SKILL.md +4 -4
  147. package/node_modules/@salesforce/b2c-agent-plugins/b2c/skills/b2c-ordering/SKILL.md +2 -2
  148. package/node_modules/@salesforce/b2c-agent-plugins/b2c/skills/b2c-querying-data/SKILL.md +2 -2
  149. package/node_modules/@salesforce/b2c-agent-plugins/b2c/skills/b2c-scapi-admin/SKILL.md +3 -3
  150. package/node_modules/@salesforce/b2c-agent-plugins/b2c/skills/b2c-scapi-admin/references/CLIENT-EXAMPLES.md +4 -4
  151. package/node_modules/@salesforce/b2c-agent-plugins/b2c/skills/b2c-scapi-shopper/SKILL.md +6 -6
  152. package/node_modules/@salesforce/b2c-agent-plugins/b2c/skills/b2c-scapi-shopper/references/CLIENT-EXAMPLES.md +8 -9
  153. package/node_modules/@salesforce/b2c-agent-plugins/b2c-cli/.codex-plugin/plugin.json +1 -1
  154. package/node_modules/@salesforce/b2c-agent-plugins/b2c-cli/plugin.json +1 -1
  155. package/node_modules/@salesforce/b2c-agent-plugins/b2c-cli/skills/b2c-cip/SKILL.md +3 -3
  156. package/node_modules/@salesforce/b2c-agent-plugins/b2c-cli/skills/b2c-cip/references/SALES_ANALYSIS.md +1 -1
  157. package/node_modules/@salesforce/b2c-agent-plugins/b2c-cli/skills/b2c-config/SKILL.md +54 -25
  158. package/node_modules/@salesforce/b2c-agent-plugins/b2c-cli/skills/b2c-content/SKILL.md +1 -1
  159. package/node_modules/@salesforce/b2c-agent-plugins/b2c-cli/skills/b2c-debug/SKILL.md +1 -1
  160. package/node_modules/@salesforce/b2c-agent-plugins/b2c-cli/skills/b2c-docs/SKILL.md +23 -2
  161. package/node_modules/@salesforce/b2c-agent-plugins/b2c-cli/skills/b2c-ecdn/SKILL.md +2 -0
  162. package/node_modules/@salesforce/b2c-agent-plugins/b2c-cli/skills/b2c-ecdn/references/ADVANCED.md +1 -1
  163. package/node_modules/@salesforce/b2c-agent-plugins/b2c-cli/skills/b2c-job/SKILL.md +9 -3
  164. package/node_modules/@salesforce/b2c-agent-plugins/b2c-cli/skills/b2c-job/references/IMPORT.md +1 -1
  165. package/node_modules/@salesforce/b2c-agent-plugins/b2c-cli/skills/b2c-job/references/RUN-AND-MONITOR.md +35 -6
  166. package/node_modules/@salesforce/b2c-agent-plugins/b2c-cli/skills/b2c-metrics/SKILL.md +1 -1
  167. package/node_modules/@salesforce/b2c-agent-plugins/b2c-cli/skills/b2c-mrt/SKILL.md +3 -3
  168. package/node_modules/@salesforce/b2c-agent-plugins/b2c-cli/skills/b2c-scapi-custom/SKILL.md +1 -1
  169. package/node_modules/@salesforce/b2c-agent-plugins/b2c-cli/skills/b2c-scapi-schemas/SKILL.md +6 -2
  170. package/node_modules/@salesforce/b2c-agent-plugins/b2c-cli/skills/b2c-site-import-export/SKILL.md +1 -1
  171. package/node_modules/@salesforce/b2c-agent-plugins/b2c-cli/skills/b2c-sites/SKILL.md +1 -1
  172. package/node_modules/@salesforce/b2c-agent-plugins/b2c-cli/skills/b2c-slas/SKILL.md +1 -1
  173. package/node_modules/@salesforce/b2c-agent-plugins/b2c-ops/.codex-plugin/plugin.json +4 -3
  174. package/node_modules/@salesforce/b2c-agent-plugins/b2c-ops/README.md +1 -0
  175. package/node_modules/@salesforce/b2c-agent-plugins/b2c-ops/plugin.json +4 -3
  176. package/node_modules/@salesforce/b2c-agent-plugins/b2c-ops/skills/b2c-checkout-triage/SKILL.md +2 -2
  177. package/node_modules/@salesforce/b2c-agent-plugins/b2c-ops/skills/b2c-edge-traffic-triage/SKILL.md +69 -0
  178. package/node_modules/@salesforce/b2c-agent-plugins/b2c-ops/skills/b2c-job-health/SKILL.md +13 -8
  179. package/node_modules/@salesforce/b2c-agent-plugins/b2c-ops/skills/b2c-order-failure-triage/SKILL.md +1 -1
  180. package/node_modules/@salesforce/b2c-agent-plugins/b2c-ops/skills/b2c-order-failure-triage/references/order-evidence.md +2 -2
  181. package/node_modules/@salesforce/b2c-agent-plugins/b2c-ops/skills/b2c-production-triage/SKILL.md +5 -4
  182. package/node_modules/@salesforce/b2c-agent-plugins/figma-to-sfnext-pagedesigner/README.md +4 -4
  183. package/node_modules/@salesforce/b2c-agent-plugins/figma-to-sfnext-pagedesigner/skills/figma-to-sfnext-pagedesigner/SKILL.md +76 -73
  184. package/node_modules/@salesforce/b2c-agent-plugins/figma-to-sfnext-pagedesigner/skills/figma-to-sfnext-pagedesigner/evals/trigger-evals.json +12 -10
  185. package/node_modules/@salesforce/b2c-agent-plugins/figma-to-sfnext-pagedesigner/skills/figma-to-sfnext-pagedesigner/references/PAGE-DESIGNER-SFN.md +49 -74
  186. package/node_modules/@salesforce/b2c-agent-plugins/package.json +1 -1
  187. package/node_modules/@salesforce/b2c-agent-plugins/storefront-next/.codex-plugin/plugin.json +9 -6
  188. package/node_modules/@salesforce/b2c-agent-plugins/storefront-next/README.md +43 -22
  189. package/node_modules/@salesforce/b2c-agent-plugins/storefront-next/plugin.json +9 -6
  190. package/node_modules/@salesforce/b2c-agent-plugins/storefront-next/skills/sfnext-accessibility/SKILL.md +103 -0
  191. package/node_modules/@salesforce/b2c-agent-plugins/storefront-next/skills/sfnext-accessibility/evals/trigger-evals.json +5 -0
  192. package/node_modules/@salesforce/b2c-agent-plugins/storefront-next/skills/sfnext-accessibility/references/checklist.md +64 -0
  193. package/node_modules/@salesforce/b2c-agent-plugins/storefront-next/skills/sfnext-analytics-consent/SKILL.md +91 -0
  194. package/node_modules/@salesforce/b2c-agent-plugins/storefront-next/skills/sfnext-analytics-consent/evals/trigger-evals.json +5 -0
  195. package/node_modules/@salesforce/b2c-agent-plugins/storefront-next/skills/sfnext-analytics-consent/references/CUSTOM-ADAPTER.md +49 -0
  196. package/node_modules/@salesforce/b2c-agent-plugins/storefront-next/skills/sfnext-authentication/SKILL.md +86 -79
  197. package/node_modules/@salesforce/b2c-agent-plugins/storefront-next/skills/sfnext-authentication/evals/trigger-evals.json +5 -0
  198. package/node_modules/@salesforce/b2c-agent-plugins/storefront-next/skills/sfnext-authentication/references/COOKIES.md +39 -0
  199. package/node_modules/@salesforce/b2c-agent-plugins/storefront-next/skills/sfnext-authentication/references/LOGIN-FLOWS.md +59 -0
  200. package/node_modules/@salesforce/b2c-agent-plugins/storefront-next/skills/sfnext-commerce-features/SKILL.md +67 -0
  201. package/node_modules/@salesforce/b2c-agent-plugins/storefront-next/skills/sfnext-commerce-features/evals/trigger-evals.json +5 -0
  202. package/node_modules/@salesforce/b2c-agent-plugins/storefront-next/skills/sfnext-commerce-features/references/FEATURE-PREREQUISITES.md +37 -0
  203. package/node_modules/@salesforce/b2c-agent-plugins/storefront-next/skills/sfnext-components/SKILL.md +98 -136
  204. package/node_modules/@salesforce/b2c-agent-plugins/storefront-next/skills/sfnext-components/evals/trigger-evals.json +5 -0
  205. package/node_modules/@salesforce/b2c-agent-plugins/storefront-next/skills/sfnext-components/references/COMPONENT-AUTHORING.md +118 -0
  206. package/node_modules/@salesforce/b2c-agent-plugins/storefront-next/skills/sfnext-components/references/SHAPE-TOKENS.md +51 -0
  207. package/node_modules/@salesforce/b2c-agent-plugins/storefront-next/skills/sfnext-components/references/STORYBOOK.md +54 -0
  208. package/node_modules/@salesforce/b2c-agent-plugins/storefront-next/skills/sfnext-components/references/TOKEN-SYSTEM.md +53 -0
  209. package/node_modules/@salesforce/b2c-agent-plugins/storefront-next/skills/sfnext-components/references/TROUBLESHOOTING.md +19 -0
  210. package/node_modules/@salesforce/b2c-agent-plugins/storefront-next/skills/sfnext-configuration/SKILL.md +116 -113
  211. package/node_modules/@salesforce/b2c-agent-plugins/storefront-next/skills/sfnext-configuration/evals/trigger-evals.json +5 -0
  212. package/node_modules/@salesforce/b2c-agent-plugins/storefront-next/skills/sfnext-configuration/references/ENV-VARIABLES.md +55 -0
  213. package/node_modules/@salesforce/b2c-agent-plugins/storefront-next/skills/sfnext-configuration/references/MULTI-SITE-URLS.md +137 -0
  214. package/node_modules/@salesforce/b2c-agent-plugins/storefront-next/skills/sfnext-data-fetching/SKILL.md +100 -150
  215. package/node_modules/@salesforce/b2c-agent-plugins/storefront-next/skills/sfnext-data-fetching/evals/trigger-evals.json +5 -0
  216. package/node_modules/@salesforce/b2c-agent-plugins/storefront-next/skills/sfnext-data-fetching/references/ACTIONS.md +53 -0
  217. package/node_modules/@salesforce/b2c-agent-plugins/storefront-next/skills/sfnext-data-fetching/references/API-CLIENTS.md +34 -0
  218. package/node_modules/@salesforce/b2c-agent-plugins/storefront-next/skills/sfnext-data-fetching/references/LOADERS.md +73 -0
  219. package/node_modules/@salesforce/b2c-agent-plugins/storefront-next/skills/sfnext-data-fetching/references/SCAPI-FETCHER.md +23 -77
  220. package/node_modules/@salesforce/b2c-agent-plugins/storefront-next/skills/sfnext-deployment/SKILL.md +83 -97
  221. package/node_modules/@salesforce/b2c-agent-plugins/storefront-next/skills/sfnext-deployment/evals/trigger-evals.json +5 -0
  222. package/node_modules/@salesforce/b2c-agent-plugins/storefront-next/skills/sfnext-deployment/references/MRT-DEPLOYMENT.md +37 -68
  223. package/node_modules/@salesforce/b2c-agent-plugins/storefront-next/skills/sfnext-extensions/SKILL.md +73 -97
  224. package/node_modules/@salesforce/b2c-agent-plugins/storefront-next/skills/sfnext-extensions/evals/trigger-evals.json +5 -0
  225. package/node_modules/@salesforce/b2c-agent-plugins/storefront-next/skills/sfnext-extensions/references/ACTION-HOOKS.md +57 -0
  226. package/node_modules/@salesforce/b2c-agent-plugins/storefront-next/skills/sfnext-extensions/references/BASE-AUDIT.md +47 -44
  227. package/node_modules/@salesforce/b2c-agent-plugins/storefront-next/skills/sfnext-extensions/references/CLI-AND-INSTALL.md +58 -0
  228. package/node_modules/@salesforce/b2c-agent-plugins/storefront-next/skills/sfnext-extensions/references/EXTENSION-EXAMPLES.md +49 -86
  229. package/node_modules/@salesforce/b2c-agent-plugins/storefront-next/skills/sfnext-hybrid-storefronts/SKILL.md +59 -114
  230. package/node_modules/@salesforce/b2c-agent-plugins/storefront-next/skills/sfnext-hybrid-storefronts/evals/trigger-evals.json +5 -0
  231. package/node_modules/@salesforce/b2c-agent-plugins/storefront-next/skills/sfnext-hybrid-storefronts/references/HYBRID-PROXY-CONFIG.md +53 -90
  232. package/node_modules/@salesforce/b2c-agent-plugins/storefront-next/skills/sfnext-i18n/SKILL.md +96 -131
  233. package/node_modules/@salesforce/b2c-agent-plugins/storefront-next/skills/sfnext-i18n/evals/trigger-evals.json +5 -0
  234. package/node_modules/@salesforce/b2c-agent-plugins/storefront-next/skills/sfnext-i18n/references/locale-config.md +35 -0
  235. package/node_modules/@salesforce/b2c-agent-plugins/storefront-next/skills/sfnext-overview/SKILL.md +101 -0
  236. package/node_modules/@salesforce/b2c-agent-plugins/storefront-next/skills/sfnext-overview/evals/trigger-evals.json +5 -0
  237. package/node_modules/@salesforce/b2c-agent-plugins/storefront-next/skills/sfnext-page-designer/SKILL.md +152 -131
  238. package/node_modules/@salesforce/b2c-agent-plugins/storefront-next/skills/sfnext-page-designer/evals/trigger-evals.json +5 -0
  239. package/node_modules/@salesforce/b2c-agent-plugins/storefront-next/skills/sfnext-page-designer/references/BUSINESS-MANAGER.md +46 -0
  240. package/node_modules/@salesforce/b2c-agent-plugins/storefront-next/skills/sfnext-page-designer/references/COMPONENT-REGISTRY.md +86 -53
  241. package/node_modules/@salesforce/b2c-agent-plugins/storefront-next/skills/sfnext-page-designer/references/DECORATOR-PATTERNS.md +119 -131
  242. package/node_modules/@salesforce/b2c-agent-plugins/storefront-next/skills/sfnext-page-designer/references/REVIEW-CHECKLIST.md +83 -0
  243. package/node_modules/@salesforce/b2c-agent-plugins/storefront-next/skills/sfnext-page-designer/references/TROUBLESHOOTING.md +35 -0
  244. package/node_modules/@salesforce/b2c-agent-plugins/storefront-next/skills/sfnext-performance/SKILL.md +75 -105
  245. package/node_modules/@salesforce/b2c-agent-plugins/storefront-next/skills/sfnext-performance/evals/trigger-evals.json +5 -0
  246. package/node_modules/@salesforce/b2c-agent-plugins/storefront-next/skills/sfnext-performance/references/PERFORMANCE-REVIEW-CHECKLIST.md +85 -0
  247. package/node_modules/@salesforce/b2c-agent-plugins/storefront-next/skills/sfnext-performance/references/SUSPENSE-AND-STREAMING.md +58 -0
  248. package/node_modules/@salesforce/b2c-agent-plugins/storefront-next/skills/sfnext-project-setup/SKILL.md +103 -116
  249. package/node_modules/@salesforce/b2c-agent-plugins/storefront-next/skills/sfnext-project-setup/evals/trigger-evals.json +5 -0
  250. package/node_modules/@salesforce/b2c-agent-plugins/storefront-next/skills/sfnext-project-setup/references/PROJECT-STRUCTURE.md +61 -99
  251. package/node_modules/@salesforce/b2c-agent-plugins/storefront-next/skills/sfnext-project-setup/references/SCRIPTS.md +47 -0
  252. package/node_modules/@salesforce/b2c-agent-plugins/storefront-next/skills/sfnext-project-setup/references/SFNEXT-CLI.md +63 -0
  253. package/node_modules/@salesforce/b2c-agent-plugins/storefront-next/skills/sfnext-quality-gates/SKILL.md +70 -0
  254. package/node_modules/@salesforce/b2c-agent-plugins/storefront-next/skills/sfnext-quality-gates/evals/trigger-evals.json +5 -0
  255. package/node_modules/@salesforce/b2c-agent-plugins/storefront-next/skills/sfnext-quality-gates/references/lint-and-budgets.md +39 -0
  256. package/node_modules/@salesforce/b2c-agent-plugins/storefront-next/skills/sfnext-revalidation/SKILL.md +121 -0
  257. package/node_modules/@salesforce/b2c-agent-plugins/storefront-next/skills/sfnext-revalidation/evals/trigger-evals.json +5 -0
  258. package/node_modules/@salesforce/b2c-agent-plugins/storefront-next/skills/sfnext-revalidation/references/POLICIES-AND-TAGS.md +55 -0
  259. package/node_modules/@salesforce/b2c-agent-plugins/storefront-next/skills/sfnext-routing/SKILL.md +86 -143
  260. package/node_modules/@salesforce/b2c-agent-plugins/storefront-next/skills/sfnext-routing/evals/trigger-evals.json +5 -0
  261. package/node_modules/@salesforce/b2c-agent-plugins/storefront-next/skills/sfnext-routing/references/ROUTE-CONVENTIONS.md +51 -51
  262. package/node_modules/@salesforce/b2c-agent-plugins/storefront-next/skills/sfnext-routing/references/URLS-AND-SEO-ROUTES.md +22 -0
  263. package/node_modules/@salesforce/b2c-agent-plugins/storefront-next/skills/sfnext-scapi/SKILL.md +126 -0
  264. package/node_modules/@salesforce/b2c-agent-plugins/storefront-next/skills/sfnext-scapi/evals/trigger-evals.json +5 -0
  265. package/node_modules/@salesforce/b2c-agent-plugins/storefront-next/skills/sfnext-scapi/references/WORKED-EXAMPLE.md +39 -0
  266. package/node_modules/@salesforce/b2c-agent-plugins/storefront-next/skills/sfnext-security/SKILL.md +129 -0
  267. package/node_modules/@salesforce/b2c-agent-plugins/storefront-next/skills/sfnext-security/evals/trigger-evals.json +5 -0
  268. package/node_modules/@salesforce/b2c-agent-plugins/storefront-next/skills/sfnext-security/references/COOKIE-DOMAIN.md +39 -0
  269. package/node_modules/@salesforce/b2c-agent-plugins/storefront-next/skills/sfnext-security/references/TURNSTILE.md +43 -0
  270. package/node_modules/@salesforce/b2c-agent-plugins/storefront-next/skills/sfnext-seo/SKILL.md +95 -0
  271. package/node_modules/@salesforce/b2c-agent-plugins/storefront-next/skills/sfnext-seo/evals/trigger-evals.json +5 -0
  272. package/node_modules/@salesforce/b2c-agent-plugins/storefront-next/skills/sfnext-seo/references/MULTI-DOMAIN-BASE-PATH.md +17 -0
  273. package/node_modules/@salesforce/b2c-agent-plugins/storefront-next/skills/sfnext-seo/references/SEO-ROUTES.md +31 -0
  274. package/node_modules/@salesforce/b2c-agent-plugins/storefront-next/skills/sfnext-state-management/SKILL.md +80 -89
  275. package/node_modules/@salesforce/b2c-agent-plugins/storefront-next/skills/sfnext-state-management/evals/trigger-evals.json +5 -0
  276. package/node_modules/@salesforce/b2c-agent-plugins/storefront-next/skills/sfnext-state-management/references/PATTERNS.md +45 -0
  277. package/node_modules/@salesforce/b2c-agent-plugins/storefront-next/skills/sfnext-testing/SKILL.md +105 -138
  278. package/node_modules/@salesforce/b2c-agent-plugins/storefront-next/skills/sfnext-testing/evals/trigger-evals.json +5 -0
  279. package/node_modules/@salesforce/b2c-agent-plugins/storefront-next/skills/sfnext-testing/references/E2E.md +38 -0
  280. package/node_modules/@salesforce/b2c-agent-plugins/storefront-next/skills/sfnext-testing/references/STORYBOOK-PATTERNS.md +73 -94
  281. package/node_modules/@salesforce/b2c-agent-plugins/storefront-next/skills/sfnext-testing/references/UNIT-AND-ROUTE-TESTS.md +60 -0
  282. package/node_modules/@salesforce/b2c-agent-plugins/storefront-next/skills/sfnext-theming/SKILL.md +104 -0
  283. package/node_modules/@salesforce/b2c-agent-plugins/storefront-next/skills/sfnext-theming/evals/trigger-evals.json +5 -0
  284. package/node_modules/@salesforce/b2c-agent-plugins/storefront-next/skills/sfnext-theming/references/REBRAND-CHECKLIST.md +29 -0
  285. package/node_modules/@salesforce/b2c-agent-plugins/storefront-next-figma/skills/sfnext-create-figma-kit/SKILL.md +3 -3
  286. package/oclif.manifest.json +21 -4
  287. package/package.json +4 -4
  288. package/content/guidance/mcp/scapi/SKILL.md +0 -203
  289. package/content/guidance/mcp/scapi/references/jobs.md +0 -30
  290. package/content/guidance/storefront-next/sfnext-create-component/SKILL.md +0 -195
  291. package/content/guidance/storefront-next/sfnext-create-component/references/COMPONENT-AUTHORING.md +0 -206
  292. package/content/guidance/storefront-next/sfnext-create-component/references/PROJECT-STRUCTURE.md +0 -43
  293. package/content/guidance/storefront-next/sfnext-create-component/references/TOKEN-SYSTEM.md +0 -130
  294. package/content/guidance/storefront-next/sfnext-create-component/references/TROUBLESHOOTING.md +0 -34
  295. package/content/guidance/storefront-next/sfnext-create-vertical/SKILL.md +0 -135
  296. package/content/guidance/storefront-next/sfnext-create-vertical/references/COMPONENT-AUTHORING.md +0 -206
  297. package/content/guidance/storefront-next/sfnext-create-vertical/references/PROJECT-STRUCTURE.md +0 -43
  298. package/content/guidance/storefront-next/sfnext-create-vertical/references/TOKEN-SYSTEM.md +0 -130
  299. package/content/guidance/storefront-next/sfnext-create-vertical/references/TROUBLESHOOTING.md +0 -34
  300. package/content/guidance/storefront-next/sfnext-custom-apis/SKILL.md +0 -221
  301. package/content/guidance/storefront-next/sfnext-custom-apis/references/WORKFLOW-EXAMPLES.md +0 -294
  302. package/content/guidance/storefront-next/sfnext-data-fetching/references/LOADER-PATTERNS.md +0 -102
  303. package/content/guidance/storefront-next/sfnext-project-setup/references/ENV-VARIABLES.md +0 -82
  304. package/content/guidance/storefront-next/sfnext-scapi-management/SKILL.md +0 -203
  305. package/content/guidance/storefront-next/sfnext-scapi-management/references/CLI-COMMANDS.md +0 -122
  306. package/node_modules/@salesforce/b2c-agent-plugins/storefront-next/skills/sfnext-create-component/SKILL.md +0 -195
  307. package/node_modules/@salesforce/b2c-agent-plugins/storefront-next/skills/sfnext-create-component/evals/trigger-evals.json +0 -12
  308. package/node_modules/@salesforce/b2c-agent-plugins/storefront-next/skills/sfnext-create-component/references/COMPONENT-AUTHORING.md +0 -206
  309. package/node_modules/@salesforce/b2c-agent-plugins/storefront-next/skills/sfnext-create-component/references/PROJECT-STRUCTURE.md +0 -43
  310. package/node_modules/@salesforce/b2c-agent-plugins/storefront-next/skills/sfnext-create-component/references/TOKEN-SYSTEM.md +0 -130
  311. package/node_modules/@salesforce/b2c-agent-plugins/storefront-next/skills/sfnext-create-component/references/TROUBLESHOOTING.md +0 -34
  312. package/node_modules/@salesforce/b2c-agent-plugins/storefront-next/skills/sfnext-create-vertical/SKILL.md +0 -135
  313. package/node_modules/@salesforce/b2c-agent-plugins/storefront-next/skills/sfnext-create-vertical/evals/trigger-evals.json +0 -12
  314. package/node_modules/@salesforce/b2c-agent-plugins/storefront-next/skills/sfnext-create-vertical/references/COMPONENT-AUTHORING.md +0 -206
  315. package/node_modules/@salesforce/b2c-agent-plugins/storefront-next/skills/sfnext-create-vertical/references/PROJECT-STRUCTURE.md +0 -43
  316. package/node_modules/@salesforce/b2c-agent-plugins/storefront-next/skills/sfnext-create-vertical/references/TOKEN-SYSTEM.md +0 -130
  317. package/node_modules/@salesforce/b2c-agent-plugins/storefront-next/skills/sfnext-create-vertical/references/TROUBLESHOOTING.md +0 -34
  318. package/node_modules/@salesforce/b2c-agent-plugins/storefront-next/skills/sfnext-custom-apis/SKILL.md +0 -221
  319. package/node_modules/@salesforce/b2c-agent-plugins/storefront-next/skills/sfnext-custom-apis/evals/trigger-evals.json +0 -12
  320. package/node_modules/@salesforce/b2c-agent-plugins/storefront-next/skills/sfnext-custom-apis/references/WORKFLOW-EXAMPLES.md +0 -294
  321. package/node_modules/@salesforce/b2c-agent-plugins/storefront-next/skills/sfnext-data-fetching/references/LOADER-PATTERNS.md +0 -102
  322. package/node_modules/@salesforce/b2c-agent-plugins/storefront-next/skills/sfnext-project-setup/references/ENV-VARIABLES.md +0 -82
  323. package/node_modules/@salesforce/b2c-agent-plugins/storefront-next/skills/sfnext-scapi-management/SKILL.md +0 -203
  324. package/node_modules/@salesforce/b2c-agent-plugins/storefront-next/skills/sfnext-scapi-management/evals/trigger-evals.json +0 -12
  325. package/node_modules/@salesforce/b2c-agent-plugins/storefront-next/skills/sfnext-scapi-management/references/CLI-COMMANDS.md +0 -122
  326. /package/content/guidance/mcp/{scapi → b2c-mcp-scapi}/references/custom-apis.md +0 -0
  327. /package/content/guidance/mcp/{scapi → b2c-mcp-scapi}/references/custom-properties.md +0 -0
  328. /package/content/guidance/mcp/{scapi → b2c-mcp-scapi}/references/products.md +0 -0
  329. /package/content/guidance/mcp/{scapi → b2c-mcp-scapi}/references/promotions.md +0 -0
  330. /package/content/guidance/mcp/{scapi → b2c-mcp-scapi}/references/saving.md +0 -0
  331. /package/content/guidance/mcp/{scapi → b2c-mcp-scapi}/references/snippets.md +0 -0
  332. /package/content/guidance/mcp/{scapi → b2c-mcp-scapi}/references/tokens.md +0 -0
  333. /package/content/guidance/mcp/{server → b2c-mcp-server}/references/files.md +0 -0
@@ -1,6 +1,6 @@
1
1
  ---
2
- name: MCP CIP Analytics
3
- description: Discover and run CIP reports or analytics SQL for sales, merchandising, and technical operations. Resolve warehouse access, bound results, and interpret site/date scope.
2
+ name: b2c-mcp-cip
3
+ description: Required before cip_query. Discover and run CIP reports or analytics SQL for sales, merchandising, and technical operations; resolve warehouse access, bound results, and interpret site/date scope.
4
4
  ---
5
5
 
6
6
  # CIP analytics
@@ -8,7 +8,7 @@ description: Discover and run CIP reports or analytics SQL for sales, merchandis
8
8
  Use CIP for warehouse analytics: sales, products, promotions, search, payments,
9
9
  traffic, inventory, and API/controller trends. Use SCAPI for current records;
10
10
  logs/metrics for immediate diagnosis.
11
- Read this skill once through resources or `skills_read` (`mcp/cip`), then pass
11
+ Read this skill once through resources or `skills_read` (`mcp/b2c-mcp-cip`), then pass
12
12
  `skillRead: true` to `cip_query`. Discovery needs no acknowledgment.
13
13
 
14
14
  ## Choose and discover
@@ -42,13 +42,13 @@ Reports & Dashboards data tracking enabled on supported 26.1+ environments.
42
42
  No data or rejected access does not establish zero sales or a healthy system.
43
43
 
44
44
  Missing values: `config_inspect` with masking; ask the user if the target cannot
45
- be determined. [MCP configuration](skill://mcp/b2c-config/SKILL.md) explains resolution.
45
+ be determined. [MCP configuration](skill://mcp/b2c-mcp-config/SKILL.md) explains resolution.
46
46
  For CLI equivalents, configuration, host selection, and availability caveats:
47
47
  [existing CIP skill](skill://b2c-cli/b2c-cip/SKILL.md) (`skills_read` ID `b2c-cli/b2c-cip`)
48
- and [analytics guide](https://salesforcecommercecloud.github.io/b2c-developer-tooling/guide/analytics-reports-cip-ccac),
49
- plus the [CLI reference](https://salesforcecommercecloud.github.io/b2c-developer-tooling/cli/cip).
50
- Read these conditionally, not as extra prerequisites. If that collection is
51
- excluded, use `docs_read` query `cli-cip` or the guide URL.
48
+ and the analytics guide (`docs_read({query: "guide-analytics-reports-cip-ccac"})`,
49
+ [online](https://salesforcecommercecloud.github.io/b2c-developer-tooling/guide/analytics-reports-cip-ccac.md)), plus the CLI reference
50
+ (`cli-cip`, [online](https://salesforcecommercecloud.github.io/b2c-developer-tooling/cli/cip.md)).
51
+ Read these conditionally, not as extra prerequisites.
52
52
  Official [JDBC setup and limits](https://developer.salesforce.com/docs/commerce/b2c-commerce/guide/jdbc_access_guide.html).
53
53
 
54
54
  ## Query and interpret
@@ -84,3 +84,5 @@ Read further only for an unresolved question:
84
84
  [starter queries](skill://b2c-cli/b2c-cip/references/STARTER_QUERIES.md), not the whole file.
85
85
  Stop when the report and evidence answer the task; no follow-up skill read is required.
86
86
  For incidents, correlate trends with logs and the relevant `b2c-ops` runbook.
87
+
88
+ Other MCP workflows and runbooks: [skill index](skill://mcp/b2c-mcp-server/SKILL.md#skill-index).
@@ -1,11 +1,12 @@
1
1
  ---
2
- name: b2c-config
3
- description: MCP configuration, authentication setup, external access grants, and masked inspection. Use for setup or unresolved configuration issues; routine config_inspect needs no skill read.
2
+ name: b2c-mcp-config
3
+ description: Resolve B2C MCP configuration, authentication, and external access grants with masked inspection. Use for setup, credential, or wrong-target issues; routine config_inspect needs no skill read.
4
4
  ---
5
5
 
6
6
  # MCP Configuration
7
7
 
8
- For MCP installation or tool selection, see [server setup](skill://mcp/server/SKILL.md).
8
+ For MCP installation, tool selection, or other MCP workflows, see the
9
+ [server skill index](skill://mcp/b2c-mcp-server/SKILL.md#skill-index).
9
10
 
10
11
  ## Inspect resolved values
11
12
 
@@ -72,15 +73,15 @@ pages; follow returned `nextOffset` when the needed topic lies later in an artic
72
73
  From the same project, `b2c setup inspect --json` uses the same resolver and
73
74
  default masking. Match the environment, `--config`, and `--instance` selections
74
75
  when comparing results. For CLI setup or configuration commands, consult
75
- [b2c-cli/b2c-config](skill://b2c-cli/b2c-config/SKILL.md) when the broader skill
76
- collections are enabled, or the shared configuration documentation below.
76
+ [b2c-cli/b2c-config](skill://b2c-cli/b2c-config/SKILL.md) or the shared
77
+ configuration documentation below.
77
78
  For authentication specifically, `skills_read({id: "b2c-cli/b2c-config", section: "authentication"})`.
78
79
  CLI browser-login instructions do not enable SCAPI Admin code-mode user auth.
79
80
 
80
81
  ## Further reading
81
82
 
82
- Read only for the configuration issue at hand:
83
+ Read with `docs_read({query: ID})`, only for the configuration issue at hand:
83
84
 
84
- - [MCP configuration](https://salesforcecommercecloud.github.io/b2c-developer-tooling/mcp/configuration)
85
- - [Shared configuration and precedence](https://salesforcecommercecloud.github.io/b2c-developer-tooling/guide/configuration)
86
- - [Authentication setup](https://salesforcecommercecloud.github.io/b2c-developer-tooling/guide/authentication)
85
+ - MCP configuration: `mcp-configuration` ([online](https://salesforcecommercecloud.github.io/b2c-developer-tooling/mcp/configuration.md))
86
+ - Shared configuration and precedence: `guide-configuration` ([online](https://salesforcecommercecloud.github.io/b2c-developer-tooling/guide/configuration.md))
87
+ - Authentication setup: `guide-authentication` ([online](https://salesforcecommercecloud.github.io/b2c-developer-tooling/guide/authentication.md))
@@ -1,6 +1,6 @@
1
1
  ---
2
- name: MCP Debugger Usage
3
- description: Bounded debugger capture, request triggering, state inspection, and reliable session cleanup.
2
+ name: b2c-mcp-debugger
3
+ description: Debug B2C Commerce server-side scripts with the MCP debugger tools, using bounded breakpoint capture, request triggering, state inspection, and reliable session cleanup.
4
4
  ---
5
5
 
6
6
  # MCP Debugger Usage
@@ -54,18 +54,19 @@ next breakpoint or request completion. End sessions explicitly.
54
54
  A timeout leaves the breakpoint armed. Check sessions for a late halt; end with
55
55
  `clear_breakpoints: true` when finished. Do not leave an unbounded capture waiting.
56
56
  - Configuration still unexplained after `config_inspect`: consult
57
- [MCP configuration](skill://mcp/b2c-config/SKILL.md).
57
+ [MCP configuration](skill://mcp/b2c-mcp-config/SKILL.md).
58
58
  - Missing BM permission/access key: `docs_read({query: "mcp-security"})` for debugger
59
59
  requirements; `guide-authentication` for WebDAV key setup. For other setup issues,
60
60
  `docs_search` with the specific error. If docs tools are unavailable, use
61
- [debugger access](https://salesforcecommercecloud.github.io/b2c-developer-tooling/mcp/security#debugger)
62
- and [WebDAV key setup](https://salesforcecommercecloud.github.io/b2c-developer-tooling/guide/authentication#webdav-access).
61
+ [debugger access](https://salesforcecommercecloud.github.io/b2c-developer-tooling/mcp/security.md#debugger)
62
+ and [WebDAV key setup](https://salesforcecommercecloud.github.io/b2c-developer-tooling/guide/authentication.md#webdav-access).
63
63
  General WebDAV OAuth instructions do not apply to the debugger.
64
64
  - Before repeating a failed request, check whether it already changed state.
65
65
 
66
66
  ## CLI or IDE, when requested
67
67
 
68
68
  For terminal debugging use `b2c debug cli`; for a DAP client use `b2c debug`.
69
- For those workflows, read [b2c-cli/b2c-debug](skill://b2c-cli/b2c-debug/SKILL.md)
70
- when the broader skill collections are enabled, or the
71
- [CLI debugger reference](https://salesforcecommercecloud.github.io/b2c-developer-tooling/cli/debug).
69
+ For those workflows, read [b2c-cli/b2c-debug](skill://b2c-cli/b2c-debug/SKILL.md) or the
70
+ CLI debugger reference (`docs_read({query: "cli-debug"})`, [online](https://salesforcecommercecloud.github.io/b2c-developer-tooling/cli/debug.md)).
71
+
72
+ Other MCP workflows and runbooks: [skill index](skill://mcp/b2c-mcp-server/SKILL.md#skill-index).
@@ -0,0 +1,98 @@
1
+ ---
2
+ name: b2c-mcp-scapi
3
+ description: Required before scapi_search or scapi_execute. Discover standard and live custom SCAPI contracts, compose Admin and Shopper requests, and verify changes under configured authentication and Safety Mode.
4
+ ---
5
+
6
+ # SCAPI Code Mode
7
+
8
+ Dedicated tool first. Else `scapi_search` (find op) then `scapi_execute` (call it). Code = JS async arrow fn. No TypeScript, no imports.
9
+ Read this once, then pass `skillRead: true`. Reading does not authorize mutations.
10
+ Warehouse SQL/reports: `cip_*`, not here. Files: `webdav_*`. Local build/fs: terminal.
11
+ Operations or incidents (jobs, checkout, orders, eCDN traffic/bots): read the matching `b2c-ops` runbook from the [skill index](skill://mcp/b2c-mcp-server/SKILL.md#skill-index) first.
12
+
13
+ ## `spec` shape (search and execute)
14
+
15
+ Only these exist. No `spec.schemas`, no `spec.operations`. Do not probe.
16
+
17
+ ```ts
18
+ declare const spec: {
19
+ apis: Array<{id: string; apiFamily: string; apiName: string; apiVersion: string; status: string}>; // id: 'product/catalogs/v1'
20
+ paths: Record<string, Record<string, Operation>>; // fullPath -> lowercase method -> op
21
+ resolve(value: unknown, apiId: string): unknown; // expand local $ref
22
+ };
23
+ // fullPath = '/' + api id + path, e.g. '/product/catalogs/v1/organizations/{organizationId}/catalogs/{catalogId}'
24
+ interface Operation {
25
+ api: string;
26
+ operationId: string;
27
+ summary?: string;
28
+ description?: string;
29
+ tags?: string[];
30
+ parameters: Array<{name: string; in: string; required?: boolean; schema?: unknown}>;
31
+ requestBody?: {required?: boolean; content: Record<string, {schema: any}>};
32
+ responses?: Record<string, unknown>;
33
+ security: Array<Record<string, string[]>>;
34
+ auth: {types: string[]; schemes: string[]; executable: boolean}; // executable = runtime support, not access
35
+ }
36
+ ```
37
+
38
+ `scapi_execute` also has (`async (input) => ...`, `input` = tool input):
39
+
40
+ ```ts
41
+ declare const organizationId: string | undefined;
42
+ declare const siteId: string | undefined;
43
+ declare const scapi: {
44
+ request(o: {
45
+ method: string;
46
+ path: string;
47
+ query?: Record<string, unknown>;
48
+ body?: unknown;
49
+ }): Promise<{status: number; ok: boolean; data: any; diagnostic?: {code: string; message: string}}>;
50
+ };
51
+ ```
52
+
53
+ ## Rules
54
+
55
+ - Result cap 24 KB (`SCAPI_RESULT_TOO_LARGE`). Whole op = 6-20 KB. NEVER return `op` or `spec.paths` entries whole. List `{operationId, method, path, summary}`; then return only `parameters`/`requestBody` of ops you will call.
56
+ - Search prose too: `summary`, `description`, `tags`, not only operationId/path.
57
+ - `scapi_search` default `detail:"outline"` drops nested descriptions/examples. `detail:"full"` restores. Execute sees full.
58
+ - Default corpus = bundled standard. `schemas:"live"` = tenant (`c_*`, custom APIs, newer APIs); falls back to bundled with `warnings`. Tell user if `c_*`/custom APIs matter.
59
+ - `scapi.request` auths itself. Never fetch tokens first. Path `{organizationId}` auto-fills.
60
+ - Check `ok`/`status`. Writes: read back. Check before retry. Await every request.
61
+ - Limits: 20 calls, 4 parallel, 30 s. `fetch`/`WebSocket` disabled.
62
+ - Write needing approval pauses for client elicitation. Decline = whole run ends. Never fake approval.
63
+
64
+ ```js
65
+ // list candidates by prose
66
+ async () =>
67
+ Object.entries(spec.paths)
68
+ .flatMap(([path, methods]) =>
69
+ Object.entries(methods).map(([method, op]) => ({method, path, operationId: op.operationId, summary: op.summary})),
70
+ )
71
+ .filter((o) => /basket/i.test(o.summary ?? '') && /coupon|promotion/i.test(o.summary ?? ''));
72
+
73
+ // inspect only needed fields
74
+ async () => {
75
+ const op = spec.paths['/product/products/v1/organizations/{organizationId}/products/{productId}'].put;
76
+ const body = op.requestBody.content['application/json'].schema;
77
+ return {parameters: op.parameters, required: body.required, security: op.security, auth: op.auth};
78
+ };
79
+ ```
80
+
81
+ ## Authentication
82
+
83
+ - Admin `AmOAuth2`: Account Manager `clientId`/secret. Shopper `ShopperToken`: SLAS guest (`slasClientId`, needs `siteId`).
84
+ - Op's declared security picks credential. No auth option.
85
+ - Missing creds: `config_inspect`. 401/403: keep `status`/`data`/`diagnostic`. 403 alone != missing scope.
86
+ - Unsupported: registered-shopper-only ops, SLAS itself (`shopper/auth/v1`).
87
+ - Detail: [authentication](references/authentication.md).
88
+
89
+ ## Read when needed (do not read all)
90
+
91
+ | Need | Read |
92
+ | ------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------ |
93
+ | Pick API for a task (jobs, code versions, sites, products, promotions); live/custom schemas; `c_*` fields; `expand` | [discover](references/discover.md) |
94
+ | Compose multi-call program, verify, paging, limits | [compose-verify](references/compose-verify.md) |
95
+ | Approval, cancel, `input_required` | [confirmation](references/confirmation.md) |
96
+ | Auth, scopes, token export | [authentication](references/authentication.md), [tokens](references/tokens.md) |
97
+ | Snippets (`codemode.search/describe/run`, `builtin/`, `user/`) | [workflows](references/workflows.md) |
98
+ | Custom API | [custom-apis](references/custom-apis.md) |
@@ -0,0 +1,34 @@
1
+ # SCAPI authentication
2
+
3
+ - `scapi.request()` and snippets using it authenticate automatically. Do not acquire
4
+ or pass tokens first. For an explicitly requested token or external HTTP client,
5
+ use `auth.accountManager()` / `auth.slas()` in `scapi_execute`:
6
+ [token exports](tokens.md). These helpers are unavailable in search.
7
+ - The operation's declared security selects the credential; there is no auth option.
8
+ - Admin `AmOAuth2`: Account Manager credentials. Each request selects operation/tenant
9
+ scopes and reuses suitable cached tokens; no upfront scope union.
10
+ - Shopper `ShopperToken`: a SLAS guest shopper (`slasClientId`, plus `slasClientSecret`
11
+ for private clients; Storefront Next `.env` supplies both). Requests need `siteId`
12
+ (configured or `query.siteId`). The guest session is per site and persists across
13
+ executions for the server session, so baskets carry over. SLAS scopes are fixed on
14
+ the client, not requested per call; 401/403 diagnostics compare the token's scopes
15
+ with the operation's. `sfcc.shopper-standard` satisfies only operations that list it.
16
+ Public clients must allow redirect URI `http://localhost:3000/callback`.
17
+ - Missing credentials: `config_inspect` with masking. `clientId` is Admin;
18
+ `slasClientId` is Shopper. Configuration does not grant access.
19
+ - Scope rejection: grant reported scopes in Account Manager; check extra configured
20
+ scopes. Read/write alternatives are alternatives. Later failures do not undo writes.
21
+ - Unsupported: registered-shopper-only operations (`RegisteredShopperToken`),
22
+ trusted-system/agent on-behalf tokens, and SLAS itself (`shopper/auth/v1`).
23
+ `auth.slas({flow: 'registered', ...})` exports a registered token for external clients.
24
+ SLAS admin roles differ: `docs_read({query: "cli-slas"})` ([online](https://salesforcecommercecloud.github.io/b2c-developer-tooling/cli/slas.md)).
25
+ - HTTP 401/403 retain `status`/`data` plus `diagnostic`; preserve these.
26
+ A 403 alone does not prove missing scopes.
27
+
28
+ For missing values or wrong targets, read [MCP configuration](skill://mcp/b2c-mcp-config/SKILL.md)
29
+ (`skills_read` ID `mcp/b2c-mcp-config`). For external client/role/tenant-filter setup,
30
+ use `docs_read({query: "guide-authentication"})`; official Admin authorization:
31
+ `commerce-api/authorization-for-admin-apis`, scope definitions: `commerce-api/auth-z-scope-catalog`.
32
+ For other access questions, search `docs_search` with the specific error and API.
33
+ If docs are unavailable, use the [authentication guide](https://salesforcecommercecloud.github.io/b2c-developer-tooling/guide/authentication.md).
34
+ These are conditional setup references, not additional prerequisite reads.
@@ -0,0 +1,25 @@
1
+ # Compose and verify
2
+
3
+ - Pass the execution `projectDirectory`; reuse resolved `organizationId`/`siteId`.
4
+ Encode path IDs. `{organizationId}` placeholders resolve automatically.
5
+ - Compose dependent calls with intermediate results and local helpers.
6
+ Pause for unresolved intent or contracts.
7
+ - Sequence dependent writes; batch independent reads at most four at a time.
8
+ Await all requests. Map rejections to `{id, error: String(error)}`;
9
+ raw `Promise.allSettled()` reasons lose Error details in JSON.
10
+ - PUT can create or update: check existence and intent; read back writes.
11
+ - Check `ok`/`status`: HTTP errors return; transport/auth/safety failures throw.
12
+ Preserve completed writes and failed stages. Check writes before retrying;
13
+ no program replay or automatic cleanup deletion.
14
+ - Filter/page at the API, then project/aggregate in code. Include IDs, verification
15
+ fields, errors, totals, and continuation inputs. Do not crop away missing data.
16
+ - Limits: 20 calls, four outstanding, 30 seconds of active execution, 24 KB returned.
17
+ Managed API/token calls are serialized within an execution. Narrow oversized
18
+ discovery; reduce live pages/projections.
19
+ - SDK safety applies per request, including POST searches. Use only authorized
20
+ targeted exceptions. Confirmation uses client elicitation; see below. Code mode does not
21
+ transfer binaries; use WebDAV tools for instance files, an external client for
22
+ binary SCAPI endpoints.
23
+ - `fetch` and `WebSocket` are disabled. Use `scapi.request()` inside programs;
24
+ direct HTTP belongs in an external client, outside MCP Safety Mode. Do not use
25
+ imports or other Node networking APIs to bypass this boundary.
@@ -0,0 +1,30 @@
1
+ # Confirmation and cancellation
2
+
3
+ - A request requiring approval retains the running program and returns MCP
4
+ `input_required`. Let the client handle elicitation and the protocol retry;
5
+ never manufacture approval responses or modify opaque `requestState`.
6
+ - Retries validate the original code, input, and target arguments, then resume
7
+ the same execution. Repeated code is **not evaluated again**. Each request
8
+ needs its own approval; a whole program is not a transaction.
9
+ - Later managed calls wait for the pending decision. Earlier writes remain
10
+ applied. Prompts identify the organization, operation, method/path, and execution
11
+ ID. JSON previews are redacted and capped at five lines/400 characters; marked
12
+ truncation does not limit approval, which covers the full request.
13
+ Results include operation outcomes; `unknown` requires
14
+ checking the affected records before a fresh attempt.
15
+ - Decline/cancel terminates the entire execution, even if code catches errors.
16
+ Explicitly stop work with `scapi_execute({action: "cancel", executionId, skillRead: true})`;
17
+ omit code, input, project overrides, and protocol continuation state.
18
+ - Approval has no server deadline; waiting does not consume the active runtime
19
+ budget. At most four executions may be active per server, including pending
20
+ approvals. Cancel unwanted work to free a slot. Server shutdown or disconnect
21
+ releases retained workers; state does not survive a restart. Clients may impose
22
+ their own timeout. Duplicate responses never replay code or send a request twice.
23
+ - To change code/input/target, cancel unwanted retained work and start a fresh
24
+ execution without continuation state. Cancellation does not roll back writes.
25
+ Clients without form elicitation stop at confirmation-required requests.
26
+
27
+ For safety levels, rule matching, configuration precedence, and confirmation
28
+ semantics, read `docs_read({query: "guide-safety"})` when needed. If docs tools
29
+ are unavailable, use the [Safety Mode guide](https://salesforcecommercecloud.github.io/b2c-developer-tooling/guide/safety.md).
30
+ This is an optional policy reference, not another prerequisite read.
@@ -0,0 +1,94 @@
1
+ # SCAPI discovery, result limits and tenant schemas
2
+
3
+ Every operation carries `summary`, `description` and `tags` (plus parameters, security and responses), so
4
+ search the prose as well as `operationId` and path. Descriptions are long: return `op.summary` when listing
5
+ candidates, and read `op.description` only for the operations you are about to call.
6
+
7
+ `scapi_search` returns each operation as an outline by default: its own `summary`, `description` and `tags`, with
8
+ parameters, schemas and responses but without nested descriptions or examples. Pass `detail: "full"` when you need
9
+ property-level descriptions or example payloads for the operations you are about to call (`scapi_execute` always
10
+ sees full operations). Results are capped at 24 KB of JSON for both tools (`SCAPI_RESULT_TOO_LARGE`). A whole resolved operation is
11
+ typically 6-20 KB and some exceed the cap alone, so never return `op` or `spec.paths` entries unprojected: list
12
+ `{operationId, method, path, summary}`, then return only `parameters` or `requestBody` for the operations you will call.
13
+
14
+ The `spec` object has exactly three members; there is no `spec.schemas` and no need to probe it:
15
+
16
+ - `spec.apis`: array of `{id, apiFamily, apiName, apiVersion, status, origin?}` (`id` is e.g. `product/catalogs/v1`).
17
+ - `spec.paths`: `{[fullPath]: {[method]: operation}}`, where `fullPath` starts with the API id (`/product/catalogs/v1/organizations/{organizationId}/catalogs/{catalogId}`) and methods are lowercase. Operations carry `operationId`, `api`, `summary`, `description`, `tags`, `parameters`, `requestBody`, `responses`, `security` and `auth`.
18
+ - `spec.resolve(value, apiId)`: expands local `$ref`s in a fragment.
19
+
20
+ ## Discover
21
+
22
+ Discovery defaults to the bundled standard contracts offline; no credentials needed.
23
+ Pass `schemas: "live"` to search the configured tenant's Schemas API contracts
24
+ instead: tenant `c_*` properties, custom APIs, and APIs newer than the bundle.
25
+ Live search needs `sfcc.scapi-schemas`, uses the same project context as
26
+ `scapi_execute`, and caches per tenant for the server session (`refresh: true` refetches). Contracts that
27
+ failed to load are listed in `schemaFailures`. The result's `schemaSource` says which corpus was searched. If live
28
+ access fails (missing configuration, credentials or access), the search falls back to the bundled contracts,
29
+ reports `schemaSource: "bundled"` and explains why in `warnings`; tell the user when tenant `c_*` fields or custom
30
+ APIs matter, since the bundle has neither. Asking for a custom API (`custom/...`) never falls back. APIs with `origin: "local"` are
31
+ developer-supplied beta contracts (dw.json `scapi-schemas`, `SFCC_SCAPI_SCHEMAS` or `--scapi-schemas`). They replace the bundled and live versions in search and
32
+ execution. Schemas and responses can be huge.
33
+ Return only what the next decision needs:
34
+
35
+ 1. Find APIs/operations through `spec.apis`/`spec.paths`; return method/path/operationId.
36
+ 2. Narrow by `api` (a family, family/name or full id: `cdn`, `cdn/zones`, `cdn/zones/v1`), path, or `authType`; inspect required inputs and selected fields,
37
+ including `allOf` when present.
38
+ 3. Inspect response fields only as needed; avoid whole operations/schema trees.
39
+
40
+ Local refs expand; recursive/deep refs retain `$ref`. `op.auth.executable` means
41
+ runtime support, not configured access; `op.security` gives scopes.
42
+
43
+ ### Task map
44
+
45
+ Use these API IDs to narrow discovery; inspect the operation's inputs before calling.
46
+ Snippet names below have the `builtin/` prefix. Describe only the relevant snippet.
47
+
48
+ | Task | API / starting point |
49
+ | --------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------- |
50
+ | Review runs, including successes | `operation/jobs/v1`: `searchJobExecutions`; `job-execution-review` snippet |
51
+ | Inspect steps and exact log path | `operation/jobs/v1`: `getJobExecution`; `job-execution-inspect` snippet |
52
+ | Investigate failures with detail reads | `failed-job-triage` snippet; [jobs](jobs.md) |
53
+ | Start a job / stop an execution | `operation/jobs/v1`: `createJobExecution` / `deleteJobExecution`; confirm intent and active runs first; bodies for system jobs: [jobs](jobs.md#start-a-job) |
54
+ | Active/rollback versions, activation metadata | `dx/scripts/v1`: `getCodeVersions`; `code-version-inspect` snippet |
55
+ | Activate/create/delete a code version | `dx/scripts/v1`: `updateCodeVersion` / `createCodeVersion` / `deleteCodeVersion` |
56
+ | Site status, catalog, ordered cartridge path | `site/sites/v1`: `getSiteById`; `site-cartridge-inspect` snippet |
57
+ | Change a site's custom cartridge path | `site/sites/v1`: `replaceSiteCustomCartridges`; preserve order and unrelated entries |
58
+ | Basic product + optional category assignment | `create-product` snippet; [products](products.md) |
59
+ | Campaign assignments and promotion details | `campaign-promotions` snippet; [promotions](promotions.md) |
60
+
61
+ File content is WebDAV: `webdav_list` / `webdav_get` / `webdav_put`.
62
+ Deploy local cartridge files with `cartridge_deploy`. Job schedules/definitions
63
+ are not execution history; obtain expected schedules from Business Manager/user.
64
+ Do not fall back to a terminal merely because there is no dedicated job/site tool.
65
+
66
+ ### Tenant custom properties and APIs
67
+
68
+ Bundled schemas omit tenant `c_*` definitions. Known custom fields can be sent
69
+ directly in standard Admin bodies; schema retrieval is optional. SCAPI validates
70
+ the payload. To discover tenant fields, search with `schemas: "live"` (narrow with
71
+ `api`), or fetch the live schema with `scapi_schemas_list`: `includeSchemas: true`,
72
+ `apiFamily`, `apiName`, `apiVersion`.
73
+ Custom-property expansion defaults to true; disable with `expandCustomProperties: false`.
74
+ `expandAll: true` returns the full contract (operation prose, examples, custom properties) instead of the
75
+ collapsed outline, which asks the Schemas API for only what it keeps. `include` selects Schemas API `expand`
76
+ sections directly (`summaries`, `descriptions`, `examples`, `external_docs`, `tags`, `titles`,
77
+ `custom_properties`, or `all`) when you want, say, only summaries. If live access fails, `scapi_schemas_list` returns
78
+ the bundled contract with `source: "bundled"` and a `warning`. Large contracts: fetch through `scapi_execute` and return only relevant
79
+ fields ([example](custom-properties.md)). Requires `sfcc.scapi-schemas`.
80
+ Use the same project/instance for schema lookup and writes.
81
+
82
+ Live contracts found by `schemas: "live"` search, expanded `scapi_schemas_list`
83
+ fetches, or Schemas API reads inside `scapi_execute` are cached for that tenant.
84
+ `scapi_execute` then routes to them, replacing bundled versions; they never change
85
+ the offline `spec`. If schema access fails, report it; use
86
+ already-known fields or ask for missing details. The optional CLI equivalent is
87
+ `b2c scapi schemas get`, which also expands custom properties by default.
88
+
89
+ For custom endpoint contracts, search with `schemas: "live"` or use
90
+ `scapi_schemas_list` with `apiFamily: "custom"`; check registration with
91
+ `scapi_custom_apis_get_status` when needed. Custom endpoints found through live
92
+ search are callable from `scapi_execute` for the same tenant. Otherwise fetch the
93
+ live contract through `scapi.request` in the program before making declared calls. `AmOAuth2`
94
+ and `ShopperToken` operations use their declared `c_*` scopes. [Custom API workflow](custom-apis.md).
@@ -0,0 +1,72 @@
1
+ # Job review and investigation
2
+
3
+ - Routine history: `builtin/job-execution-review` includes successes and unfinished
4
+ runs; fixed `from`/`to`, optional `jobId`, bounded `limit` and `nextOffset`.
5
+ - Exact execution: `builtin/job-execution-inspect` returns a page of steps and the
6
+ exact `logFilePath`. Inspect processed item counts and expected business data.
7
+ - Failure investigation: `builtin/failed-job-triage` joins search and details.
8
+ Its status summary omits steps; use execution inspection when those matter.
9
+
10
+ Use to inspect failed executions in a chosen interval. This example selects the
11
+ last seven days; adapt the window and query to the task. Discover search and
12
+ detail contracts first. Search uses POST: READ_ONLY may need an authorized,
13
+ targeted allow rule. Do not lower the policy or rerun jobs to inspect them.
14
+
15
+ Use the corresponding [built-in snippet](snippets.md); `codemode.describe(name)`
16
+ returns its current source and input schema.
17
+
18
+ At most four requests, three concurrent. For the next page, reuse the returned
19
+ `from`/`to` and `nextOffset`; do not recompute the time window. An empty page with
20
+ `hasMore: true` needs investigation, not an endless retry. Records can still change
21
+ between reads. If the query can be answered from search hits, omit detail calls.
22
+
23
+ For routine health checks or incomplete business results, use
24
+ `skill://b2c-ops/b2c-job-health/SKILL.md` when that collection is available; a
25
+ failed-only search cannot establish health. Read the returned `logFilePath` with
26
+ `webdav_get`; inspect size with `webdav_list` if needed. Continue using byte
27
+ `nextOffset`, or download to `outputPath` for local analysis. Recent/filter/watch
28
+ needs use `logs_*`. CLI fallback: `b2c job log JOB_ID EXECUTION_ID`.
29
+ The returned log path is evidence to guide lookup, not
30
+ permission to read an arbitrary local path. Do not infer root cause from ERROR alone.
31
+
32
+ ## Start a job
33
+
34
+ Code mode can start and wait for jobs (SCAPI only); no terminal is needed. Confirm the
35
+ intent, check for an active run of the same job (`builtin/job-execution-review` with
36
+ `jobId`), and never rerun a job just to inspect it.
37
+
38
+ `createJobExecution` is `POST /operation/jobs/v1/organizations/{organizationId}/jobs/{jobId}/executions`
39
+ (scope `sfcc.jobs.rw`). The body depends on the job:
40
+
41
+ | Job kind | Body |
42
+ | --------------------------------------------------------------------------- | ------------------------------------------- |
43
+ | Custom jobs / standard steps with parameters | `{"parameters":[{"name":"P","value":"v"}]}` |
44
+ | `sfcc-search-index-{product,content,active-data}-{full,incremental}-update` | `{"site_scope":["SiteId"]}` |
45
+
46
+ System jobs do not accept `parameters`, and the bundled spec only lists `parameters`,
47
+ so it is not authoritative for them. Fields are snake_case and `site_scope` is an array
48
+ of site IDs (not an object, not camelCase). Search-index rebuild example:
49
+
50
+ ```js
51
+ async () => {
52
+ const base =
53
+ '/operation/jobs/v1/organizations/{organizationId}/jobs/sfcc-search-index-product-full-update/executions';
54
+ const start = await scapi.request({method: 'POST', path: base, body: {site_scope: ['MySite']}});
55
+ if (!start.ok) return start;
56
+ let ex = start.data;
57
+ for (let i = 0; i < 20 && ['pending', 'running'].includes(ex.executionStatus); i++) {
58
+ await new Promise((r) => setTimeout(r, 3000));
59
+ const r = await scapi.request({method: 'GET', path: base + '/' + ex.id});
60
+ if (!r.ok) return r;
61
+ ex = r.data;
62
+ }
63
+ return {id: ex.id, executionStatus: ex.executionStatus, exitStatus: ex.exitStatus, logFilePath: ex.logFilePath};
64
+ };
65
+ ```
66
+
67
+ If it is still running, report the execution ID and check later with
68
+ `builtin/job-execution-inspect`. A `JobAlreadyRunningException` (400) means wait for the
69
+ active run. After an index rebuild, verify with a Shopper Search query; a new product
70
+ also needs to be online, orderable/in stock, and assigned to a category in the site catalog.
71
+ OCAPI equivalent for CLI use: same body at `POST /jobs/{job_id}/executions`
72
+ (`b2c job run ID --body '...'`).
@@ -0,0 +1,28 @@
1
+ # Reusable workflows
2
+
3
+ Find workflows with `codemode.search(query)`; `codemode.describe(name)`
4
+ returns source/inputSchema. Inspect before first use; `codemode.run(name, input)`
5
+ composes inside execution with shared limits/auth/safety. `builtin/` ships with
6
+ the MCP; `user/` persists locally. [Catalog](snippets.md).
7
+
8
+ Reuse a snippet when its inputs and verification cover the task. Otherwise adapt
9
+ its source or compose direct requests; do not omit requested fields to fit a
10
+ snippet. Inputs are schema-validated before invocation. Pass variable values
11
+ through the tool's `input` to `async (input)` when preparing reusable code.
12
+ Discover/describe inside either code tool; run snippets only inside `scapi_execute`.
13
+ Saving requires an explicit user request and a reviewed outcome; a completed
14
+ execution may still contain HTTP errors or partial failures.
15
+
16
+ - [Products](products.md): create, optionally assign a storefront category, verify both.
17
+ - [Promotions](promotions.md): join assignments/details in bounded batches.
18
+ - [Jobs](jobs.md): review runs, inspect steps/logs, investigate failures.
19
+
20
+ For explicit save requests, see [saving](saving.md).
21
+
22
+ No CLI code-mode equivalent. For missing settings such as promotion discounts,
23
+ consider [XML archives](skill://b2c-cli/b2c-site-import-export/SKILL.md)
24
+ (`docs_read({query: "cli-jobs"})`, [online](https://salesforcecommercecloud.github.io/b2c-developer-tooling/cli/jobs.md)).
25
+ [Platform reference](https://developer.salesforce.com/docs/commerce/commerce-api/references).
26
+ Configuration/access: `docs_read({query: "mcp-configuration"})` ([online](https://salesforcecommercecloud.github.io/b2c-developer-tooling/mcp/configuration.md)).
27
+
28
+ Other MCP workflows and runbooks: [skill index](skill://mcp/b2c-mcp-server/SKILL.md#skill-index).