@salesforce/afv-skills 1.65.0 → 1.66.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 (379) hide show
  1. package/package.json +1 -1
  2. package/skills/agentforce-offline-experimentation-run/SKILL.md +16 -15
  3. package/skills/agentforce-offline-experimentation-run/scripts/sfap_replay.py +3 -245
  4. package/skills/dx-devops-work-item-manage/SKILL.md +34 -17
  5. package/skills/dx-devops-work-item-manage/examples/common-workflows.md +49 -0
  6. package/skills/dx-devops-work-item-manage/references/commit-api.md +116 -0
  7. package/skills/experience-lwc-widget-assess/SKILL.md +79 -0
  8. package/skills/experience-lwc-widget-migrate/SKILL.md +50 -0
  9. package/skills/field-service-data-capture-form-deployer-configure/SKILL.md +2 -23
  10. package/skills/field-service-data-capture-form-designer-configure/SKILL.md +3 -13
  11. package/skills/field-service-mobile-branding-configure/SKILL.md +3 -17
  12. package/skills/field-service-objective-designer-configure/SKILL.md +379 -72
  13. package/skills/field-service-prework-brief-deployer-configure/SKILL.md +537 -10
  14. package/skills/field-service-scheduling-policy-designer-query/SKILL.md +1093 -65
  15. package/skills/field-service-sobject-create-configure/SKILL.md +213 -13
  16. package/skills/field-service-voice-to-form-configure/SKILL.md +11 -40
  17. package/skills/field-service-work-rule-designer-configure/SKILL.md +95 -121
  18. package/skills/platform-role-hierarchy-apply/SKILL.md +177 -0
  19. package/skills/platform-widget-generate/SKILL.md +58 -41
  20. package/skills/platform-widget-generate/references/widget-bundle-validation.md +14 -0
  21. package/skills/service-agentforce-contact-center-coordinate/SKILL.md +1 -1
  22. package/skills/service-agentforce-contact-center-coordinate/references/number_management_api.md +11 -1
  23. package/skills/service-agentforce-contact-center-coordinate/scripts/fetch-numbers.sh +12 -6
  24. package/skills/service-agentforce-contact-center-coordinate/scripts/lib.sh +16 -0
  25. package/skills/service-agentforce-contact-center-coordinate/scripts/procure-number.sh +2 -1
  26. package/skills/service-concierge-portal-generate/references/portal-deploy-runbook.md +24 -11
  27. package/skills/service-digital-engagement-channel-configure/SKILL.md +25 -14
  28. package/skills/service-digital-engagement-channel-configure/references/onboarding_contract.md +143 -0
  29. package/skills/service-digital-engagement-deployment-configure/SKILL.md +61 -12
  30. package/skills/service-digital-engagement-deployment-configure/references/connect_api_creation.md +14 -5
  31. package/skills/service-digital-engagement-deployment-configure/references/onboarding_contract.md +146 -0
  32. package/skills/service-itsm-agentic-setup-incident-management/SKILL.md +23 -13
  33. package/skills/service-itsm-agentic-setup-incident-management/references/incident-persona-psg.md +7 -6
  34. package/skills/service-itsm-agentic-setup-incident-management/references/incident-preferences.md +9 -10
  35. package/skills/service-itsm-agentic-setup-incident-management/references/major-incident-management.md +6 -6
  36. package/skills/service-itsm-agentic-setup-incident-management/references/service-mgmt-privilege.md +1 -1
  37. package/skills/service-itsm-agentic-setup-incident-sla-configure/SKILL.md +34 -25
  38. package/skills/service-itsm-agentic-setup-incident-sla-configure/examples/milestone-patterns.md +1 -1
  39. package/skills/service-itsm-agentic-setup-incident-sla-configure/references/mcp-invocation.md +90 -86
  40. package/skills/service-itsm-agentic-setup-incident-sla-configure/references/workflow.md +63 -38
  41. package/skills/agentforce-gpt-email-generation-configure/SKILL.md +0 -312
  42. package/skills/agentforce-wizard-ui-forecasting-analytics-components-configure/SKILL.md +0 -64
  43. package/skills/agentforce-wizard-ui-sales-einstein-components-configure/SKILL.md +0 -46
  44. package/skills/automation-company-profile-info-query/SKILL.md +0 -51
  45. package/skills/automation-digital-wallet-configure/SKILL.md +0 -689
  46. package/skills/automation-flow-coordinate/SKILL.md +0 -95
  47. package/skills/automation-flow-coordinate/references/elements/action-call/action-call.md +0 -1569
  48. package/skills/automation-flow-coordinate/references/elements/action-call/conversation-messaging.md +0 -96
  49. package/skills/automation-flow-coordinate/references/elements/action-call/examples/send-sms-message.json +0 -23
  50. package/skills/automation-flow-coordinate/references/elements/action-call/examples/send-to-journey-no-fields.json +0 -31
  51. package/skills/automation-flow-coordinate/references/elements/action-call/send-to-journey.md +0 -179
  52. package/skills/automation-flow-coordinate/references/elements/exit-rule/examples/event-email-link-click.json +0 -13
  53. package/skills/automation-flow-coordinate/references/elements/exit-rule/exit-rule.md +0 -83
  54. package/skills/automation-flow-coordinate/references/elements/forward-to-bot-or-agent/examples/forward-to-bot-or-agent.json +0 -69
  55. package/skills/automation-flow-coordinate/references/elements/forward-to-bot-or-agent/forward-to-bot-or-agent.md +0 -274
  56. package/skills/automation-flow-coordinate/references/elements/start/audience-common.md +0 -192
  57. package/skills/automation-flow-coordinate/references/elements/start/automation-event-triggered.md +0 -130
  58. package/skills/automation-flow-coordinate/references/elements/start/data-cloud-data-change-triggered.md +0 -92
  59. package/skills/automation-flow-coordinate/references/elements/start/form-submission-triggered.md +0 -88
  60. package/skills/automation-flow-coordinate/references/elements/start/segment-triggered.md +0 -152
  61. package/skills/automation-flow-coordinate/references/elements/start/start.md +0 -539
  62. package/skills/automation-flow-coordinate/references/elements/subflow/subflow.md +0 -152
  63. package/skills/automation-flow-coordinate/references/elements/wait/wait.md +0 -497
  64. package/skills/automation-flow-coordinate/references/recipes/author/author.md +0 -868
  65. package/skills/automation-flow-coordinate/references/recipes/summarize/element-generic.md +0 -300
  66. package/skills/automation-flow-coordinate/references/recipes/summarize/reference-resolution.md +0 -292
  67. package/skills/automation-flow-coordinate/references/recipes/summarize/summarize.md +0 -323
  68. package/skills/automation-flow-coordinate/references/recipes/testing/examples/debug-output-template.md +0 -109
  69. package/skills/automation-flow-coordinate/references/recipes/testing/shape.md +0 -219
  70. package/skills/automation-flow-coordinate/references/recipes/testing/shared-stages/intent-analyzer.md +0 -180
  71. package/skills/automation-flow-coordinate/references/recipes/testing/workflows/debug.md +0 -175
  72. package/skills/automation-flow-coordinate/references/recipes/testing/workflows/promote.md +0 -255
  73. package/skills/automation-flow-coordinate/references/recipes/testing/workflows/save-debug.md +0 -212
  74. package/skills/automation-flow-coordinate/references/resources/variable/variable.md +0 -171
  75. package/skills/automation-flow-coordinate/references/shared/anti-patterns.md +0 -786
  76. package/skills/automation-flow-coordinate/references/shared/end/end.md +0 -267
  77. package/skills/automation-flow-coordinate/references/shared/flow-type-resolver/eval/README.md +0 -69
  78. package/skills/automation-flow-coordinate/references/shared/flow-type-resolver/eval/predictions.jsonl +0 -80
  79. package/skills/automation-flow-coordinate/references/shared/flow-type-resolver/eval/prompts.jsonl +0 -116
  80. package/skills/automation-flow-coordinate/references/shared/flow-type-resolver/flow-type-resolver.md +0 -321
  81. package/skills/automation-flow-coordinate/references/shared/flow-type-resolver/taxonomy.json +0 -320
  82. package/skills/automation-flow-coordinate/references/shared/server-functions.md +0 -597
  83. package/skills/automotive-cloud-appraisal-management-settings-configure/SKILL.md +0 -69
  84. package/skills/automotive-cloud-dealer-essentials-configure/SKILL.md +0 -78
  85. package/skills/automotive-cloud-ground-agent-data-pipelines-configure/SKILL.md +0 -373
  86. package/skills/automotive-cloud-ground-mfg-agent-data-pipelines-configure/SKILL.md +0 -273
  87. package/skills/automotive-cloud-mfg-agent-data-pipelines-configure/SKILL.md +0 -259
  88. package/skills/automotive-cloud-mfg-sales-concierge-agent-create/SKILL.md +0 -369
  89. package/skills/automotive-cloud-mfg-sales-concierge-foundation-configure/SKILL.md +0 -542
  90. package/skills/automotive-cloud-mfg-sales-concierge-foundation-coordinate/SKILL.md +0 -159
  91. package/skills/automotive-cloud-mfg-sales-concierge-orchestrator-agent-create/SKILL.md +0 -349
  92. package/skills/automotive-cloud-mfg-sales-concierge-orchestrator-configure/SKILL.md +0 -505
  93. package/skills/automotive-cloud-sales-concierge-agent-create/SKILL.md +0 -380
  94. package/skills/automotive-cloud-sales-concierge-foundation-configure/SKILL.md +0 -567
  95. package/skills/automotive-cloud-sales-concierge-foundation-coordinate/SKILL.md +0 -159
  96. package/skills/automotive-cloud-sales-concierge-orchestrator-agent-create/SKILL.md +0 -360
  97. package/skills/automotive-cloud-sales-concierge-orchestrator-configure/SKILL.md +0 -539
  98. package/skills/automotive-cloud-sales-concierge-search-grounding-configure/SKILL.md +0 -358
  99. package/skills/commerce-b2b-merchant-quote-configure/SKILL.md +0 -602
  100. package/skills/commerce-b2b-store-configure/SKILL.md +0 -251
  101. package/skills/commerce-credit-memo-create/SKILL.md +0 -139
  102. package/skills/commerce-delivery-business-hours-configure/SKILL.md +0 -277
  103. package/skills/commerce-delivery-estimation-apply/SKILL.md +0 -155
  104. package/skills/commerce-delivery-estimation-configure/SKILL.md +0 -377
  105. package/skills/commerce-delivery-routing-specs-integrate/SKILL.md +0 -174
  106. package/skills/commerce-estimate-bopis-query/SKILL.md +0 -279
  107. package/skills/commerce-estimate-delivery-date-query/SKILL.md +0 -349
  108. package/skills/commerce-fees-apply/SKILL.md +0 -227
  109. package/skills/commerce-fulfillment-routing-analyze/SKILL.md +0 -200
  110. package/skills/commerce-guest-buyer-create/SKILL.md +0 -173
  111. package/skills/commerce-location-bopis-configure/SKILL.md +0 -378
  112. package/skills/commerce-location-business-hours-configure/SKILL.md +0 -235
  113. package/skills/commerce-location-delivery-processing-time-configure/SKILL.md +0 -309
  114. package/skills/commerce-location-graph-integrate/SKILL.md +0 -131
  115. package/skills/commerce-location-shipping-carrier-method-configure/SKILL.md +0 -755
  116. package/skills/commerce-location-temporary-operating-hours-configure/SKILL.md +0 -331
  117. package/skills/commerce-merchant-buyer-groups-configure/SKILL.md +0 -579
  118. package/skills/commerce-merchant-buyer-user-onboarding-create/SKILL.md +0 -626
  119. package/skills/commerce-merchant-catalog-configure/SKILL.md +0 -614
  120. package/skills/commerce-merchant-extension-provider-configure/SKILL.md +0 -368
  121. package/skills/commerce-merchant-insights-account-health-churn-analyze/SKILL.md +0 -118
  122. package/skills/commerce-merchant-insights-inventory-returns-analyze/SKILL.md +0 -65
  123. package/skills/commerce-merchant-insights-order-shopper-get/SKILL.md +0 -90
  124. package/skills/commerce-merchant-insights-product-performance-analyze/SKILL.md +0 -72
  125. package/skills/commerce-merchant-insights-query/SKILL.md +0 -279
  126. package/skills/commerce-merchant-storefront-guest-access-configure/SKILL.md +0 -656
  127. package/skills/commerce-order-summary-change-apply/SKILL.md +0 -375
  128. package/skills/commerce-product-details-get/SKILL.md +0 -363
  129. package/skills/commerce-product-search/SKILL.md +0 -563
  130. package/skills/commerce-react-storefront-create/SKILL.md +0 -350
  131. package/skills/commerce-return-order-summary-create/SKILL.md +0 -513
  132. package/skills/commerce-search-relevance-analyze/SKILL.md +0 -757
  133. package/skills/commerce-temporary-processing-time-override-create/SKILL.md +0 -274
  134. package/skills/communications-initial-setup-configure/SKILL.md +0 -630
  135. package/skills/communications-multisite-configure/SKILL.md +0 -571
  136. package/skills/communications-revenue-cloud-settings-configure/SKILL.md +0 -74
  137. package/skills/communications-smb-fiber-catalog-create/SKILL.md +0 -413
  138. package/skills/communications-tmf-integrate/SKILL.md +0 -1368
  139. package/skills/consumer-goods-visit-activity-act4-questions-assign/SKILL.md +0 -448
  140. package/skills/consumer-goods-visit-activity-act5-standard-create/SKILL.md +0 -269
  141. package/skills/consumer-goods-visit-activity-act6-assortment-configure/SKILL.md +0 -271
  142. package/skills/consumer-goods-visit-activity-act7-account-scoping-create/SKILL.md +0 -382
  143. package/skills/consumer-goods-visit-activity-act8-plan-attach-create/SKILL.md +0 -373
  144. package/skills/consumer-goods-visit-activity-act9-proof-validate/SKILL.md +0 -389
  145. package/skills/consumer-goods-visit-and-activity-act1-specification-create/SKILL.md +0 -338
  146. package/skills/consumer-goods-visit-and-activity-act2-template-create/SKILL.md +0 -547
  147. package/skills/consumer-goods-visit-and-activity-act3-definition-create/SKILL.md +0 -346
  148. package/skills/consumer-goods-visit-and-activity-configure/SKILL.md +0 -1110
  149. package/skills/crm-analytics-adoption-insights-configure/SKILL.md +0 -224
  150. package/skills/crm-analytics-custom-report-type-lightning-configure/SKILL.md +0 -418
  151. package/skills/crm-analytics-dashboards-configure/SKILL.md +0 -731
  152. package/skills/crm-analytics-operational-analytics-metadata-bridge-migrate/SKILL.md +0 -233
  153. package/skills/crm-analytics-report-notifications-ui-configure/SKILL.md +0 -184
  154. package/skills/crm-analytics-sharing-inheritance-coverage-analyze/SKILL.md +0 -167
  155. package/skills/crm-analytics-sonic-getting-started-configure/SKILL.md +0 -55
  156. package/skills/crm-analytics-tableau-next-app-deploy/SKILL.md +0 -1350
  157. package/skills/crm-analytics-tableau-next-c360-basemodel-validate/SKILL.md +0 -1862
  158. package/skills/crm-analytics-tableau-next-datacloud-validate/SKILL.md +0 -83
  159. package/skills/crm-analytics-tableau-next-provisioning-validate/SKILL.md +0 -81
  160. package/skills/data360-activation-create/SKILL.md +0 -104
  161. package/skills/data360-activation-external-platform-get/SKILL.md +0 -49
  162. package/skills/data360-activation-target-create/SKILL.md +0 -93
  163. package/skills/data360-activation-v2-create/SKILL.md +0 -456
  164. package/skills/data360-audience-dmo-get/SKILL.md +0 -38
  165. package/skills/data360-calculated-affinity-create/SKILL.md +0 -82
  166. package/skills/data360-calculated-insight-create/SKILL.md +0 -148
  167. package/skills/data360-catalog-metadata-create/SKILL.md +0 -183
  168. package/skills/data360-code-extension-create/SKILL.md +0 -115
  169. package/skills/data360-communication-capping-create/SKILL.md +0 -227
  170. package/skills/data360-connection-create/SKILL.md +0 -491
  171. package/skills/data360-content-lens-create/SKILL.md +0 -181
  172. package/skills/data360-data-action-create/SKILL.md +0 -126
  173. package/skills/data360-data-action-target-create/SKILL.md +0 -181
  174. package/skills/data360-data-clean-room-create/SKILL.md +0 -238
  175. package/skills/data360-data-governance-create/SKILL.md +0 -746
  176. package/skills/data360-data-graph-create/SKILL.md +0 -82
  177. package/skills/data360-data-harmonized-model-object-reference-create/SKILL.md +0 -38
  178. package/skills/data360-data-lake-object-create/SKILL.md +0 -207
  179. package/skills/data360-data-model-object-catalog-get/SKILL.md +0 -49
  180. package/skills/data360-data-model-object-create/SKILL.md +0 -128
  181. package/skills/data360-data-model-object-mapping-create/SKILL.md +0 -106
  182. package/skills/data360-data-space-create/SKILL.md +0 -161
  183. package/skills/data360-data-streams-create/SKILL.md +0 -324
  184. package/skills/data360-engagement-signal-get/SKILL.md +0 -38
  185. package/skills/data360-experiment-create/SKILL.md +0 -82
  186. package/skills/data360-goal-based-campaign-create/SKILL.md +0 -192
  187. package/skills/data360-harmonization-process-history-get/SKILL.md +0 -38
  188. package/skills/data360-harmonized-unstructured-dmo-create/SKILL.md +0 -84
  189. package/skills/data360-identity-resolution-create/SKILL.md +0 -115
  190. package/skills/data360-intelligent-document-processing-create/SKILL.md +0 -148
  191. package/skills/data360-knowledge-graph-construction-create/SKILL.md +0 -93
  192. package/skills/data360-knowledge-graph-create/SKILL.md +0 -216
  193. package/skills/data360-knowledge-space-mcp-configure/SKILL.md +0 -475
  194. package/skills/data360-machine-learning-mcp-configure/SKILL.md +0 -697
  195. package/skills/data360-multi-org-mcp-configure/SKILL.md +0 -117
  196. package/skills/data360-secondary-index-mcp-configure/SKILL.md +0 -126
  197. package/skills/data360-segment-mcp-configure/SKILL.md +0 -159
  198. package/skills/data360-semantic-calculated-dimension-mcp-configure/SKILL.md +0 -93
  199. package/skills/data360-semantic-calculated-measurement-mcp-configure/SKILL.md +0 -93
  200. package/skills/data360-semantic-data-object-mcp-configure/SKILL.md +0 -93
  201. package/skills/data360-semantic-dimension-mcp-configure/SKILL.md +0 -38
  202. package/skills/data360-semantic-engine-mcp-configure/SKILL.md +0 -62
  203. package/skills/data360-semantic-measurement-mcp-configure/SKILL.md +0 -38
  204. package/skills/data360-semantic-metric-mcp-configure/SKILL.md +0 -93
  205. package/skills/data360-semantic-model-mcp-configure/SKILL.md +0 -115
  206. package/skills/data360-standard-mapping-mcp-configure/SKILL.md +0 -38
  207. package/skills/data360-tenant-lifecycle-mcp-configure/SKILL.md +0 -73
  208. package/skills/experience-afv-query/SKILL.md +0 -234
  209. package/skills/experience-agentforce-vibes-in-react-configure/SKILL.md +0 -63
  210. package/skills/experience-apex-components-configure/SKILL.md +0 -69
  211. package/skills/experience-apex-pages-configure/SKILL.md +0 -107
  212. package/skills/experience-app-home-configure/SKILL.md +0 -76
  213. package/skills/experience-aura-lightning-out-access-configure/SKILL.md +0 -58
  214. package/skills/experience-briefcase-configure/SKILL.md +0 -287
  215. package/skills/experience-community-flexi-page-list-create/SKILL.md +0 -74
  216. package/skills/experience-community-template-definition-list-query/SKILL.md +0 -48
  217. package/skills/experience-community-theme-definition-list-query/SKILL.md +0 -38
  218. package/skills/experience-content-assets-configure/SKILL.md +0 -86
  219. package/skills/experience-custom-domain-create/SKILL.md +0 -727
  220. package/skills/experience-defer-rendering-workspace-page-setup-configure/SKILL.md +0 -41
  221. package/skills/experience-field-service-app-builder-configure/SKILL.md +0 -187
  222. package/skills/experience-flow-category-configure/SKILL.md +0 -117
  223. package/skills/experience-formula-configure/SKILL.md +0 -358
  224. package/skills/experience-global-actions-configure/SKILL.md +0 -69
  225. package/skills/experience-global-publisher-layouts-configure/SKILL.md +0 -79
  226. package/skills/experience-instrumentation-configure/SKILL.md +0 -64
  227. package/skills/experience-lex-engagement-configure/SKILL.md +0 -50
  228. package/skills/experience-lightning-bolt-open/SKILL.md +0 -12
  229. package/skills/experience-lightning-out-configure/SKILL.md +0 -129
  230. package/skills/experience-lightning-preview-configure/SKILL.md +0 -67
  231. package/skills/experience-lightning-types-query/SKILL.md +0 -98
  232. package/skills/experience-malware-scan-configure/SKILL.md +0 -71
  233. package/skills/experience-my-salesforce-configure/SKILL.md +0 -126
  234. package/skills/experience-navigation-menus-configure/SKILL.md +0 -235
  235. package/skills/experience-notification-types-configure/SKILL.md +0 -206
  236. package/skills/experience-notifications-configure/SKILL.md +0 -75
  237. package/skills/experience-record-discovery-query/SKILL.md +0 -227
  238. package/skills/experience-regenerate-previews-open/SKILL.md +0 -94
  239. package/skills/experience-sales-cloud-mab-configure/SKILL.md +0 -254
  240. package/skills/experience-schema-builder-open/SKILL.md +0 -38
  241. package/skills/experience-simple-record-home-configure/SKILL.md +0 -110
  242. package/skills/experience-static-resources-configure/SKILL.md +0 -74
  243. package/skills/field-service-setup-coordinate/SKILL.md +0 -62
  244. package/skills/field-service-work-plan-configure/SKILL.md +0 -253
  245. package/skills/fsc-actionable-segmentation-settings-configure/SKILL.md +0 -180
  246. package/skills/fsc-digital-origination-bre-decision-matrix-foundation-create/SKILL.md +0 -196
  247. package/skills/fsc-digital-origination-bre-disclosures-consent-configure/SKILL.md +0 -106
  248. package/skills/fsc-digital-origination-bre-document-upload-configure/SKILL.md +0 -96
  249. package/skills/fsc-digital-origination-bre-permissions-assign/SKILL.md +0 -111
  250. package/skills/fsc-digital-origination-bre-setup-coordinate/SKILL.md +0 -250
  251. package/skills/fsc-digital-origination-bre-stp-eligibility-configure/SKILL.md +0 -122
  252. package/skills/fsc-digital-origination-coordinate/SKILL.md +0 -653
  253. package/skills/fsc-digital-origination-demo-run/SKILL.md +0 -225
  254. package/skills/fsc-digital-origination-execution-guardrails-validate/SKILL.md +0 -112
  255. package/skills/fsc-digital-origination-initial-setup-configure/SKILL.md +0 -396
  256. package/skills/fsc-digital-origination-pricing-setup-coordinate/SKILL.md +0 -336
  257. package/skills/fsc-digital-origination-pricing-setup-data-foundation-create/SKILL.md +0 -208
  258. package/skills/fsc-digital-origination-pricing-setup-procedure-create/SKILL.md +0 -375
  259. package/skills/fsc-digital-origination-product-setup-act1-permissions-assign/SKILL.md +0 -83
  260. package/skills/fsc-digital-origination-product-setup-coordinate/SKILL.md +0 -248
  261. package/skills/fsc-digital-origination-sample-data-create/SKILL.md +0 -206
  262. package/skills/fsc-document-checklist-settings-configure/SKILL.md +0 -57
  263. package/skills/fsc-flexible-hierarchy-configure/SKILL.md +0 -148
  264. package/skills/fsc-flexible-hierarchy-foundation-configure/SKILL.md +0 -1430
  265. package/skills/fsc-flexible-hierarchy-graph-config-create/SKILL.md +0 -471
  266. package/skills/fsc-flexible-hierarchy-rule-based-graph-deploy/SKILL.md +0 -429
  267. package/skills/fsc-pricing-product-configurator-configure/SKILL.md +0 -150
  268. package/skills/fsc-pricing-salesforce-omnistudio-switch/SKILL.md +0 -123
  269. package/skills/fsc-product-act2-catalog-categories-create/SKILL.md +0 -82
  270. package/skills/fsc-product-act3-attributes-create/SKILL.md +0 -249
  271. package/skills/fsc-product-act4-classification-assignment-create/SKILL.md +0 -196
  272. package/skills/fsc-product-act5-considerations-get/SKILL.md +0 -44
  273. package/skills/fsc-stage-management-apex-flow-deploy/SKILL.md +0 -384
  274. package/skills/fsc-stage-management-compliant-data-sharing-configure/SKILL.md +0 -144
  275. package/skills/fsc-stage-management-decision-matrices-create/SKILL.md +0 -107
  276. package/skills/fsc-stage-management-definition-assignments-create/SKILL.md +0 -189
  277. package/skills/fsc-stage-management-definition-create/SKILL.md +0 -108
  278. package/skills/fsc-stage-management-permissions-assign/SKILL.md +0 -143
  279. package/skills/fsc-stage-management-transitions-configure/SKILL.md +0 -139
  280. package/skills/health-cloud-appt-booking-config-configure/SKILL.md +0 -135
  281. package/skills/health-cloud-appt-booking-url-config-configure/SKILL.md +0 -134
  282. package/skills/health-cloud-care-provider-affl-role-config-configure/SKILL.md +0 -136
  283. package/skills/health-cloud-care-provider-search-config-configure/SKILL.md +0 -134
  284. package/skills/health-cloud-care-requests-create/SKILL.md +0 -178
  285. package/skills/health-cloud-initial-configure/SKILL.md +0 -511
  286. package/skills/health-cloud-patient-appointment-scheduling-configure/SKILL.md +0 -1374
  287. package/skills/health-cloud-provider-search-settings-configure/SKILL.md +0 -924
  288. package/skills/health-cloud-referral-management-coordinate/SKILL.md +0 -513
  289. package/skills/health-cloud-timeline-configure/SKILL.md +0 -622
  290. package/skills/health-cloud-virtual-visit-config-configure/SKILL.md +0 -135
  291. package/skills/industries-account-score-settings-query/SKILL.md +0 -78
  292. package/skills/industries-actionable-list-data-sources-dmo-configure/SKILL.md +0 -177
  293. package/skills/industries-ad-product-availability-search/SKILL.md +0 -399
  294. package/skills/industries-advanced-account-forecast-settings-configure/SKILL.md +0 -628
  295. package/skills/industries-advanced-therapy-management-settings-configure/SKILL.md +0 -73
  296. package/skills/industries-atm-settings-starter-configure/SKILL.md +0 -76
  297. package/skills/industries-batch-document-ai-configure/SKILL.md +0 -196
  298. package/skills/industries-behavioral-health-app-settings-configure/SKILL.md +0 -71
  299. package/skills/industries-branch-management-settings-configure/SKILL.md +0 -89
  300. package/skills/industries-bre-decision-table-access-configure/SKILL.md +0 -367
  301. package/skills/industries-brokerage-settings-configure/SKILL.md +0 -41
  302. package/skills/industries-calendar-sync-settings-configure/SKILL.md +0 -89
  303. package/skills/industries-care-request-settings-configure/SKILL.md +0 -218
  304. package/skills/industries-case-management-intelligence-settings-configure/SKILL.md +0 -54
  305. package/skills/industries-catalog-process-attributes-products-configure/SKILL.md +0 -380
  306. package/skills/industries-catalog-process-fulfillment-configure/SKILL.md +0 -216
  307. package/skills/industries-catalog-process-intake-configure/SKILL.md +0 -219
  308. package/skills/industries-catalog-process-knowledge-configure/SKILL.md +0 -153
  309. package/skills/industries-catalog-process-preprocessor-configure/SKILL.md +0 -168
  310. package/skills/industries-cds-general-settings-configure/SKILL.md +0 -69
  311. package/skills/industries-claim-financial-settings-configure/SKILL.md +0 -169
  312. package/skills/industries-clinical-data-model-settings-configure/SKILL.md +0 -136
  313. package/skills/industries-clinical-data-model-settings-starter-configure/SKILL.md +0 -105
  314. package/skills/industries-collection-plan-settings-configure/SKILL.md +0 -132
  315. package/skills/industries-comms-service-console-settings-configure/SKILL.md +0 -159
  316. package/skills/industries-compliance-configure/SKILL.md +0 -102
  317. package/skills/industries-compliance-document-extraction-setup-configure/SKILL.md +0 -76
  318. package/skills/industries-contact-center-app-layout-configure/SKILL.md +0 -88
  319. package/skills/industries-contact-center-components-configure/SKILL.md +0 -96
  320. package/skills/industries-contact-center-path-knowledge-configure/SKILL.md +0 -95
  321. package/skills/industries-contact-center-user-access-assign/SKILL.md +0 -96
  322. package/skills/industries-course-waitlist-config-configure/SKILL.md +0 -162
  323. package/skills/industries-crisis-center-settings-configure/SKILL.md +0 -84
  324. package/skills/industries-custom-object-settings-configure/SKILL.md +0 -94
  325. package/skills/industries-data-cloud-integration-configure/SKILL.md +0 -88
  326. package/skills/industries-data-space-feature-mappings-configure/SKILL.md +0 -245
  327. package/skills/industries-decision-matrix-builder-configure/SKILL.md +0 -78
  328. package/skills/industries-decision-table-hbase-configure/SKILL.md +0 -87
  329. package/skills/industries-decision-table-version-configure/SKILL.md +0 -74
  330. package/skills/industries-decision-tables-builder-configure/SKILL.md +0 -253
  331. package/skills/industries-decision-tables-configure/SKILL.md +0 -439
  332. package/skills/industries-energy-utilities-configure/SKILL.md +0 -251
  333. package/skills/industries-eu-cloud-multisite-configure/SKILL.md +0 -1008
  334. package/skills/industries-eu-new-connections-configure/SKILL.md +0 -30
  335. package/skills/industries-explainability-msg-template-configure/SKILL.md +0 -135
  336. package/skills/industries-expression-set-message-token-configure/SKILL.md +0 -135
  337. package/skills/industries-field-service-settings-configure/SKILL.md +0 -82
  338. package/skills/industries-form-framework-settings-configure/SKILL.md +0 -30
  339. package/skills/industries-fsc-ai-settings-configure/SKILL.md +0 -57
  340. package/skills/industries-fsc-association-engine-settings-configure/SKILL.md +0 -172
  341. package/skills/industries-fsc-b2b-settings-configure/SKILL.md +0 -61
  342. package/skills/industries-fsc-insurance-settings-configure/SKILL.md +0 -58
  343. package/skills/industries-fsc-visa-fulfillment-setup-configure/SKILL.md +0 -103
  344. package/skills/industries-fsc-wealth-agent-settings-configure/SKILL.md +0 -117
  345. package/skills/industries-fsc-wealth-settings-configure/SKILL.md +0 -99
  346. package/skills/industries-fundraising-gift-entry-settings-configure/SKILL.md +0 -120
  347. package/skills/industries-fundraising-rfm-configure/SKILL.md +0 -128
  348. package/skills/industries-fundraising-settings-configure/SKILL.md +0 -145
  349. package/skills/industries-fundraising-source-code-gen-configure/SKILL.md +0 -299
  350. package/skills/industries-google-maps-api-key-settings-configure/SKILL.md +0 -87
  351. package/skills/industries-grantmaking-intelligence-settings-open/SKILL.md +0 -58
  352. package/skills/industries-hc-score-category-settings-configure/SKILL.md +0 -167
  353. package/skills/industries-health-engagement-settings-configure/SKILL.md +0 -218
  354. package/skills/industries-home-health-agentforce-setup-configure/SKILL.md +0 -131
  355. package/skills/industries-home-health-bundling-policy-create/SKILL.md +0 -50
  356. package/skills/industries-home-health-entity-labels-configure/SKILL.md +0 -29
  357. package/skills/industries-home-health-fsl-package-deploy/SKILL.md +0 -71
  358. package/skills/industries-home-health-fsl-settings-validate/SKILL.md +0 -27
  359. package/skills/industries-home-health-guided-setup-care-and-skill-get/SKILL.md +0 -80
  360. package/skills/industries-home-health-guided-setup-configure/SKILL.md +0 -836
  361. package/skills/industries-home-health-guided-setup-enable-org-fsl-get/SKILL.md +0 -55
  362. package/skills/industries-home-health-guided-setup-get-org-ready-get/SKILL.md +0 -61
  363. package/skills/industries-home-health-licenses-assign/SKILL.md +0 -27
  364. package/skills/industries-home-health-operating-hours-create/SKILL.md +0 -40
  365. package/skills/industries-home-health-scheduling-policy-create/SKILL.md +0 -41
  366. package/skills/industries-home-health-service-objective-create/SKILL.md +0 -22
  367. package/skills/industries-home-health-skills-create/SKILL.md +0 -31
  368. package/skills/industries-home-health-users-create/SKILL.md +0 -29
  369. package/skills/industries-icm-act3-toggles-configure/SKILL.md +0 -198
  370. package/skills/industries-icm-act5-genai-suggested-assessments-configure/SKILL.md +0 -361
  371. package/skills/industries-icm-act6-mcg-integration-configure/SKILL.md +0 -550
  372. package/skills/industries-integrated-care-management-configure/SKILL.md +0 -168
  373. package/skills/industries-object-enablement-configure/SKILL.md +0 -86
  374. package/skills/industries-tpm-system-processing-service-configure/SKILL.md +0 -64
  375. package/skills/integration-apex-settings-configure/SKILL.md +0 -61
  376. package/skills/marketing-e360-email-archiving-configure/SKILL.md +0 -73
  377. package/skills/platform-custom-permissions-configure/SKILL.md +0 -687
  378. package/skills/platform-label-workbench-import-create/SKILL.md +0 -67
  379. package/skills/platform-privacy-agent-settings-configure/SKILL.md +0 -752
@@ -1,349 +0,0 @@
1
- ---
2
- name: commerce-estimate-delivery-date-query
3
- description: "Use this skill when users want to use this workflow when someone wants a real-time DELIVERY DATE ESTIMATE for one or more products shipping to a customer address — \"when will this arrive?\", \"estimate the delivery date\", \"what's the ship date for these items to <address>?\". Trigger when users mention estimate, delivery, date."
4
- metadata:
5
- version: "1.0"
6
- accessCheck: "CommerceDelivery.orgHasDeliveryEstimationServiceEnabled"
7
- ---
8
-
9
- # Querying Estimate Delivery Date
10
-
11
- ## When to Use This Skill
12
-
13
- Use this workflow when someone wants a real-time DELIVERY DATE ESTIMATE for one or more products
14
- shipping to a customer address — "when will this arrive?", "estimate the delivery date", "what's
15
- the ship date for these items to <address>?". It does NOT change any configuration; it is a
16
- read-only estimate that reflects the current DeliveryEstimationSetup, its per-location and any
17
- active temporary processing-time overrides, and the chosen carrier/method routing.
18
-
19
- It guides the caller through building the request one piece at a time — do not ask for raw JSON:
20
- pick the DeliveryEstimationSetup, choose products + quantities, collect the delivery address —
21
- then calls EstimateDeliveryDate (at API v68.0) and reads back the per-method ship-date /
22
- delivery-date window. The shipping carrier methods are NOT a customer choice: every method
23
- attached to the setup's LocationGroup or any Location in that group is selected automatically, and
24
- the customer is told which ones were used. The full request contract (endpoint, the
25
- singular-vs-plural carrier rule, the
26
- delivery-address part-combinations, product/quantity limits, and the optional order date) lives
27
- in agent_guidance and the steps.
28
-
29
- ADMIN/CUSTOMER-FACING WORDING: answer in plain language — e.g. "For 51 units shipping from your
30
- West locations to Hollywood, FL, estimating with the shipping methods set up for this
31
- configuration." followed by a per-method table of ship date + delivery window + order-by deadline.
32
- EVERY time value in the response is offset-less UTC — convert all of them into one named display
33
- zone before quoting, and derive the ship/delivery DAY from the converted instant rather than the
34
- wire string's date part (reading it raw is a full day late for any location whose wire time falls
35
- before the display zone's offset). Don't surface the
36
- Connect path, sObject/field API names, external-reference strings, internal class or annotation
37
- names, or raw HTTP codes.
38
-
39
- ## Workflow
40
-
41
- Guided real-time DELIVERY DATE ESTIMATE. Read-only: builds an EstimateDeliveryDate request with
42
- the customer, one piece at a time, and returns the ship/delivery window. Changes nothing.
43
-
44
- Flow:
45
-
46
- ### Phase 1: resolve-delivery-estimation-setup -> list setups (Name + ExternalReference); customer...
47
-
48
- resolve-delivery-estimation-setup -> list setups (Name + ExternalReference); customer picks
49
- one. Its ExternalReference is the URL PATH segment (the ONLY setup identifier — no body key);
50
- capture its Id, Name, and LocationGroupId too for the recap and joins.
51
-
52
- ### Phase 2: list-locations-in-group -> the group's Locations. Their Ids PLUS...
53
-
54
- list-locations-in-group -> the group's Locations. Their Ids PLUS the LocationGroup Id are the
55
- location sources for the next step.
56
-
57
- ### Phase 3: list-setup-shipping-carrier-methods -> every method attached to that setup...
58
-
59
- list-setup-shipping-carrier-methods -> every method attached to that setup at EITHER level
60
- (the group itself or any Location in it), with its parent carrier. DEDUPE to distinct methods
61
- first — the union returns one row per (source, method). ALL of them are selected
62
- AUTOMATICALLY — the customer is TOLD what was picked, not asked to pick. Group by distinct
63
- carrier. This step also returns each method's MinTransitTime, which is the PUSH PRE-CHECK: a
64
- null there means the setup push in step 5 would be rejected, so don't offer it (see that
65
- step's PUSH PRE-CHECK).
66
-
67
- ### Phase 4: list-products -> present SKU'd products; customer picks products...
68
-
69
- list-products -> present SKU'd products; customer picks products + a positive whole-number
70
- quantity each (<=2000 products).
71
-
72
- ### Phase 5: estimate-delivery-date -> collect the delivery address (country +...
73
-
74
- estimate-delivery-date -> collect the delivery address (country + postalCode REQUIRED); ask the
75
- order-date choice_point (now vs a specific order date, and if specific, what date — ISO-8601
76
- WITH a timezone offset); then POST and report the per-method ship/delivery window — as ONE
77
- complete table(s) (see the step's RECAP LAYOUT), plus a no-result section that distinguishes
78
- evidence-backed sync cases from unexplained absences and offers a push only when supported.
79
-
80
- Contract authored from the endpoint's own request contract rather than the generated v67 OAS,
81
- which is stale (singular-only), then live-validated end-to-end on bopis 2026-08-06 at v68.0:
82
- singular carrier, plural shippingCarriers, and singular+orderDate all returned 201 (orderDate
83
- observed to shift the estimate).
84
-
85
- ## Critical Constraints
86
-
87
- **Preconditions:**
88
-
89
- - The Delivery Estimation Service must be enabled/provisioned in the org (Connect
90
- org-access-check Delivery Estimation Service enabled). Without it the
91
- estimate call is rejected. (check: `Delivery Estimation Service enabled`)
92
- - At least one DeliveryEstimationSetup record (with its ExternalReference) must exist — this
93
- skill estimates against an existing setup; it does not create one. (check: `DeliveryEstimationSetup record exists`)
94
- - At least one ShippingCarrierMethod must be assigned (via LocationShippingCarrierMethod) to the
95
- setup at EITHER level — the LocationGroup itself or any Location in that group. Both levels are
96
- estimable and both are auto-selected: on setup DE-1 the group alone holds 2 methods while
97
- the group-plus-locations union holds 12, and all twelve estimated cleanly in one call. See
98
- list-setup-shipping-carrier-methods for the measurements. (check: `ShippingCarrierMethod assigned with LocationSourceId = the setup's LocationGroupId or any of its Location Ids`)
99
- - The setup must have been PUSHED to the delivery service since those methods were attached. The
100
- estimate resolves methods from the service's synced copy, so a freshly attached
101
- method is rejected as "not configured" until the setup is pushed
102
- (enable-and-push-delivery-estimation-setup). DeliveryEstimationSetup.SyncStatus is not a
103
- reliable indicator — it reads SYNCED even while a newly attached method is still unpushed.
104
- This is a SOFT precondition: a stale retained configuration can yield partial results plus a
105
- matching "not configured" error. The skill reports every no-result method, offers a push only
106
- when response evidence supports it, and retries once after an accepted push. No Core-queryable
107
- signal for push state exists, which is why it is handled reactively. (check: `Setup pushed to the delivery service after the current method set was attached`)
108
- - The chosen DeliveryEstimationSetup must have a LocationGroupId — it is the only path from the
109
- setup to its estimable shipping methods. (check: `DeliveryEstimationSetup.LocationGroupId is set`)
110
- - The products being estimated must exist as Product2 records with a StockKeepingUnit (the
111
- request keys products by SKU). (check: `Product2 records with StockKeepingUnit exist`)
112
-
113
- **Operational rules:**
114
-
115
- - METHOD AUTO-SELECTION (why steps 2-3 exist, and why they span BOTH levels): DeliveryEstimationSetup
116
- has NO carrier or method field, so the only route to its shipping methods is
117
- LocationGroupId -> LocationShippingCarrierMethod -> ShippingCarrierMethod -> ShippingCarrier.
118
- LocationSourceId is polymorphic, and a method attached at EITHER level — the group itself or any
119
- Location in it — is estimable, so the lookup unions both. Measured on setup DE-1: the
120
- group-only filter returns 2 methods while the union returns 12, and all twelve estimated cleanly in
121
- one combined call (36 rows, zero errors). Dedupe is mandatory on the union: 146 raw rows collapse
122
- to 12 distinct methods.
123
- - ESTIMABILITY IS DECIDED BY THE DELIVERY SERVICE'S RETAINED COPY, WHICH CORE CANNOT READ. Attachment
124
- at either level is necessary but not sufficient: a freshly attached method appears in step 3 and is
125
- still rejected by step 5 until the setup is pushed. NO CORE SIGNAL FOR PUSH STATE
126
- EXISTS — SyncStatus, LastSyncedMessage, the junction's field set, a LastModifiedDate-vs-
127
- LastSyncedDate heuristic, and a read endpoint were all investigated and all fail (the step's NO
128
- PUSH-STATE SIGNAL block records each). That negative is WHY this skill submits everything attached
129
- and reports missing results rather than trying to predict them. Sending a method that is not in
130
- the service's retained copy is safe:
131
- measured 2026-08-26, it does NOT suppress the good rows or its carrier group; it only contaminates
132
- the per-date success FLAGS, which is why those must not be used to suppress rows when any
133
- "not configured" error is present. So treat step 5's
134
- "is not configured for DeliveryEstimation" as evidence supporting a likely push remedy, not as a
135
- reason to label every absent method unsynced. Offer enable-and-push-delivery-estimation-setup only
136
- for evidenced/affected-carrier cases, then retry once and report the actual outcome. Match that
137
- condition on the MESSAGE text, not on a code — the value has been observed as both
138
- SHIPPING_CARRIER_METHOD_NOT_FOUND and INVALID_API_INPUT, and even the key differs by payload (the
139
- group-level `error` object uses `code`; the setup-push failure array uses `errorCode`).
140
- - ORDER DATE (order-date choice_point): ask whether to estimate as of NOW (omit orderDate) or as of
141
- a SPECIFIC order date (send orderDate). NEVER forward the customer's raw words — normalize to
142
- YYYY-MM-DDTHH:MM:SS(Z|±HH:MM) yourself, then gate the string on
143
- ^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(\.\d+)?(Z|[+-]\d{2}:\d{2})$ plus a real-calendar check before
144
- calling. Offset-less timestamps, bare dates, unpadded month/day, space-separated timestamps and
145
- impossible dates are all live-proven 400s with one identical ZonedDateTime message. There is no
146
- API-side default instant: ASK for a missing time-of-day (it can move the ship date a full day) and
147
- RESOLVE a missing zone from org data — customer's own statement > User.TimeZoneSidKey >
148
- Organization.TimeZoneSidKey > ask — never a silent UTC, then disclose the instant used. Supplying
149
- orderDate shifts the ship date but returns NO delivery window (success:true, no min/max, on every
150
- row), so it answers "when would it ship" and not "when would it arrive" — surface that trade-off
151
- rather than showing blank dates. Response times carry no offset and are UTC; convert them into ONE
152
- explicitly-named display zone (resolved even when no orderDate was collected) and keep
153
- orderCutoffTime PER ROW WHEN PRESENT, since the locations' cutoffs are different instants — but the
154
- cutoff is OPTIONAL under EVERY routing type (measured null on all groups 2026-08-26, present
155
- 2026-08-25, same STANDARD setup), so read it before quoting one and never reconstruct a deadline
156
- you were not given. Full procedure,
157
- phrasing map, zone-precedence evidence and the measured accept/reject matrix live in the estimate
158
- step's ORDER DATE guidance.
159
- - CARRIER XOR (auto-derived by count of DISTINCT attached carriers): 1 carrier -> singular
160
- "shippingCarrier" object; 2+ -> plural "shippingCarriers" array. Exactly one key — both ->
161
- INVALID_API_INPUT, neither -> MISSING_ARGUMENT. Both shapes are live-proven 201 at v68.0.
162
- - VERSION: pin v68.0 on every call. The plural "shippingCarriers" key and "orderDate" are
163
- release-264 fields — REJECTED at v67.0 (HTTP 400), live-proven 201 at v68.0.
164
- - ADMIN/CUSTOMER-FACING WORDING: answer in plain language (ship date + delivery window + order-by
165
- deadline per method); don't surface the Connect path, sObject/field API names, ExternalReference
166
- strings, internal class or annotation names, or raw HTTP codes.
167
- Never say "CDS", "Commerce Delivery Service", or otherwise imply two separate systems — from the
168
- customer's side this is one estimate. The guidance above names that service where it identifies
169
- WHICH layer rejects what (the front door accepts an address the estimate service then refuses);
170
- that distinction is for your reasoning, and what the customer hears is which address parts are
171
- required. Never echo this guidance's own internal vocabulary either: "Core", "SOR" and "corpus"
172
- are reasoning terms for you ("Core" separates the platform's own records from the estimate
173
- service's retained copy; "SOR" and "corpus" name this workflow and the catalog it lives in). Say
174
- "Salesforce" or "your org" for the platform side, and "this workflow" for the recipe itself.
175
- TIMES: estimatedShipDate, estimatedDeliveryDate and orderCutoffTime are ALL offset-less UTC.
176
- Convert all three into one named display zone; take the ship/delivery DAY from the converted
177
- instant, never from the wire string. Multi-row answers go in ONE table whose columns include
178
- Order by. Full rules live in the estimate step's RECAP LAYOUT.
179
-
180
- ## Operations Reference
181
-
182
- Operations grouped by purpose. Use these as the building blocks for the workflows above.
183
-
184
- ### Summary
185
-
186
- | Operation | Purpose | Status | Call | Depends on |
187
- |-----------|---------|--------|------|------------|
188
- | `resolve-delivery-estimation-setup` | read | implemented | `querySoql` | — |
189
- | `list-locations-in-group` | read | implemented | `querySoql` | `resolve-delivery-estimation-setup` |
190
- | `list-setup-shipping-carrier-methods` | read | implemented | `querySoql` | `list-locations-in-group` |
191
- | `list-products` | read | implemented | `querySoql` | `resolve-delivery-estimation-setup` |
192
- | `estimate-delivery-date` | read | implemented | `EstimateDeliveryDate` | `resolve-delivery-estimation-setup`, `list-locations-in-group`, `list-setup-shipping-carrier-methods`, `list-products` |
193
-
194
- ### Dependency graph
195
-
196
- ```mermaid
197
- graph TD
198
- resolve_delivery_estimation_setup["resolve-delivery-estimation-setup (read)"]
199
- list_locations_in_group["list-locations-in-group (read)"]
200
- list_setup_shipping_carrier_methods["list-setup-shipping-carrier-methods (read)"]
201
- list_products["list-products (read)"]
202
- estimate_delivery_date["estimate-delivery-date (read)"]
203
- resolve_delivery_estimation_setup --> list_locations_in_group
204
- list_locations_in_group --> list_setup_shipping_carrier_methods
205
- resolve_delivery_estimation_setup --> list_products
206
- resolve_delivery_estimation_setup --> estimate_delivery_date
207
- list_locations_in_group --> estimate_delivery_date
208
- list_setup_shipping_carrier_methods --> estimate_delivery_date
209
- list_products --> estimate_delivery_date
210
- ```
211
-
212
- ### Read operations
213
-
214
- #### `resolve-delivery-estimation-setup`
215
-
216
- List the DeliveryEstimationSetup records and present each one's Name + ExternalReference so the
217
- customer can choose which setup to estimate against. The chosen ExternalReference is the URL
218
- path segment for the estimate call, and the chosen LocationGroupId is what the next step
219
- follows to work out which shipping carrier methods this setup can actually estimate.
220
- Optionally filter by a Name/ExternalReference substring.
221
-
222
- **Call:** `querySoql` — status: `implemented`
223
-
224
- **Inputs:**
225
-
226
- - `nameFilter` *(`String`)* — OPTIONAL Name or ExternalReference filter (e.g. "west", "NON_PICKUP_DAYS_DEMO"). When
227
- provided the query matches either field with a LIKE; when omitted, all setups are listed.
228
- Source: user_input.
229
-
230
- #### `list-locations-in-group`
231
-
232
- List the Locations belonging to the chosen setup's LocationGroup. Those Location Ids — plus the
233
- LocationGroup Id itself — are the "location sources" a ShippingCarrierMethod can be assigned
234
- to, and the next step reads the assignments for all of them together. Read-only lookup.
235
-
236
- **Call:** `querySoql` — status: `implemented`
237
-
238
- **Inputs:**
239
-
240
- - `locationGroupId` *(`String`)* — The chosen setup's LocationGroupId. Source:
241
- resolve-delivery-estimation-setup.setup_location_group_ids (at the index of the setup the
242
- customer picked).
243
-
244
- **Depends on:** `resolve-delivery-estimation-setup`
245
-
246
- #### `list-setup-shipping-carrier-methods`
247
-
248
- Read every ShippingCarrierMethod ATTACHED to the chosen setup — assigned via
249
- LocationShippingCarrierMethod either to the setup's LocationGroup itself or to any Location in
250
- that group — along with each method's parent ShippingCarrier. ALL of them are selected
251
- AUTOMATICALLY for the estimate; the customer is told what was selected rather than asked to
252
- pick. Read-only lookup.
253
-
254
- **Call:** `querySoql` — status: `implemented`
255
-
256
- **Inputs:**
257
-
258
- - `locationSourceIds` *(`Array`)* — The location sources to read assignments for: the chosen setup's LocationGroupId TOGETHER
259
- WITH every Location Id in that group. Source:
260
- resolve-delivery-estimation-setup.setup_location_group_ids (chosen index) +
261
- list-locations-in-group.location_ids. The query's {locationSourceIdsInClause} is the
262
- SOQL-safe rendering of THIS input — a comma-separated list of single-quoted Ids (see
263
- agent_guidance) — not a separate input.
264
- - schema: `{'type': 'array', 'minItems': 1, 'items': {'type': 'string', 'description': 'A LocationGroup Id (0gh...) or Location Id (131...).', 'pattern': '^(0gh|131)[a-zA-Z0-9]{12,15}$'}}`
265
-
266
- **Depends on:** `list-locations-in-group`
267
-
268
- #### `list-products`
269
-
270
- List Product2 records that have a StockKeepingUnit so the customer can choose which products to
271
- estimate and enter a quantity for each. Products are keyed by SKU in the request. Optionally
272
- filter by a Name/SKU substring.
273
-
274
- **Call:** `querySoql` — status: `implemented`
275
-
276
- **Inputs:**
277
-
278
- - `productFilter` *(`String`)* — OPTIONAL Name or StockKeepingUnit filter. When provided the query matches either with a LIKE;
279
- when omitted, active products with a SKU are listed. Source: user_input.
280
-
281
- **Depends on:** `resolve-delivery-estimation-setup`
282
-
283
- #### `estimate-delivery-date`
284
-
285
- Call EstimateDeliveryDate with the assembled request — the resolved setup ExternalReference in
286
- the URL path, the chosen carrier(s)+method(s), the chosen products+quantities, the collected
287
- delivery address, and an optional order date — and read back the estimated ship-date /
288
- delivery-date window per shipping method. Read-only: computes an estimate, changes nothing.
289
-
290
- **Call:** `EstimateDeliveryDate` — status: `implemented`
291
-
292
- **Inputs:**
293
-
294
- - `externalReference` *(`String`)* — The chosen DeliveryEstimationSetup's ExternalReference — the URL PATH segment (NOT a body
295
- field, NOT the 2A0 Id). Source: resolve-delivery-estimation-setup.setup_external_references
296
- (the one the customer picked).
297
- - `shippingCarriers` *(`Array`)* — The carrier(s) whose methods this setup can estimate, each with its method(s) — derived
298
- AUTOMATICALLY, not picked by the customer. Source: list-setup-shipping-carrier-methods,
299
- grouped by DISTINCT carrier ExternalReference. The COUNT drives the wire key (XOR — see
300
- agent_guidance): exactly 1 entry -> emit the SINGULAR "shippingCarrier" object; 2+ entries ->
301
- emit the PLURAL "shippingCarriers" array. Never send both keys and never send an empty
302
- carriers set. A customer may narrow this to a SUBSET on request, but nothing outside the set
303
- may be added — a method not attached to the setup's LocationGroup is live-proven to come back
304
- "not configured for DeliveryEstimation" AND to degrade the success flags of the methods that
305
- do work (see list-setup-shipping-carrier-methods).
306
- - schema: `{'type': 'array', 'minItems': 1, 'maxItems': 50, 'description': 'Canonical list of chosen carriers (each with its methods). The wire body emits EXACTLY ONE of "shippingCarrier" (singular, when this list has 1 entry) or "shippingCarriers" (plural, 2+ entries) — an XOR key transform the schema cannot enforce; the agent performs it (see agent_guidance). Do not treat this array as the literal request shape.', 'items': {'type': 'object', 'required': ['externalReference', 'shippingCarrierMethods'], 'properties': {'externalReference': {'type': 'string', 'description': 'ShippingCarrier.ExternalReference (from list-setup-shipping-carrier-methods.carrier_external_references, distinct values).'}, 'shippingCarrierMethods': {'type': 'array', 'minItems': 1, 'maxItems': 100, 'items': {'type': 'object', 'required': ['externalReference'], 'properties': {'externalReference': {'type': 'string', 'description': 'ShippingCarrierMethod.ExternalReference from the globally deduplicated aggregate of list-setup-shipping-carrier-methods.method_external_references.'}}}}}}}`
307
- - `products` *(`Array`)* — The products to estimate, each a (SKU, quantity) pair. Source: customer selection over
308
- list-products. quantity must be a positive whole number.
309
- - schema: `{'type': 'array', 'minItems': 1, 'maxItems': 2000, 'items': {'type': 'object', 'required': ['stockKeepingUnit', 'quantity'], 'properties': {'stockKeepingUnit': {'type': 'string', 'description': 'Product StockKeepingUnit (non-blank).'}, 'quantity': {'type': 'integer', 'minimum': 1, 'maximum': 2147483647, 'description': 'Positive whole-number quantity in [1, 2147483647] (fractional values are rejected; values above the 32-bit int max are rejected by the API).'}}}}`
310
- - `deliveryAddress` *(`Object`)* — The destination address. country + postalCode are REQUIRED. The Core front-door validator's
311
- error lists three accepted part-combinations — (latitude+longitude) | (country+postalCode) |
312
- (country+state+city) — and it accepts lat/long-alone, BUT the downstream estimate service
313
- (Commerce Delivery Service) then rejects any address lacking country+postalCode: its request
314
- contract declares both unconditionally required and non-empty (state/city/lat/long carry no
315
- constraints). This is NOT setup-dependent. PROVEN LIVE (bopis 2026-08-06, setup "west"):
316
- country+postalCode -> 201; latitude+longitude ALONE -> 400 ("Postal code is required. / Country
317
- code ..."); country+state+city ALONE -> 400 ("Postal code is required."). So ALWAYS send
318
- country + postalCode; latitude/longitude (and state/city) are optional extras accepted alongside
319
- but cannot substitute. Source: customer input.
320
- - schema: `{'type': 'object', 'required': ['country', 'postalCode'], 'properties': {'country': {'type': 'string', 'description': 'ISO 3166-1 alpha-2 country code (e.g. "US"). REQUIRED by the downstream estimate service (must be non-empty and a valid ISO code).'}, 'state': {'type': ['string', 'null'], 'description': 'Optional state/province; accepted alongside but cannot substitute for country+postalCode.'}, 'city': {'type': ['string', 'null'], 'description': 'Optional city; accepted alongside but cannot substitute for country+postalCode.'}, 'postalCode': {'type': 'string', 'description': 'Postal code, >= 4 characters. REQUIRED by the downstream estimate service (must be non-empty).'}, 'latitude': {'type': ['number', 'null'], 'minimum': -90, 'maximum': 90, 'description': 'Optional latitude in [-90,90]; accepted alongside country+postalCode but cannot substitute for it.'}, 'longitude': {'type': ['number', 'null'], 'minimum': -180, 'maximum': 180, 'description': 'Optional longitude in [-180,180]; accepted alongside country+postalCode but cannot substitute for it.'}}}`
321
- - `orderDate` *(`String`)* — OPTIONAL order date. Gated by the order-date choice_point: ask the customer whether to
322
- estimate as of NOW (omit orderDate) or as of a SPECIFIC order date (supply orderDate). When
323
- set, the estimate is computed as of that order time (e.g. a future order) — live-proven to
324
- shift the result. Omit it entirely for a current-time estimate; it is optional/omitted, not
325
- sent as an explicit null.
326
- NEVER pass the customer's raw words through as this value. Normalize first (see the estimate
327
- step's ORDER DATE procedure), then emit ONLY the canonical zero-padded form: a full ISO-8601
328
- timestamp WITH a timezone designator (deserialized as a ZonedDateTime) — trailing "Z" for UTC
329
- (e.g. "2026-09-10T10:00:00Z") or an explicit offset (e.g. "2026-09-10T10:00:00-04:00",
330
- "2026-09-10T10:00:00+05:30"; half-hour offsets accepted).
331
- REJECTED with 400 INVALID_API_INPUT ("Invalid value '...' at orderDate for type
332
- ZonedDateTime") — all live-verified: an offset-less local timestamp
333
- ("2026-09-10T10:00:00"), a bare date with no time ("2026-09-10"), an unpadded month/day
334
- ("2026-9-10T10:00:00Z"), a space instead of the "T" separator ("2026-09-10 10:00:00Z"), and a
335
- pattern-shaped but non-existent date ("2026-13-45T10:00:00Z" — the pattern is a format gate,
336
- not a calendar check, so verify the date is real too).
337
- THE INSTANT MATTERS, not just the calendar date: the value is compared against each fulfilling
338
- location's own order cutoff as an absolute instant, so the time-of-day you choose can move the
339
- ship date a full day (2026-08-25: 2026-09-10T15:59:59Z -> ships 09-11, but
340
- 2026-09-10T16:00:00Z -> ships 09-12). There is no API-side default instant, so ASK for the time
341
- when the customer gave only a date, RESOLVE the zone from org data (customer's own statement >
342
- User.TimeZoneSidKey > Organization.TimeZoneSidKey > ask — never a silent UTC), and disclose the
343
- instant you used. Measured mitigation: start-of-day readings at 00:00:00Z, 00:00:00-04:00 and
344
- 00:00:00-07:00 all returned the SAME estimate, so the zone only becomes material near a cutoff.
345
- TRADE-OFF: supplying orderDate shifts the ship date and order-by cutoff but SUPPRESSES the
346
- delivery window — estimatedDeliveryDate returns success:true with no min/max on every row.
347
- Requires API v68.0 (this skill pins it). Source: user_input.
348
-
349
- **Depends on:** `resolve-delivery-estimation-setup`, `list-locations-in-group`, `list-setup-shipping-carrier-methods`, `list-products`
@@ -1,227 +0,0 @@
1
- ---
2
- name: commerce-fees-apply
3
- description: "Use this skill when users want to use this SOR when a cancel or return operation needs to apply a fee. Trigger when users mention fees, support."
4
- metadata:
5
- version: "1.0"
6
- ---
7
-
8
- # Querying Fees Support
9
-
10
- ## When to Use This Skill
11
-
12
- Use this SOR when a cancel or return operation needs to apply a fee. This is a REUSABLE MODULE
13
- that asks whether to apply a fee, collects the appropriate fee fields based on operation type,
14
- resolves fee product names to IDs, and returns properly-nested fee payloads for the caller to
15
- merge into their preview/submit requests.
16
-
17
- WHEN TO USE:
18
- - User mentions "fee", "charge", "penalty", "restocking fee", "cancellation fee"
19
- - During cancel/return flows when fees might apply
20
- - When caller explicitly requests fee collection
21
-
22
- OPERATION TYPES SUPPORTED:
23
- - partial-cancel: Uses changeItemFees with new-fee-charge shape
24
- - cancel-all: Uses changeItemFees with new-fee-charge shape + orderDeliveryGroupSummaryId
25
- - return-preview/return-submit: Uses changeItemFees with new-fee-charge shape
26
- - return-items: Uses returnOrderItemFees with fee-quantity-adjust shape (no amount)
27
-
28
- OUTPUT CONTRACT:
29
- Returns a fee payload object that the caller merges into their request:
30
- {
31
- "feePayload": {
32
- "changeItemFees": [...] OR "returnOrderItemFees": [...]
33
- },
34
- "feeDescription": "human-readable fee summary for customer"
35
- }
36
-
37
- ## Workflow
38
-
39
- 1. INVOKE fees-support with operation_type:
40
- result = invoke("fees-support", {operation_type: "partial-cancel", context_data: {orderId: "..."}})
41
-
42
- 2. MERGE result.feePayload into your preview/submit request:
43
-
44
- - For partial-cancel, return-preview, return-submit:
45
- Parent MUST merge changeItemFees into EACH changeItem:
46
- previewRequest = {
47
- ...baseRequest,
48
- changeItems: [
49
- {
50
- ...itemData,
51
- changeItemFees: result.feePayload.changeItemFees # PER-ITEM nesting
52
- }
53
- ]
54
- }
55
-
56
- - For cancel-all:
57
- Parent merges changeItemFees at ROOT level:
58
- previewRequest = {
59
- ...baseRequest,
60
- changeItemFees: result.feePayload.changeItemFees # ROOT-level nesting
61
- }
62
-
63
- ChangeInputRepresentation (partial-cancel, return) only accepts changeItems[].changeItemFees[];
64
- root-level changeItemFees is silently ignored for these operations.
65
-
66
- 3. SURFACE fee impact from preview response:
67
- After preview, look for changeBalances to show customer the fee's financial impact.
68
-
69
- 4. INCLUDE result.feeDescription in customer-facing summary:
70
- "Preview: Your cancellation will proceed. {result.feeDescription}"
71
-
72
- User: "Cancel item X and apply a $25 cancellation fee"
73
-
74
- Agent:
75
- 1. Invoke fees-support:
76
- {operation_type: "partial-cancel", context_data: {orderSummaryId: "..."}}
77
-
78
- 2. fees-support collects:
79
- - fee_product_name: "Cancellation Fee"
80
- - amount: 25.00
81
- - amount_type: "AmountWithTax"
82
- - Resolves to product2Id + priceBookEntryId
83
-
84
- 3. fees-support returns:
85
- {
86
- feePayload: {
87
- changeItemFees: [{product2Id: "...", amount: 25.00, amountType: "AmountWithTax", ...}]
88
- },
89
- feeDescription: "A flat fee of $25.00 (Cancellation Fee) will be applied."
90
- }
91
-
92
- 4. Caller merges into preview request:
93
- POST /commerce/order-management/preview-cancel
94
- {
95
- orderSummaryId: "...",
96
- changeItems: [{orderItemSummaryId: "...", quantity: 1, reason: "..."}],
97
- changeItemFees: [{product2Id: "...", amount: 25.00, ...}] # MERGED
98
- }
99
-
100
- 5. Caller shows customer:
101
- "Preview: Cancelling 1 unit of Product X. A flat fee of $25.00 (Cancellation Fee) will be applied.
102
- Total refund: $75.00 (original $100.00 - $25.00 fee)."
103
-
104
- 6. User confirms, caller submits with same merged payload.
105
-
106
- ## Critical Constraints
107
-
108
- **Operational rules:**
109
-
110
- - INTEGRATION PATTERN FOR CALLERS:
111
- - IMPORTANT - DESCRIPTION vs REASON:
112
- - `description` = free text customer wording (e.g., "Late cancellation after 24 hours")
113
- - `reason` = REQUIRED picklist value from OrderItemSummaryChange.Reason (e.g., "Customer Request", "Unknown")
114
- - The API validates `reason` against the picklist; unrecognized values return 400 INVALID_API_INPUT
115
- - fees-support resolves the picklist and presents valid options for selection
116
- - NESTING BY OPERATION TYPE:
117
- - IMPORTANT: fees-support returns a BARE fee structure in changeItemFees[].
118
- The CALLER is responsible for nesting it correctly based on operation_type.
119
- - CUSTOMER-FACING WORDING:
120
- - NEVER say "changeItemFees", "product2Id", "priceBookEntryId", "returnOrderLineItemId"
121
- - DO say "fee", "charge", "restocking fee", "cancellation fee"
122
- - DO show the fee amount and product name in plain language
123
- - DO surface the financial impact from preview changeBalances (e.g., "Total refund: $75.00")
124
- - EXAMPLE INTEGRATION (partial-cancel):
125
- - ERROR HANDLING:
126
- - If fee product name not found: Ask user to verify the product name exists in their org
127
- - If preview fails with fee: Show the error, offer to retry without fee
128
- - If fee amounts seem wrong in preview: Surface changeBalances so customer can verify
129
-
130
- ## Operations Reference
131
-
132
- Operations grouped by purpose. Use these as the building blocks for the workflows above.
133
-
134
- ### Summary
135
-
136
- | Operation | Purpose | Status | Call | Depends on |
137
- |-----------|---------|--------|------|------------|
138
- | `check-fee-intent` | read | — | — | — |
139
- | `determine-fee-shape` | read | — | — | — |
140
- | `collect-fee-product-name` | read | — | — | — |
141
- | `collect-fee-amount` | read | — | — | — |
142
- | `resolve-fee-reasons` | read | — | `describeOrderItemSummaryChange` | — |
143
- | `collect-fee-description-and-reason` | read | — | — | — |
144
- | `resolve-fee-product-id` | read | — | `querySoql` | — |
145
- | `collect-fee-quantity-adjust-fields` | read | — | — | — |
146
- | `build-fee-payload-new-charge` | read | — | — | — |
147
- | `build-fee-payload-quantity-adjust` | read | — | — | — |
148
- | `return-no-fee` | read | — | — | — |
149
-
150
- ### Read operations
151
-
152
- #### `check-fee-intent`
153
-
154
- Ask whether to apply a fee
155
-
156
- #### `determine-fee-shape`
157
-
158
- Determine which fee structure to use based on operation type
159
-
160
- #### `collect-fee-product-name`
161
-
162
- Ask for the fee product name
163
-
164
- **Inputs:**
165
-
166
- - `fee_product_name` *(`string`)*
167
-
168
- #### `collect-fee-amount`
169
-
170
- Collect fee amount and amount type
171
-
172
- **Inputs:**
173
-
174
- - `amount` *(`number`)*
175
- - `amount_type` *(`string`)*
176
-
177
- #### `resolve-fee-reasons`
178
-
179
- Resolve the org's allowed fee reasons from the live
180
- OrderItemSummaryChange.Reason picklist. Required because the
181
- controller validates `reason` against this picklist on both preview
182
- and submit; sending an unrecognized value returns 400
183
- INVALID_API_INPUT "No matching reason found."
184
-
185
-
186
- **Call:** `describeOrderItemSummaryChange`
187
-
188
- #### `collect-fee-description-and-reason`
189
-
190
- Collect fee description (free text) and reason (picklist selection)
191
-
192
- **Inputs:**
193
-
194
- - `description` *(`string`)*
195
- - `reason` *(`string`)*
196
-
197
- #### `resolve-fee-product-id`
198
-
199
- Resolve fee product name to product2Id and priceBookEntryId
200
-
201
- **Call:** `querySoql`
202
-
203
- **Inputs:**
204
-
205
- - `fee_product_name` *(`string`)*
206
-
207
- #### `collect-fee-quantity-adjust-fields`
208
-
209
- Collect returnOrderLineItemId and quantities for fee adjustment (returnItems only)
210
-
211
- **Inputs:**
212
-
213
- - `returnOrderLineItemId` *(`string`)*
214
- - `quantityReturned` *(`number`)*
215
- - `quantityToCancel` *(`number`)*
216
-
217
- #### `build-fee-payload-new-charge`
218
-
219
- Build changeItemFees payload for new fee charge operations
220
-
221
- #### `build-fee-payload-quantity-adjust`
222
-
223
- Build returnOrderItemFees payload for fee quantity adjustment (returnItems)
224
-
225
- #### `return-no-fee`
226
-
227
- Return empty fee payload when user declines fee