@salesforce/afv-skills 1.63.0 → 1.65.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 (484) hide show
  1. package/package.json +1 -1
  2. package/skills/agentforce-gpt-email-generation-configure/SKILL.md +312 -0
  3. package/skills/agentforce-offline-experimentation-run/SKILL.md +253 -0
  4. package/skills/agentforce-offline-experimentation-run/scripts/build_report.py +796 -0
  5. package/skills/agentforce-offline-experimentation-run/scripts/resolve-token.sh +111 -0
  6. package/skills/agentforce-offline-experimentation-run/scripts/sfap_replay.py +1053 -0
  7. package/skills/agentforce-wizard-ui-forecasting-analytics-components-configure/SKILL.md +64 -0
  8. package/skills/agentforce-wizard-ui-sales-einstein-components-configure/SKILL.md +46 -0
  9. package/skills/automation-company-profile-info-query/SKILL.md +51 -0
  10. package/skills/automation-digital-wallet-configure/SKILL.md +689 -0
  11. package/skills/automation-flow-coordinate/SKILL.md +95 -0
  12. package/skills/automation-flow-coordinate/references/elements/action-call/action-call.md +1569 -0
  13. package/skills/automation-flow-coordinate/references/elements/action-call/conversation-messaging.md +96 -0
  14. package/skills/automation-flow-coordinate/references/elements/action-call/examples/send-sms-message.json +23 -0
  15. package/skills/automation-flow-coordinate/references/elements/action-call/examples/send-to-journey-no-fields.json +31 -0
  16. package/skills/automation-flow-coordinate/references/elements/action-call/send-to-journey.md +179 -0
  17. package/skills/automation-flow-coordinate/references/elements/exit-rule/examples/event-email-link-click.json +13 -0
  18. package/skills/automation-flow-coordinate/references/elements/exit-rule/exit-rule.md +83 -0
  19. package/skills/automation-flow-coordinate/references/elements/forward-to-bot-or-agent/examples/forward-to-bot-or-agent.json +69 -0
  20. package/skills/automation-flow-coordinate/references/elements/forward-to-bot-or-agent/forward-to-bot-or-agent.md +274 -0
  21. package/skills/automation-flow-coordinate/references/elements/start/audience-common.md +192 -0
  22. package/skills/automation-flow-coordinate/references/elements/start/automation-event-triggered.md +130 -0
  23. package/skills/automation-flow-coordinate/references/elements/start/data-cloud-data-change-triggered.md +92 -0
  24. package/skills/automation-flow-coordinate/references/elements/start/form-submission-triggered.md +88 -0
  25. package/skills/automation-flow-coordinate/references/elements/start/segment-triggered.md +152 -0
  26. package/skills/automation-flow-coordinate/references/elements/start/start.md +539 -0
  27. package/skills/automation-flow-coordinate/references/elements/subflow/subflow.md +152 -0
  28. package/skills/automation-flow-coordinate/references/elements/wait/wait.md +497 -0
  29. package/skills/automation-flow-coordinate/references/recipes/author/author.md +868 -0
  30. package/skills/automation-flow-coordinate/references/recipes/summarize/element-generic.md +300 -0
  31. package/skills/automation-flow-coordinate/references/recipes/summarize/reference-resolution.md +292 -0
  32. package/skills/automation-flow-coordinate/references/recipes/summarize/summarize.md +323 -0
  33. package/skills/automation-flow-coordinate/references/recipes/testing/examples/debug-output-template.md +109 -0
  34. package/skills/automation-flow-coordinate/references/recipes/testing/shape.md +219 -0
  35. package/skills/automation-flow-coordinate/references/recipes/testing/shared-stages/intent-analyzer.md +180 -0
  36. package/skills/automation-flow-coordinate/references/recipes/testing/workflows/debug.md +175 -0
  37. package/skills/automation-flow-coordinate/references/recipes/testing/workflows/promote.md +255 -0
  38. package/skills/automation-flow-coordinate/references/recipes/testing/workflows/save-debug.md +212 -0
  39. package/skills/automation-flow-coordinate/references/resources/variable/variable.md +171 -0
  40. package/skills/automation-flow-coordinate/references/shared/anti-patterns.md +786 -0
  41. package/skills/automation-flow-coordinate/references/shared/end/end.md +267 -0
  42. package/skills/automation-flow-coordinate/references/shared/flow-type-resolver/eval/README.md +69 -0
  43. package/skills/automation-flow-coordinate/references/shared/flow-type-resolver/eval/predictions.jsonl +80 -0
  44. package/skills/automation-flow-coordinate/references/shared/flow-type-resolver/eval/prompts.jsonl +116 -0
  45. package/skills/automation-flow-coordinate/references/shared/flow-type-resolver/flow-type-resolver.md +321 -0
  46. package/skills/automation-flow-coordinate/references/shared/flow-type-resolver/taxonomy.json +320 -0
  47. package/skills/automation-flow-coordinate/references/shared/server-functions.md +597 -0
  48. package/skills/automation-sandbox-post-copy-config-generate/SKILL.md +21 -11
  49. package/skills/automation-sandbox-post-copy-config-generate/assets/config_template.json +10 -0
  50. package/skills/automation-sandbox-post-copy-config-generate/assets/json_schema.json +33 -1
  51. package/skills/automation-sandbox-post-copy-config-generate/references/configuration_catalog.md +44 -1
  52. package/skills/automation-sandbox-post-copy-configure/SKILL.md +132 -124
  53. package/skills/automation-sandbox-post-copy-configure/references/flow_activation_path.md +151 -0
  54. package/skills/automation-sandbox-post-copy-configure/references/scheduled_apex_path.md +55 -9
  55. package/skills/automotive-cloud-appraisal-management-settings-configure/SKILL.md +69 -0
  56. package/skills/automotive-cloud-dealer-essentials-configure/SKILL.md +78 -0
  57. package/skills/automotive-cloud-ground-agent-data-pipelines-configure/SKILL.md +373 -0
  58. package/skills/automotive-cloud-ground-mfg-agent-data-pipelines-configure/SKILL.md +273 -0
  59. package/skills/automotive-cloud-mfg-agent-data-pipelines-configure/SKILL.md +259 -0
  60. package/skills/automotive-cloud-mfg-sales-concierge-agent-create/SKILL.md +369 -0
  61. package/skills/automotive-cloud-mfg-sales-concierge-foundation-configure/SKILL.md +542 -0
  62. package/skills/automotive-cloud-mfg-sales-concierge-foundation-coordinate/SKILL.md +159 -0
  63. package/skills/automotive-cloud-mfg-sales-concierge-orchestrator-agent-create/SKILL.md +349 -0
  64. package/skills/automotive-cloud-mfg-sales-concierge-orchestrator-configure/SKILL.md +505 -0
  65. package/skills/automotive-cloud-sales-concierge-agent-create/SKILL.md +380 -0
  66. package/skills/automotive-cloud-sales-concierge-foundation-configure/SKILL.md +567 -0
  67. package/skills/automotive-cloud-sales-concierge-foundation-coordinate/SKILL.md +159 -0
  68. package/skills/automotive-cloud-sales-concierge-orchestrator-agent-create/SKILL.md +360 -0
  69. package/skills/automotive-cloud-sales-concierge-orchestrator-configure/SKILL.md +539 -0
  70. package/skills/automotive-cloud-sales-concierge-search-grounding-configure/SKILL.md +358 -0
  71. package/skills/commerce-b2b-merchant-quote-configure/SKILL.md +602 -0
  72. package/skills/commerce-b2b-store-configure/SKILL.md +251 -0
  73. package/skills/commerce-credit-memo-create/SKILL.md +139 -0
  74. package/skills/commerce-delivery-business-hours-configure/SKILL.md +277 -0
  75. package/skills/commerce-delivery-estimation-apply/SKILL.md +155 -0
  76. package/skills/commerce-delivery-estimation-configure/SKILL.md +377 -0
  77. package/skills/commerce-delivery-routing-specs-integrate/SKILL.md +174 -0
  78. package/skills/commerce-estimate-bopis-query/SKILL.md +279 -0
  79. package/skills/commerce-estimate-delivery-date-query/SKILL.md +349 -0
  80. package/skills/commerce-fees-apply/SKILL.md +227 -0
  81. package/skills/commerce-fulfillment-routing-analyze/SKILL.md +200 -0
  82. package/skills/commerce-guest-buyer-create/SKILL.md +173 -0
  83. package/skills/commerce-location-bopis-configure/SKILL.md +378 -0
  84. package/skills/commerce-location-business-hours-configure/SKILL.md +235 -0
  85. package/skills/commerce-location-delivery-processing-time-configure/SKILL.md +309 -0
  86. package/skills/commerce-location-graph-integrate/SKILL.md +131 -0
  87. package/skills/commerce-location-shipping-carrier-method-configure/SKILL.md +755 -0
  88. package/skills/commerce-location-temporary-operating-hours-configure/SKILL.md +331 -0
  89. package/skills/commerce-merchant-buyer-groups-configure/SKILL.md +579 -0
  90. package/skills/commerce-merchant-buyer-user-onboarding-create/SKILL.md +626 -0
  91. package/skills/commerce-merchant-catalog-configure/SKILL.md +614 -0
  92. package/skills/commerce-merchant-extension-provider-configure/SKILL.md +368 -0
  93. package/skills/commerce-merchant-insights-account-health-churn-analyze/SKILL.md +118 -0
  94. package/skills/commerce-merchant-insights-inventory-returns-analyze/SKILL.md +65 -0
  95. package/skills/commerce-merchant-insights-order-shopper-get/SKILL.md +90 -0
  96. package/skills/commerce-merchant-insights-product-performance-analyze/SKILL.md +72 -0
  97. package/skills/commerce-merchant-insights-query/SKILL.md +279 -0
  98. package/skills/commerce-merchant-storefront-guest-access-configure/SKILL.md +656 -0
  99. package/skills/commerce-order-summary-change-apply/SKILL.md +375 -0
  100. package/skills/commerce-product-details-get/SKILL.md +363 -0
  101. package/skills/commerce-product-search/SKILL.md +563 -0
  102. package/skills/commerce-react-storefront-create/SKILL.md +350 -0
  103. package/skills/commerce-return-order-summary-create/SKILL.md +513 -0
  104. package/skills/commerce-search-relevance-analyze/SKILL.md +757 -0
  105. package/skills/commerce-temporary-processing-time-override-create/SKILL.md +274 -0
  106. package/skills/communications-initial-setup-configure/SKILL.md +630 -0
  107. package/skills/communications-multisite-configure/SKILL.md +571 -0
  108. package/skills/communications-revenue-cloud-settings-configure/SKILL.md +74 -0
  109. package/skills/communications-smb-fiber-catalog-create/SKILL.md +413 -0
  110. package/skills/communications-tmf-integrate/SKILL.md +1368 -0
  111. package/skills/consumer-goods-promotion-bo-api-deploy/SKILL.md +54 -107
  112. package/skills/consumer-goods-promotion-bo-api-deploy/assets/set-comment-value/payloads/copy.json +1 -1
  113. package/skills/consumer-goods-promotion-bo-api-deploy/references/conventions-and-payload-rules.md +82 -5
  114. package/skills/consumer-goods-promotion-bo-api-deploy/references/generate-and-wire.md +35 -2
  115. package/skills/consumer-goods-promotion-bo-api-deploy/references/preflight-and-seed-queries.md +149 -0
  116. package/skills/consumer-goods-promotion-bo-api-deploy/references/smoke-and-verify.md +17 -1
  117. package/skills/consumer-goods-visit-activity-act4-questions-assign/SKILL.md +448 -0
  118. package/skills/consumer-goods-visit-activity-act5-standard-create/SKILL.md +269 -0
  119. package/skills/consumer-goods-visit-activity-act6-assortment-configure/SKILL.md +271 -0
  120. package/skills/consumer-goods-visit-activity-act7-account-scoping-create/SKILL.md +382 -0
  121. package/skills/consumer-goods-visit-activity-act8-plan-attach-create/SKILL.md +373 -0
  122. package/skills/consumer-goods-visit-activity-act9-proof-validate/SKILL.md +389 -0
  123. package/skills/consumer-goods-visit-and-activity-act1-specification-create/SKILL.md +338 -0
  124. package/skills/consumer-goods-visit-and-activity-act2-template-create/SKILL.md +547 -0
  125. package/skills/consumer-goods-visit-and-activity-act3-definition-create/SKILL.md +346 -0
  126. package/skills/consumer-goods-visit-and-activity-configure/SKILL.md +1110 -0
  127. package/skills/crm-analytics-adoption-insights-configure/SKILL.md +224 -0
  128. package/skills/crm-analytics-custom-report-type-lightning-configure/SKILL.md +418 -0
  129. package/skills/crm-analytics-dashboards-configure/SKILL.md +731 -0
  130. package/skills/crm-analytics-operational-analytics-metadata-bridge-migrate/SKILL.md +233 -0
  131. package/skills/crm-analytics-report-notifications-ui-configure/SKILL.md +184 -0
  132. package/skills/crm-analytics-sharing-inheritance-coverage-analyze/SKILL.md +167 -0
  133. package/skills/crm-analytics-sonic-getting-started-configure/SKILL.md +55 -0
  134. package/skills/crm-analytics-tableau-next-app-deploy/SKILL.md +1350 -0
  135. package/skills/crm-analytics-tableau-next-c360-basemodel-validate/SKILL.md +1862 -0
  136. package/skills/crm-analytics-tableau-next-datacloud-validate/SKILL.md +83 -0
  137. package/skills/crm-analytics-tableau-next-provisioning-validate/SKILL.md +81 -0
  138. package/skills/data360-activation-create/SKILL.md +104 -0
  139. package/skills/data360-activation-external-platform-get/SKILL.md +49 -0
  140. package/skills/data360-activation-target-create/SKILL.md +93 -0
  141. package/skills/data360-activation-v2-create/SKILL.md +456 -0
  142. package/skills/data360-audience-dmo-get/SKILL.md +38 -0
  143. package/skills/data360-calculated-affinity-create/SKILL.md +82 -0
  144. package/skills/data360-calculated-insight-create/SKILL.md +148 -0
  145. package/skills/data360-catalog-metadata-create/SKILL.md +183 -0
  146. package/skills/data360-code-extension-create/SKILL.md +115 -0
  147. package/skills/data360-communication-capping-create/SKILL.md +227 -0
  148. package/skills/data360-connection-create/SKILL.md +491 -0
  149. package/skills/data360-content-lens-create/SKILL.md +181 -0
  150. package/skills/data360-data-action-create/SKILL.md +126 -0
  151. package/skills/data360-data-action-target-create/SKILL.md +181 -0
  152. package/skills/data360-data-clean-room-create/SKILL.md +238 -0
  153. package/skills/data360-data-governance-create/SKILL.md +746 -0
  154. package/skills/data360-data-graph-create/SKILL.md +82 -0
  155. package/skills/data360-data-harmonized-model-object-reference-create/SKILL.md +38 -0
  156. package/skills/data360-data-lake-object-create/SKILL.md +207 -0
  157. package/skills/data360-data-model-object-catalog-get/SKILL.md +49 -0
  158. package/skills/data360-data-model-object-create/SKILL.md +128 -0
  159. package/skills/data360-data-model-object-mapping-create/SKILL.md +106 -0
  160. package/skills/data360-data-space-create/SKILL.md +161 -0
  161. package/skills/data360-data-streams-create/SKILL.md +324 -0
  162. package/skills/data360-engagement-signal-get/SKILL.md +38 -0
  163. package/skills/data360-experiment-create/SKILL.md +82 -0
  164. package/skills/data360-goal-based-campaign-create/SKILL.md +192 -0
  165. package/skills/data360-harmonization-process-history-get/SKILL.md +38 -0
  166. package/skills/data360-harmonized-unstructured-dmo-create/SKILL.md +84 -0
  167. package/skills/data360-identity-resolution-create/SKILL.md +115 -0
  168. package/skills/data360-intelligent-document-processing-create/SKILL.md +148 -0
  169. package/skills/data360-knowledge-graph-construction-create/SKILL.md +93 -0
  170. package/skills/data360-knowledge-graph-create/SKILL.md +216 -0
  171. package/skills/data360-knowledge-space-mcp-configure/SKILL.md +475 -0
  172. package/skills/data360-machine-learning-mcp-configure/SKILL.md +697 -0
  173. package/skills/data360-multi-org-mcp-configure/SKILL.md +117 -0
  174. package/skills/data360-secondary-index-mcp-configure/SKILL.md +126 -0
  175. package/skills/data360-segment-mcp-configure/SKILL.md +159 -0
  176. package/skills/data360-semantic-calculated-dimension-mcp-configure/SKILL.md +93 -0
  177. package/skills/data360-semantic-calculated-measurement-mcp-configure/SKILL.md +93 -0
  178. package/skills/data360-semantic-data-object-mcp-configure/SKILL.md +93 -0
  179. package/skills/data360-semantic-dimension-mcp-configure/SKILL.md +38 -0
  180. package/skills/data360-semantic-engine-mcp-configure/SKILL.md +62 -0
  181. package/skills/data360-semantic-measurement-mcp-configure/SKILL.md +38 -0
  182. package/skills/data360-semantic-metric-mcp-configure/SKILL.md +93 -0
  183. package/skills/data360-semantic-model-mcp-configure/SKILL.md +115 -0
  184. package/skills/data360-standard-mapping-mcp-configure/SKILL.md +38 -0
  185. package/skills/data360-tenant-lifecycle-mcp-configure/SKILL.md +73 -0
  186. package/skills/dx-devops-conflict-resolve/SKILL.md +1 -5
  187. package/skills/dx-devops-pipeline-manage/SKILL.md +1 -5
  188. package/skills/dx-devops-project-manage/SKILL.md +1 -5
  189. package/skills/dx-devops-promote/SKILL.md +1 -5
  190. package/skills/dx-devops-request-status/SKILL.md +1 -5
  191. package/skills/dx-lifecycle-center/SKILL.md +120 -0
  192. package/skills/dx-lifecycle-center/examples/workflows.md +175 -0
  193. package/skills/dx-lifecycle-center/references/connect-api.md +123 -0
  194. package/skills/dx-lifecycle-center/references/connect-org.md +184 -0
  195. package/skills/dx-lifecycle-center/references/deploy.md +153 -0
  196. package/skills/dx-lifecycle-center/references/error-handling.md +21 -0
  197. package/skills/dx-lifecycle-center/references/hub-org.md +37 -0
  198. package/skills/dx-lifecycle-center/references/list-orgs.md +99 -0
  199. package/skills/dx-lifecycle-center/references/request-body.md +75 -0
  200. package/skills/dx-lifecycle-center/references/troubleshooting.md +31 -0
  201. package/skills/dx-lifecycle-center/scripts/poll-deploy-status.sh +200 -0
  202. package/skills/dx-lifecycle-center/scripts/resolve-environment.sh +120 -0
  203. package/skills/dx-org-devhub-configure/SKILL.md +1 -3
  204. package/skills/dx-org-shape-manage/SKILL.md +1 -5
  205. package/skills/dx-org-snapshot-manage/SKILL.md +1 -3
  206. package/skills/education-cloud-academic-calendar-generate/SKILL.md +1 -3
  207. package/skills/education-cloud-course-catalog-migrate/SKILL.md +1 -3
  208. package/skills/education-cloud-domain-configure/SKILL.md +1 -3
  209. package/skills/education-cloud-multi-campus-configure/SKILL.md +1 -3
  210. package/skills/education-cloud-student-recruitment-agent-configure/SKILL.md +1 -5
  211. package/skills/experience-afv-query/SKILL.md +234 -0
  212. package/skills/experience-agentforce-vibes-in-react-configure/SKILL.md +63 -0
  213. package/skills/experience-apex-components-configure/SKILL.md +69 -0
  214. package/skills/experience-apex-pages-configure/SKILL.md +107 -0
  215. package/skills/experience-app-home-configure/SKILL.md +76 -0
  216. package/skills/experience-aura-lightning-out-access-configure/SKILL.md +58 -0
  217. package/skills/experience-briefcase-configure/SKILL.md +287 -0
  218. package/skills/experience-community-flexi-page-list-create/SKILL.md +74 -0
  219. package/skills/experience-community-template-definition-list-query/SKILL.md +48 -0
  220. package/skills/experience-community-theme-definition-list-query/SKILL.md +38 -0
  221. package/skills/experience-content-assets-configure/SKILL.md +86 -0
  222. package/skills/experience-custom-domain-create/SKILL.md +727 -0
  223. package/skills/experience-defer-rendering-workspace-page-setup-configure/SKILL.md +41 -0
  224. package/skills/experience-field-service-app-builder-configure/SKILL.md +187 -0
  225. package/skills/experience-flow-category-configure/SKILL.md +117 -0
  226. package/skills/experience-formula-configure/SKILL.md +358 -0
  227. package/skills/experience-global-actions-configure/SKILL.md +69 -0
  228. package/skills/experience-global-publisher-layouts-configure/SKILL.md +79 -0
  229. package/skills/experience-instrumentation-configure/SKILL.md +64 -0
  230. package/skills/experience-lex-engagement-configure/SKILL.md +50 -0
  231. package/skills/experience-lightning-bolt-open/SKILL.md +12 -0
  232. package/skills/experience-lightning-out-configure/SKILL.md +129 -0
  233. package/skills/experience-lightning-preview-configure/SKILL.md +67 -0
  234. package/skills/experience-lightning-types-query/SKILL.md +98 -0
  235. package/skills/experience-malware-scan-configure/SKILL.md +71 -0
  236. package/skills/experience-my-salesforce-configure/SKILL.md +126 -0
  237. package/skills/experience-navigation-menus-configure/SKILL.md +235 -0
  238. package/skills/experience-notification-types-configure/SKILL.md +206 -0
  239. package/skills/experience-notifications-configure/SKILL.md +75 -0
  240. package/skills/experience-record-discovery-query/SKILL.md +227 -0
  241. package/skills/experience-regenerate-previews-open/SKILL.md +94 -0
  242. package/skills/experience-sales-cloud-mab-configure/SKILL.md +254 -0
  243. package/skills/experience-schema-builder-open/SKILL.md +38 -0
  244. package/skills/experience-simple-record-home-configure/SKILL.md +110 -0
  245. package/skills/experience-static-resources-configure/SKILL.md +74 -0
  246. package/skills/experience-ui-bundle-2gp-deploy/SKILL.md +1 -3
  247. package/skills/experience-ui-bundle-features-generate/SKILL.md +1 -5
  248. package/skills/experience-ui-bundle-mfa-configure/SKILL.md +1 -3
  249. package/skills/field-service-data-capture-form-deployer-configure/SKILL.md +23 -2
  250. package/skills/field-service-data-capture-form-designer-configure/SKILL.md +13 -3
  251. package/skills/field-service-data-capture-migrate/SKILL.md +1 -3
  252. package/skills/field-service-mobile-branding-configure/SKILL.md +17 -3
  253. package/skills/field-service-objective-designer-configure/SKILL.md +72 -379
  254. package/skills/field-service-prework-brief-deployer-configure/SKILL.md +10 -537
  255. package/skills/field-service-scheduling-policy-designer-query/SKILL.md +65 -1093
  256. package/skills/{field-service-setup-orchestrator-get → field-service-setup-coordinate}/SKILL.md +18 -3
  257. package/skills/field-service-sobject-create-configure/SKILL.md +13 -213
  258. package/skills/field-service-voice-to-form-configure/SKILL.md +40 -11
  259. package/skills/field-service-work-plan-configure/SKILL.md +253 -0
  260. package/skills/field-service-work-rule-designer-configure/SKILL.md +121 -95
  261. package/skills/fsc-actionable-segmentation-settings-configure/SKILL.md +180 -0
  262. package/skills/fsc-digital-origination-bre-decision-matrix-foundation-create/SKILL.md +196 -0
  263. package/skills/fsc-digital-origination-bre-disclosures-consent-configure/SKILL.md +106 -0
  264. package/skills/fsc-digital-origination-bre-document-upload-configure/SKILL.md +96 -0
  265. package/skills/fsc-digital-origination-bre-permissions-assign/SKILL.md +111 -0
  266. package/skills/fsc-digital-origination-bre-setup-coordinate/SKILL.md +250 -0
  267. package/skills/fsc-digital-origination-bre-stp-eligibility-configure/SKILL.md +122 -0
  268. package/skills/fsc-digital-origination-coordinate/SKILL.md +653 -0
  269. package/skills/fsc-digital-origination-demo-run/SKILL.md +225 -0
  270. package/skills/fsc-digital-origination-execution-guardrails-validate/SKILL.md +112 -0
  271. package/skills/fsc-digital-origination-initial-setup-configure/SKILL.md +396 -0
  272. package/skills/fsc-digital-origination-pricing-setup-coordinate/SKILL.md +336 -0
  273. package/skills/fsc-digital-origination-pricing-setup-data-foundation-create/SKILL.md +208 -0
  274. package/skills/fsc-digital-origination-pricing-setup-procedure-create/SKILL.md +375 -0
  275. package/skills/fsc-digital-origination-product-setup-act1-permissions-assign/SKILL.md +83 -0
  276. package/skills/fsc-digital-origination-product-setup-coordinate/SKILL.md +248 -0
  277. package/skills/fsc-digital-origination-sample-data-create/SKILL.md +206 -0
  278. package/skills/fsc-document-checklist-settings-configure/SKILL.md +57 -0
  279. package/skills/fsc-flexible-hierarchy-configure/SKILL.md +148 -0
  280. package/skills/fsc-flexible-hierarchy-foundation-configure/SKILL.md +1430 -0
  281. package/skills/fsc-flexible-hierarchy-graph-config-create/SKILL.md +471 -0
  282. package/skills/fsc-flexible-hierarchy-rule-based-graph-deploy/SKILL.md +429 -0
  283. package/skills/fsc-pricing-product-configurator-configure/SKILL.md +150 -0
  284. package/skills/fsc-pricing-salesforce-omnistudio-switch/SKILL.md +123 -0
  285. package/skills/fsc-product-act2-catalog-categories-create/SKILL.md +82 -0
  286. package/skills/fsc-product-act3-attributes-create/SKILL.md +249 -0
  287. package/skills/fsc-product-act4-classification-assignment-create/SKILL.md +196 -0
  288. package/skills/fsc-product-act5-considerations-get/SKILL.md +44 -0
  289. package/skills/fsc-stage-management-apex-flow-deploy/SKILL.md +384 -0
  290. package/skills/fsc-stage-management-compliant-data-sharing-configure/SKILL.md +144 -0
  291. package/skills/fsc-stage-management-decision-matrices-create/SKILL.md +107 -0
  292. package/skills/fsc-stage-management-definition-assignments-create/SKILL.md +189 -0
  293. package/skills/fsc-stage-management-definition-create/SKILL.md +108 -0
  294. package/skills/fsc-stage-management-permissions-assign/SKILL.md +143 -0
  295. package/skills/fsc-stage-management-transitions-configure/SKILL.md +139 -0
  296. package/skills/health-cloud-appt-booking-config-configure/SKILL.md +135 -0
  297. package/skills/health-cloud-appt-booking-url-config-configure/SKILL.md +134 -0
  298. package/skills/health-cloud-care-provider-affl-role-config-configure/SKILL.md +136 -0
  299. package/skills/health-cloud-care-provider-search-config-configure/SKILL.md +134 -0
  300. package/skills/health-cloud-care-requests-create/SKILL.md +178 -0
  301. package/skills/health-cloud-initial-configure/SKILL.md +511 -0
  302. package/skills/health-cloud-patient-appointment-scheduling-configure/SKILL.md +1374 -0
  303. package/skills/health-cloud-provider-search-settings-configure/SKILL.md +924 -0
  304. package/skills/health-cloud-referral-management-coordinate/SKILL.md +513 -0
  305. package/skills/health-cloud-timeline-configure/SKILL.md +622 -0
  306. package/skills/health-cloud-virtual-visit-config-configure/SKILL.md +135 -0
  307. package/skills/industries-account-score-settings-query/SKILL.md +78 -0
  308. package/skills/industries-actionable-list-data-sources-dmo-configure/SKILL.md +177 -0
  309. package/skills/industries-ad-product-availability-search/SKILL.md +399 -0
  310. package/skills/industries-advanced-account-forecast-settings-configure/SKILL.md +628 -0
  311. package/skills/industries-advanced-therapy-management-settings-configure/SKILL.md +73 -0
  312. package/skills/industries-atm-settings-starter-configure/SKILL.md +76 -0
  313. package/skills/industries-batch-document-ai-configure/SKILL.md +196 -0
  314. package/skills/industries-behavioral-health-app-settings-configure/SKILL.md +71 -0
  315. package/skills/industries-branch-management-settings-configure/SKILL.md +89 -0
  316. package/skills/industries-bre-decision-table-access-configure/SKILL.md +367 -0
  317. package/skills/industries-brokerage-settings-configure/SKILL.md +41 -0
  318. package/skills/industries-calendar-sync-settings-configure/SKILL.md +89 -0
  319. package/skills/industries-care-request-settings-configure/SKILL.md +218 -0
  320. package/skills/industries-case-management-intelligence-settings-configure/SKILL.md +54 -0
  321. package/skills/industries-catalog-process-attributes-products-configure/SKILL.md +380 -0
  322. package/skills/industries-catalog-process-fulfillment-configure/SKILL.md +216 -0
  323. package/skills/industries-catalog-process-intake-configure/SKILL.md +219 -0
  324. package/skills/industries-catalog-process-knowledge-configure/SKILL.md +153 -0
  325. package/skills/industries-catalog-process-preprocessor-configure/SKILL.md +168 -0
  326. package/skills/industries-cds-general-settings-configure/SKILL.md +69 -0
  327. package/skills/industries-claim-financial-settings-configure/SKILL.md +169 -0
  328. package/skills/industries-clinical-data-model-settings-configure/SKILL.md +136 -0
  329. package/skills/industries-clinical-data-model-settings-starter-configure/SKILL.md +105 -0
  330. package/skills/industries-collection-plan-settings-configure/SKILL.md +132 -0
  331. package/skills/industries-comms-service-console-settings-configure/SKILL.md +159 -0
  332. package/skills/industries-compliance-configure/SKILL.md +102 -0
  333. package/skills/industries-compliance-document-extraction-setup-configure/SKILL.md +76 -0
  334. package/skills/industries-contact-center-app-layout-configure/SKILL.md +88 -0
  335. package/skills/industries-contact-center-components-configure/SKILL.md +96 -0
  336. package/skills/industries-contact-center-path-knowledge-configure/SKILL.md +95 -0
  337. package/skills/industries-contact-center-user-access-assign/SKILL.md +96 -0
  338. package/skills/industries-course-waitlist-config-configure/SKILL.md +162 -0
  339. package/skills/industries-crisis-center-settings-configure/SKILL.md +84 -0
  340. package/skills/industries-custom-object-settings-configure/SKILL.md +94 -0
  341. package/skills/industries-data-cloud-integration-configure/SKILL.md +88 -0
  342. package/skills/industries-data-space-feature-mappings-configure/SKILL.md +245 -0
  343. package/skills/industries-decision-matrix-builder-configure/SKILL.md +78 -0
  344. package/skills/industries-decision-table-hbase-configure/SKILL.md +87 -0
  345. package/skills/industries-decision-table-version-configure/SKILL.md +74 -0
  346. package/skills/industries-decision-tables-builder-configure/SKILL.md +253 -0
  347. package/skills/industries-decision-tables-configure/SKILL.md +439 -0
  348. package/skills/industries-energy-utilities-configure/SKILL.md +251 -0
  349. package/skills/industries-eu-cloud-multisite-configure/SKILL.md +1008 -0
  350. package/skills/industries-eu-new-connections-configure/SKILL.md +30 -0
  351. package/skills/industries-explainability-msg-template-configure/SKILL.md +135 -0
  352. package/skills/industries-expression-set-message-token-configure/SKILL.md +135 -0
  353. package/skills/industries-field-service-settings-configure/SKILL.md +82 -0
  354. package/skills/industries-form-framework-settings-configure/SKILL.md +30 -0
  355. package/skills/industries-fsc-ai-settings-configure/SKILL.md +57 -0
  356. package/skills/industries-fsc-association-engine-settings-configure/SKILL.md +172 -0
  357. package/skills/industries-fsc-b2b-settings-configure/SKILL.md +61 -0
  358. package/skills/industries-fsc-insurance-settings-configure/SKILL.md +58 -0
  359. package/skills/industries-fsc-visa-fulfillment-setup-configure/SKILL.md +103 -0
  360. package/skills/industries-fsc-wealth-agent-settings-configure/SKILL.md +117 -0
  361. package/skills/industries-fsc-wealth-settings-configure/SKILL.md +99 -0
  362. package/skills/industries-fundraising-gift-entry-settings-configure/SKILL.md +120 -0
  363. package/skills/industries-fundraising-rfm-configure/SKILL.md +128 -0
  364. package/skills/industries-fundraising-settings-configure/SKILL.md +145 -0
  365. package/skills/industries-fundraising-source-code-gen-configure/SKILL.md +299 -0
  366. package/skills/industries-google-maps-api-key-settings-configure/SKILL.md +87 -0
  367. package/skills/industries-grantmaking-intelligence-settings-open/SKILL.md +58 -0
  368. package/skills/industries-hc-score-category-settings-configure/SKILL.md +167 -0
  369. package/skills/industries-health-engagement-settings-configure/SKILL.md +218 -0
  370. package/skills/industries-home-health-agentforce-setup-configure/SKILL.md +131 -0
  371. package/skills/industries-home-health-bundling-policy-create/SKILL.md +50 -0
  372. package/skills/industries-home-health-entity-labels-configure/SKILL.md +29 -0
  373. package/skills/industries-home-health-fsl-package-deploy/SKILL.md +71 -0
  374. package/skills/industries-home-health-fsl-settings-validate/SKILL.md +27 -0
  375. package/skills/industries-home-health-guided-setup-care-and-skill-get/SKILL.md +80 -0
  376. package/skills/industries-home-health-guided-setup-configure/SKILL.md +836 -0
  377. package/skills/industries-home-health-guided-setup-enable-org-fsl-get/SKILL.md +55 -0
  378. package/skills/industries-home-health-guided-setup-get-org-ready-get/SKILL.md +61 -0
  379. package/skills/industries-home-health-licenses-assign/SKILL.md +27 -0
  380. package/skills/industries-home-health-operating-hours-create/SKILL.md +40 -0
  381. package/skills/industries-home-health-scheduling-policy-create/SKILL.md +41 -0
  382. package/skills/industries-home-health-service-objective-create/SKILL.md +22 -0
  383. package/skills/industries-home-health-skills-create/SKILL.md +31 -0
  384. package/skills/industries-home-health-users-create/SKILL.md +29 -0
  385. package/skills/industries-icm-act3-toggles-configure/SKILL.md +198 -0
  386. package/skills/industries-icm-act5-genai-suggested-assessments-configure/SKILL.md +361 -0
  387. package/skills/industries-icm-act6-mcg-integration-configure/SKILL.md +550 -0
  388. package/skills/industries-integrated-care-management-configure/SKILL.md +168 -0
  389. package/skills/industries-object-enablement-configure/SKILL.md +86 -0
  390. package/skills/industries-tpm-system-processing-service-configure/SKILL.md +64 -0
  391. package/skills/insurance-brokerage-agency-billing-configure/SKILL.md +1 -3
  392. package/skills/integration-apex-settings-configure/SKILL.md +61 -0
  393. package/skills/marketing-e360-email-archiving-configure/SKILL.md +73 -0
  394. package/skills/marketing-message-test/SKILL.md +1 -3
  395. package/skills/nonprofit-fundraising-configure/SKILL.md +240 -0
  396. package/skills/nonprofit-fundraising-configure/references/gotchas.md +26 -0
  397. package/skills/nonprofit-fundraising-configure/references/mcp-invocation.md +678 -0
  398. package/skills/nonprofit-fundraising-configure/references/permission-targeting.md +35 -0
  399. package/skills/nonprofit-volunteer-management-model-get/SKILL.md +166 -0
  400. package/skills/nonprofit-volunteer-management-model-get/references/entities.md +315 -0
  401. package/skills/nonprofit-volunteer-management-model-get/references/relationships.md +175 -0
  402. package/skills/nonprofit-volunteer-management-model-get/references/themes.md +143 -0
  403. package/skills/nonprofit-volunteer-management-records-create/SKILL.md +121 -0
  404. package/skills/nonprofit-volunteer-management-records-create/references/field-guide.md +284 -0
  405. package/skills/nonprofit-volunteer-management-records-create/references/mcp-invocation.md +248 -0
  406. package/skills/nonprofit-volunteer-management-records-create/references/review-format.md +140 -0
  407. package/skills/nonprofit-volunteer-management-records-create/scripts/expand-series.py +632 -0
  408. package/skills/nonprofit-volunteer-management-records-create/scripts/render-review-table.py +419 -0
  409. package/skills/nonprofit-volunteer-management-records-create/scripts/tests/test_expand_series.py +690 -0
  410. package/skills/nonprofit-volunteer-management-records-create/scripts/tests/test_render_review_table.py +421 -0
  411. package/skills/nonprofit-volunteer-management-structure-generate/SKILL.md +119 -0
  412. package/skills/nonprofit-volunteer-management-structure-generate/references/configuration-decisions.md +159 -0
  413. package/skills/nonprofit-volunteer-management-structure-generate/references/discovery-interview.md +137 -0
  414. package/skills/nonprofit-volunteer-management-structure-generate/references/edge-cases.md +48 -0
  415. package/skills/nonprofit-volunteer-management-structure-generate/references/mcp-invocation.md +75 -0
  416. package/skills/nonprofit-volunteer-management-structure-generate/references/plan-output.md +141 -0
  417. package/skills/platform-custom-field-generate/SKILL.md +1 -0
  418. package/skills/platform-custom-field-generate/references/advanced-picklists.md +5 -5
  419. package/skills/platform-custom-metadata-type-generate/SKILL.md +3 -0
  420. package/skills/platform-custom-object-generate/SKILL.md +4 -0
  421. package/skills/platform-custom-permissions-configure/SKILL.md +687 -0
  422. package/skills/platform-custom-setting-generate/SKILL.md +3 -0
  423. package/skills/platform-datamask-run/SKILL.md +1 -5
  424. package/skills/platform-label-workbench-import-create/SKILL.md +67 -0
  425. package/skills/platform-permission-set-generate/SKILL.md +3 -0
  426. package/skills/platform-privacy-agent-settings-configure/SKILL.md +752 -0
  427. package/skills/platform-salesforce-connect-adapter-generate/SKILL.md +1 -3
  428. package/skills/platform-sandbox-configure/SKILL.md +1 -3
  429. package/skills/platform-value-set-generate/SKILL.md +3 -0
  430. package/skills/sales-call-scoring-configure/SKILL.md +1 -5
  431. package/skills/service-agentforce-channel-configure/SKILL.md +1 -3
  432. package/skills/service-agentforce-human-escalation-configure/SKILL.md +1 -3
  433. package/skills/service-catalog-template-coordinate/SKILL.md +1 -3
  434. package/skills/service-concierge-portal-generate/SKILL.md +1 -3
  435. package/skills/service-email-to-case-configure/SKILL.md +1 -5
  436. package/skills/service-itsm-agentic-setup-agent-runtime-access-assign/SKILL.md +1 -3
  437. package/skills/service-itsm-agentic-setup-agentforce-coordinate/SKILL.md +1 -3
  438. package/skills/service-itsm-agentic-setup-agentforce-studio-configure/SKILL.md +1 -3
  439. package/skills/service-itsm-agentic-setup-agentforce-studio-validate/SKILL.md +1 -3
  440. package/skills/service-itsm-agentic-setup-cmdb-access-assign/SKILL.md +1 -3
  441. package/skills/service-itsm-agentic-setup-cmdb-bundle-deploy/SKILL.md +1 -5
  442. package/skills/service-itsm-agentic-setup-cmdb-configure/SKILL.md +1 -3
  443. package/skills/service-itsm-agentic-setup-cmdb-coordinate/SKILL.md +1 -3
  444. package/skills/service-itsm-agentic-setup-cmdb-discovery-configure/SKILL.md +1 -3
  445. package/skills/service-itsm-agentic-setup-employee-agent-configure/SKILL.md +1 -3
  446. package/skills/service-itsm-agentic-setup-fulfiller-agent-configure/SKILL.md +1 -3
  447. package/skills/service-itsm-agentic-setup-incident-sla-configure/SKILL.md +1 -0
  448. package/skills/service-itsm-agentic-setup-itsm-agentforce-permset-assign/SKILL.md +1 -3
  449. package/skills/service-itsm-agentic-setup-uel-user-create/SKILL.md +1 -9
  450. package/skills/service-itsm-incident-mgmt-configure/SKILL.md +1 -5
  451. package/skills/service-itsm-incident-priority-configure/SKILL.md +1 -3
  452. package/skills/service-itsm-slack-itservice-configure/SKILL.md +1 -3
  453. package/skills/service-itsm-swarming-configure/SKILL.md +1 -3
  454. package/skills/service-itsm-teams-configure/SKILL.md +1 -3
  455. package/skills/service-itsm-teams-debug/SKILL.md +1 -3
  456. package/skills/service-itsm-teams-employee-agent-configure/SKILL.md +1 -3
  457. package/skills/service-itsm-teams-itdesk-configure/SKILL.md +1 -3
  458. package/skills/service-itsm-teams-itservice-configure/SKILL.md +1 -3
  459. package/skills/service-native-voice-recording-transcription-configure/SKILL.md +1 -3
  460. package/skills/service-omni-agent-users-create/SKILL.md +1 -3
  461. package/skills/service-omni-agent-work-sharing-configure/SKILL.md +1 -3
  462. package/skills/service-omni-attribute-routing-configure/SKILL.md +1 -3
  463. package/skills/service-omni-base-settings-configure/SKILL.md +1 -3
  464. package/skills/service-omni-channel-inventory-analyze/SKILL.md +1 -3
  465. package/skills/service-omni-channel-limits-analyze/SKILL.md +1 -3
  466. package/skills/service-omni-channel-setup-coordinate/SKILL.md +1 -3
  467. package/skills/service-omni-command-center-analyze/SKILL.md +1 -3
  468. package/skills/service-omni-command-center-configure/SKILL.md +1 -3
  469. package/skills/service-omni-permission-set-assign/SKILL.md +1 -3
  470. package/skills/service-omni-presence-status-deploy/SKILL.md +1 -3
  471. package/skills/service-omni-presence-user-config-deploy/SKILL.md +1 -3
  472. package/skills/service-omni-queue-deploy/SKILL.md +1 -3
  473. package/skills/service-omni-queue-members-assign/SKILL.md +1 -3
  474. package/skills/service-omni-queue-routing-config-deploy/SKILL.md +1 -3
  475. package/skills/service-omni-routing-flow-deploy/SKILL.md +1 -3
  476. package/skills/service-omni-service-channel-configure/SKILL.md +1 -3
  477. package/skills/service-omni-sidebar-configure/SKILL.md +1 -3
  478. package/skills/service-omni-skills-based-routing-configure/SKILL.md +1 -3
  479. package/skills/service-omni-supervisor-config-deploy/SKILL.md +1 -3
  480. package/skills/service-omni-supervisor-permset-assign/SKILL.md +1 -3
  481. package/skills/service-omni-supervisor-surface-deploy/SKILL.md +1 -3
  482. package/skills/service-omni-supervisor-users-create/SKILL.md +1 -3
  483. package/skills/service-omni-work-skill-routing-configure/SKILL.md +1 -3
  484. package/skills/tableau-next-asset-create/README.md +0 -65
@@ -0,0 +1,269 @@
1
+ ---
2
+ name: consumer-goods-visit-activity-act5-standard-create
3
+ description: "Act 5 of 9: Create the STANDARD activity for a newly created Visit Specification. A standard activity is an Assessment Task Definition with `IsStandardTask = true` (the only difference from the non-standard activity built in Act 3) that carries at least three KPI questions — `AssessmentKpi` = Facing, PriceSurvey, and Distribution. The offline Retail Execution app resolves a visit's standard activity through the visit's Visit Specification; a brand-new Visit Spec has none, so the Act 9 product-survey verification fails until one exists. This Act runs AUTOMATICALLY (orchestrator-triggered, never a manual user request) whenever Act 1 created a new Visit Spec (`visit_spec_is_new = true`); it is skipped automatically when the spec was reused. The standard activity is time-scoped to the SAME validity window (`ValidFrom`/`ValidTo`) as the non-standard activity from Act 3 — `IsStandardTask = true` remains its only structural difference."
4
+ metadata:
5
+ version: "1.0"
6
+ cliTools:
7
+ - tool:
8
+ - "sf"
9
+ semver: ">=2.0.0"
10
+ ---
11
+
12
+ # Act 5: Standard Activity
13
+
14
+ **Part of:** [9-Act Retail Execution Steel Thread](../../README.md)
15
+ **Depends on:** [Act 1 - Visit Specification](../act1-visit-specification/SKILL.md) (provides `visit_spec_id`, `internal_org_unit_id`, and the `visit_spec_is_new` flag), and the question patterns established in [Act 3](../act3-activity-definition/SKILL.md) / [Act 4](../act4-add-questions/SKILL.md)
16
+ **Enables:** [Act 6 - Assortment-Based Activity](../act6-assortment-based/SKILL.md)
17
+
18
+ **Act 5 exists because the offline app requires a *standard activity* on every visit's Visit Specification.** When Act 1 creates a NEW Visit Spec, nothing else in the steel thread builds a standard activity for it, so the product survey has no baseline KPI questions to render and the Act 9 verification fails. This Act closes that gap.
19
+
20
+ ---
21
+
22
+ ## Goal
23
+
24
+ For a **newly created** Visit Specification, create one **standard activity** — an `AssessmentTaskDefinition` with `IsStandardTask = true` — bound to that Visit Spec, carrying **at least three questions** whose `AssessmentKpi` values cover **Facing**, **PriceSurvey**, and **Distribution**.
25
+
26
+ **Builder's intent:** "A new store-visit type needs a standard activity with the three baseline KPI questions, or the offline product survey has nothing to show and fails. Reused visit types already have theirs — don't touch them."
27
+
28
+ **What you'll create (only when `visit_spec_is_new = true`):**
29
+ 1. One standard `AssessmentTaskDefinition` (`IsStandardTask = true`), built from a user-named standard template, bound to the Act 1 Visit Spec, and **time-scoped to the same `ValidFrom`/`ValidTo` window as the Act 3 activity**.
30
+ 2. Three (or more) `AssessmentTaskIndDefinition` links attaching KPI questions (Facing, PriceSurvey, Distribution) to that standard activity.
31
+
32
+ > **This Act is automatic.** The orchestrator fires it on Act 1's `visit_spec_is_new = true` signal — the user never asks for the standard activity to be created. The only user inputs are the standard template **name** and (if creating fresh questions) the KPI question details.
33
+
34
+ ---
35
+
36
+ ## Gate: is the Visit Specification new?
37
+
38
+ **This Act is conditional. Read `visit_spec_is_new` from the Act 1 session state before doing anything.**
39
+
40
+ - **`visit_spec_is_new = false` (spec was reused):** Do NOT create a standard activity. Tell the user, in plain language: "The Visit Specification was reused, so its standard activity is assumed to already exist — skipping Act 5." Mark `act5_complete = true` (skipped) and hand off to Act 6.
41
+ - **`visit_spec_is_new = true` (spec was created in Act 1):** Proceed. Tell the user: "This is a **new Visit Spec**, so we need to create a new **standard activity** (`IsStandardTask = true`) with the three baseline KPI questions (Facing, PriceSurvey, Distribution) — otherwise the product survey verification in Act 9 will fail."
42
+
43
+ > `IsStandardTask = true` is the **only** structural difference between this standard activity and the non-standard activity created in Act 3. Everything else about the ATD create call is the same.
44
+
45
+ ---
46
+
47
+ ## When to use
48
+
49
+ **This Act is orchestrator-triggered, not user-requested.** It runs **automatically** the moment Act 1 reports a newly created Visit Specification (`visit_spec_is_new = true`) — the user does not (and should not) ask for the standard activity to be created. It is skipped **automatically** when Act 1 reused an existing spec.
50
+
51
+ **No trigger phrase is required** — the automatic gate is the `visit_spec_is_new = true` signal from Act 1. (If a user *does* volunteer "the product survey has no questions / is failing", run this same Act — but do not wait for such a prompt.)
52
+
53
+ ---
54
+
55
+ ## Prerequisites
56
+
57
+ Before running this Act, verify — **in this order, and STOP on the first that fails**:
58
+
59
+ - **`visit_spec_is_new = true`.** If it is `false`, apply the skip path above and do not continue.
60
+ - **`visit_spec_id` and `internal_org_unit_id`** are known from Act 1, and **`valid_from` / `valid_to`** are known from Act 3 (the standard activity binds to the Visit Spec + IOU and reuses Act 3's validity window, exactly like the Act 3 activity).
61
+ - **A standard Assessment Task Definition Template exists** — an `AsmtTskDefTmpl` with `IsStandardTask = true`. **This Act does NOT create one.** You will ask the user for its **name** and resolve it to an `Id` (see Step 2). If the org has none, STOP and report that a standard template must be created first (via Act 2's template step with `IsStandardTask = true`, or by an admin) before Act 5 can run.
62
+ - **Object permissions** for `AssessmentTaskDefinition` (Create), `AssessmentIndicatorDefinition` (Create — only if creating new questions), and `AssessmentTaskIndDefinition` (Create).
63
+
64
+ ---
65
+
66
+ ## Inputs
67
+
68
+ | Variable | Description | Source | Example |
69
+ |---|---|---|---|
70
+ | `ORG_ALIAS` | Target org alias for `sf` CLI commands | Auth session | `re-org` |
71
+ | `VISIT_SPEC_ID` | The Visit Spec created in Act 1 | Act 1 session state | `0gOxx0000000001EAA` |
72
+ | `INTERNAL_ORG_UNIT_ID` | IOU used across the thread | Act 1 session state | `0gJxx0000000001EAA` |
73
+ | `VALID_FROM` / `VALID_TO` | Validity window — **reuse the Act 3 activity's window** | Act 3 session state | `2026-03-01` / `2026-03-14` |
74
+ | `STANDARD_ATDT_NAME` | Name of an existing standard template (`AsmtTskDefTmpl`, `IsStandardTask = true`) | **User-supplied (Step 2)** | `Standard Store Template` |
75
+ | `STANDARD_ATDT_ID` | Id resolved from `STANDARD_ATDT_NAME` | **Query result (Step 2)** | `0pTxx0000000001EAA` |
76
+
77
+ ### Key concepts (reference before executing)
78
+
79
+ **Standard activity (`AssessmentTaskDefinition`, `IsStandardTask = true`)** — the baseline activity the offline app resolves for a visit *through its Visit Specification*. In this workflow it is **time-scoped to the same `ValidFrom`/`ValidTo` window as the Act 3 activity** (reuse Act 3's dates). `IsStandardTask = true` is the only structural difference from the Act 3 (non-standard) activity.
80
+
81
+ **`AssessmentKpi` (on `AssessmentIndicatorDefinition`)** — the KPI classification of a question. The offline product survey requires coverage of all three picklist values **`Facing`**, **`PriceSurvey`**, and **`Distribution`**. This is the field that makes a question count toward the standard-activity requirement. (When creating questions, also set `AssessmentContext = StoreInStore`.)
82
+
83
+ **Questions do NOT auto-flow from the template.** Just like Act 4, linking a template's indicator (`AsmtTaskDefTemplateIndDef`) does not put the question on the activity. You must create an `AssessmentTaskIndDefinition` link per question directly against the standard ATD.
84
+
85
+ ---
86
+
87
+ ## Step-by-step procedure
88
+
89
+ ### Step 1: Confirm the gate
90
+
91
+ Re-check `visit_spec_is_new`. If `false`, apply the skip path and stop. Otherwise announce the plan (create a standard activity with the 3 KPI questions) and continue.
92
+
93
+ ### Step 2: Ask the user for the standard template by NAME, then resolve its Id
94
+
95
+ Ask the user for the **name** of an existing **standard** Assessment Task Definition Template (`AsmtTskDefTmpl`, `IsStandardTask = true`) — **ask by name, not by Id.** Then resolve that name to an `Id` yourself:
96
+
97
+ ```bash
98
+ sf data query \
99
+ --query "SELECT Id, Name, IsStandardTask, IsActive, InternalOrganizationUnitId FROM AsmtTskDefTmpl WHERE Name = '<STANDARD_ATDT_NAME>' AND IsStandardTask = true AND InternalOrganizationUnitId = '<INTERNAL_ORG_UNIT_ID>'" \
100
+ --target-org <org-alias>
101
+ ```
102
+
103
+ - **Exactly one row** → capture its `Id` as `STANDARD_ATDT_ID` and continue.
104
+ - **More than one row** → the name is ambiguous; show the user the matches and have them pick, then capture that `Id`.
105
+ - **Zero rows** → no standard template by that name for this IOU. Offer to list the available standard templates so the user can give the right name:
106
+
107
+ ```bash
108
+ sf data query \
109
+ --query "SELECT Id, Name, IsActive FROM AsmtTskDefTmpl WHERE IsStandardTask = true AND InternalOrganizationUnitId = '<INTERNAL_ORG_UNIT_ID>' ORDER BY CreatedDate DESC" \
110
+ --target-org <org-alias>
111
+ ```
112
+
113
+ - If the list has entries, ask the user for the correct **name** and re-resolve.
114
+ - **If there are no standard templates at all**, STOP and report: **"No standard Assessment Task Definition Template (`IsStandardTask = true`) exists for this Internal Organization Unit. Create one first (Act 2's template step with `IsStandardTask = true`), then re-run Act 5."** Do NOT create the template here.
115
+
116
+ ### Step 3: Create the standard activity (AssessmentTaskDefinition, IsStandardTask = true)
117
+
118
+ This mirrors the Act 3 activity-create call, with `IsStandardTask = true` and the standard template:
119
+
120
+ ```bash
121
+ sf data create record \
122
+ --sobject AssessmentTaskDefinition \
123
+ --values "Name='Standard Store Activity' IsActive=true Description='Standard activity carrying the baseline KPI questions for every visit on this Visit Spec' AsmtTskDefTmplId=<STANDARD_ATDT_ID> IsStandardTask=true ShouldIncludeAssortments=true VisitSpecId=<VISIT_SPEC_ID> TaskType=ConductInStoreSurveys InternalOrganizationUnitId=<INTERNAL_ORG_UNIT_ID>" \
124
+ --target-org <org-alias>
125
+ ```
126
+
127
+ **Field notes:**
128
+ - `IsStandardTask = true` — **the defining field.** This is the sole structural difference from the Act 3 (non-standard) activity.
129
+ - `ShouldIncludeAssortments = true` — enable the **Assortment flag** on the standard activity so it picks up the visit's assortment. This is a Boolean on `AssessmentTaskDefinition`.
130
+ - `AsmtTskDefTmplId` — the `STANDARD_ATDT_ID` from Step 2.
131
+ - `VisitSpecId` — **must be the Act 1 `VISIT_SPEC_ID`.** The offline app resolves the standard activity through the visit's Visit Spec, so this binding is what makes the activity apply to the new spec's visits.
132
+ - `InternalOrganizationUnitId` — must match the Act 1 IOU (and the IOU of every question linked in Step 5).
133
+ - `Description` — required by a validation rule (same as Act 3).
134
+ - `TaskType` — a valid picklist value (e.g. `ConductInStoreSurveys`).
135
+
136
+ Capture the returned `Id` as `STANDARD_ACTIVITY_ID`.
137
+
138
+ ### Step 4: Choose the KPI questions — copy from the template or create new
139
+
140
+ You need three questions covering `AssessmentKpi` = **Facing**, **PriceSurvey**, **Distribution**. Offer the user two paths (exactly as Act 3 / Act 4 handle questions):
141
+
142
+ **Path A — copy the questions from the standard template.** Read the template's indicator links, then reuse those `AssessmentIndicatorDefinition` records:
143
+
144
+ ```bash
145
+ sf data query \
146
+ --query "SELECT AssessmentIndDefId, AssessmentIndDef.Name, AssessmentIndDef.AssessmentKpi FROM AsmtTaskDefTemplateIndDef WHERE AsmtTskDefTmplId = '<STANDARD_ATDT_ID>'" \
147
+ --target-org <org-alias>
148
+ ```
149
+
150
+ Collect the `AssessmentIndDefId` values and their `AssessmentKpi`. These AIDs are re-linked to the standard activity in Step 5 (linking a template's question does NOT flow it to the activity — you must link explicitly).
151
+
152
+ **Path B — create new KPI questions.** Create one `AssessmentIndicatorDefinition` per missing KPI, setting `AssessmentKpi` explicitly:
153
+
154
+ ```bash
155
+ sf data create record \
156
+ --sobject AssessmentIndicatorDefinition \
157
+ --values "Name='Facings count' DataType=Number Description='Number of product facings on shelf' AssessmentKpi=Facing AssessmentContext=StoreInStore InternalOrganizationUnitId=<INTERNAL_ORG_UNIT_ID> IsActive=true" \
158
+ --target-org <org-alias>
159
+ ```
160
+
161
+ Repeat for `AssessmentKpi=PriceSurvey` and `AssessmentKpi=Distribution`. Field reminders (from Act 2 / Act 4): `Description` is required by a validation rule; `DataType` is immutable after create and its valid values are `Number|Boolean|Percentage|DateTime|String|Decimal|Picklist|Multi-Select Picklist` (use `String`, not "Text"); `AssessmentContext` must be `StoreInStore`; each AID's `InternalOrganizationUnitId` **must match** the standard activity's IOU.
162
+
163
+ ### Step 5: Link each question to the standard activity
164
+
165
+ For each chosen AID, create an `AssessmentTaskIndDefinition` link against the standard activity (one per question), exactly as Act 4 does:
166
+
167
+ ```bash
168
+ sf data create record \
169
+ --sobject AssessmentTaskIndDefinition \
170
+ --values "AssessmentTaskDefinitionId=<STANDARD_ACTIVITY_ID> AssessmentIndDefinitionId=<AID_ID> DisplayOrder=1 IsMandatory=true" \
171
+ --target-org <org-alias>
172
+ ```
173
+
174
+ **Field notes:**
175
+ - `DisplayOrder` is 1-indexed; increment per question (1, 2, 3).
176
+ - Every linked AID's IOU must equal the standard activity's IOU, or the link returns `FIELD_CUSTOM_VALIDATION_EXCEPTION` ("Select an Assessment Indicator Definition with an Internal Organization Unit that matches the Assessment Task Definition's Internal Organization Unit").
177
+
178
+ ### Step 6: Enforce KPI coverage (Facing, PriceSurvey, Distribution)
179
+
180
+ Confirm the standard activity now has questions covering **all three** required KPIs:
181
+
182
+ ```bash
183
+ sf data query \
184
+ --query "SELECT AssessmentIndDefinitionId, AssessmentIndDefinition.Name, AssessmentIndDefinition.AssessmentKpi FROM AssessmentTaskIndDefinition WHERE AssessmentTaskDefinitionId = '<STANDARD_ACTIVITY_ID>'" \
185
+ --target-org <org-alias>
186
+ ```
187
+
188
+ - **If all three `AssessmentKpi` values (Facing, PriceSurvey, Distribution) are present**, the standard activity is complete — continue.
189
+ - **If any KPI is missing**, do NOT mark the Act done. Tell the user which KPI(s) are missing and loop back to Step 4 (Path A or B) to create/link the missing question(s). The offline product survey requires all three; an incomplete set still fails Act 9.
190
+
191
+ ---
192
+
193
+ ## Validation
194
+
195
+ **Expect, after Step 6:**
196
+ - One `AssessmentTaskDefinition` with `IsStandardTask = true`, `VisitSpecId = <Act 1 spec>`, and the Act 1 IOU. ✅
197
+ - At least three `AssessmentTaskIndDefinition` links whose AIDs' `AssessmentKpi` values cover Facing, PriceSurvey, and Distribution. ✅
198
+
199
+ ### Success Criteria
200
+ - ✓ A standard activity (`IsStandardTask = true`) exists on the new Visit Spec.
201
+ - ✓ The Assortment flag is enabled (`ShouldIncludeAssortments = true`).
202
+ - ✓ Facing, PriceSurvey, and Distribution KPI questions are all linked to it.
203
+ - ✓ Every linked AID shares the activity's IOU.
204
+
205
+ ---
206
+
207
+ ## End state
208
+
209
+ After completing Act 5 (create path):
210
+ - ✅ The newly created Visit Spec has a **standard activity** carrying the three baseline KPI questions, so the Act 9 product-survey verification can succeed.
211
+
212
+ After the skip path (reused spec):
213
+ - ✅ No standard activity was created; the existing spec's standard activity is assumed present.
214
+
215
+ **You are NOT done with the full setup** — this is Act 5 of 9. Proceed to Act 6 (Assortment-Based Activity).
216
+
217
+ ---
218
+
219
+ ## Gotchas and common errors
220
+
221
+ ### 1. Using `IsStandard` instead of `IsStandardTask`
222
+ There is no `IsStandard` field on `AssessmentTaskDefinition` or `AsmtTskDefTmpl`. The field that marks a template/activity as standard is **`IsStandardTask`** (Boolean). Set `IsStandardTask = true` on the activity (and use a template whose `IsStandardTask = true`).
223
+
224
+ ### 2. Product survey still fails after Act 5
225
+ Most often a missing KPI. The offline app requires **all three** of Facing, PriceSurvey, and Distribution. Re-run the Step 6 coverage query — if only two KPIs are linked, add the third. Also confirm `VisitSpecId` on the standard activity matches the visit's Visit Spec exactly.
226
+
227
+ ### 3. Copying template questions doesn't attach them
228
+ `AsmtTaskDefTemplateIndDef` links live on the *template*, not the activity. You must create an `AssessmentTaskIndDefinition` per question against the standard activity (Step 5). "Copy" here means reuse the AID `Id`s, then link them explicitly.
229
+
230
+ ### 4. IOU mismatch on the question link
231
+ If an AID's IOU differs from the standard activity's IOU, the `AssessmentTaskIndDefinition` create fails with `FIELD_CUSTOM_VALIDATION_EXCEPTION`. Create/choose KPI questions on the same IOU as the Act 1 Visit Spec.
232
+
233
+ ---
234
+
235
+ ## Session state to track & handoff
236
+
237
+ > **Internal only — never print this to the user.** Track silently; when the Act finishes, give a short plain-language confirmation (e.g., "✅ Act 5 done — standard activity with Facing/PriceSurvey/Distribution is ready" or "✅ Act 5 skipped — Visit Spec was reused").
238
+
239
+ Maintain after Act 5:
240
+ - `standard_activity_id` — `Id` of the created standard `AssessmentTaskDefinition` (unset on the skip path).
241
+ - `standard_atdt_id` — the standard template `Id` used.
242
+ - `standard_kpi_questions` — the AID ids/KPIs linked (Facing, PriceSurvey, Distribution).
243
+ - `act5_complete` — boolean; `true` after Step 6 passes, or `true` (skipped) when `visit_spec_is_new = false`.
244
+
245
+ **Do NOT block Act 6 on the create path when the spec was reused** — the skip path completes Act 5 immediately.
246
+
247
+ ---
248
+
249
+ ## Out of scope / deferred (for this Act)
250
+
251
+ - **Creating the standard template** — Act 5 asks for an existing standard `AsmtTskDefTmpl`; it does not create one.
252
+ - **Account scoping** — happens in Act 7. The standard activity attaches to visits via the Visit Spec, not via per-account scoping here.
253
+ - **Visit planning / generation** — Act 8.
254
+ - **Product-survey verification** — Act 9 (which this Act unblocks).
255
+
256
+ ---
257
+
258
+ ## Next Act
259
+
260
+ Proceed to **Act 6: Assortment-Based Activity** (`../act6-assortment-based/SKILL.md`).
261
+
262
+ ---
263
+
264
+ ## References
265
+
266
+ - **Act 1 (Visit Specification)** — source of `visit_spec_id` and the `visit_spec_is_new` flag that gates this Act.
267
+ - **Act 3 (Activity Definition)** — the non-standard activity create pattern this Act mirrors (with `IsStandardTask = true`).
268
+ - **Act 4 (Add Questions)** — the `AssessmentTaskIndDefinition` question-linking pattern this Act reuses.
269
+ - **Act 9 (Verification)** — the product-survey beat that requires this standard activity.
@@ -0,0 +1,271 @@
1
+ ---
2
+ name: consumer-goods-visit-activity-act6-assortment-configure
3
+ description: "Act 6 of 9: Enables assortment-based product surveying so merchandisers see only the products listed for each store at survey time. Configures ShouldIncludeAssortments on the Assessment Task Definition (from Act 3) and verifies that sample stores have assortments that will resolve at runtime. Product-level questions (from Act 4) instantiate once per listed product per store. Depends on Act 3 (activity) and Act 4 (product-level questions). Part of the 9-Act Retail Execution steel thread."
4
+ metadata:
5
+ version: "1.0"
6
+ cliTools:
7
+ - tool:
8
+ - "sf"
9
+ semver: ">=2.0.0"
10
+ ---
11
+
12
+ # Act 6: Make the Activity Assortment-Based
13
+
14
+ **Part of:** [9-Act Retail Execution Steel Thread](../../README.md)
15
+ **Depends on:** [Act 3 - Activity Definition](../act3-activity-definition/SKILL.md), [Act 4 - Add Questions](../act4-add-questions/SKILL.md)
16
+ **Enables:** [Act 7 - Account Scoping](../act7-account-scoping/SKILL.md)
17
+
18
+ **Act 6 makes product-level questions dynamic and store-specific. You MUST complete Act 3 (activity exists) and Act 4 (at least one product-level question is linked) before starting this act — assortment mode only matters when product-level questions are present.**
19
+
20
+ ---
21
+
22
+ ## Goal
23
+
24
+ Enable dynamic, store-specific product surveying by linking the activity to each store's assortment. When merchandisers open a visit, product-level questions (e.g., "Facings Count") instantiate **once per listed product for that specific store** — no manual per-store product list required.
25
+
26
+ **Builder's intent:** "Don't make me attach 50 products by hand — show each merchandiser only the products actually listed for the store they're visiting."
27
+
28
+ **What you'll create:**
29
+ 1. `ShouldIncludeAssortments = true` on the Assessment Task Definition (from Act 3)
30
+ 2. A verification that at least one sample store has a resolvable assortment
31
+
32
+ The store→assortment association is established by a **batch process ahead of time**, not at activity creation time and not live when the visit opens — this act only flips the setting; a batch job pre-associates each store with its listed products, and that's what determines the product list per store.
33
+
34
+ ---
35
+
36
+ ## What this Act does
37
+
38
+ This Act bridges the gap between static product lists (which require manual maintenance per store) and dynamic store-specific surveys. By enabling `ShouldIncludeAssortments`, the activity becomes aware of each store's current product mix through the Trade Org hierarchy resolution system. It performs THREE operations:
39
+
40
+ 1. **Enables `ShouldIncludeAssortments`** on the Assessment Task Definition via PATCH (idempotent if Act 3 already set it `true`).
41
+ 2. **Verifies the setting** by reading back the ATD via GET.
42
+ 3. **Confirms assortment resolution** for a sample store (read-only) — so you catch the silent "zero products" failure before declaring success.
43
+
44
+ **Business scenario:** A field merchandiser visits Store 001. The activity includes a "Facings Count" question. Without assortments, you'd need to manually attach 50 products to the activity definition. With assortments enabled, the system:
45
+ 1. Queries the active assortments
46
+ 2. Instantiates the facings question once per listed product (12 products for Store 001, 18 for Store 002, etc.)
47
+ 3. Merchandiser sees a dynamic survey with only the products relevant to the store they're visiting
48
+
49
+ ---
50
+
51
+ ## When to use
52
+
53
+ **Invoke this skill when:**
54
+ - You've completed Act 3 (activity) and Act 4 (questions, including at least one product-level question)
55
+ - Product-level questions should repeat per store-specific product rather than a hand-maintained list
56
+ - The user asks about "assortment-based activity", "store-specific products", "consider listing", or "dynamic product survey"
57
+
58
+ **Trigger phrases:**
59
+ - "Make the activity assortment-based"
60
+ - "Enable dynamic product surveying"
61
+ - "Act 6" or "assortments"
62
+
63
+ **Skip this Act when:**
64
+ - The activity has no product-level questions (assortment mode has nothing to act on)
65
+ - You genuinely want a static, hand-attached product list (a different flow, not part of the 9-Act thread)
66
+
67
+ ---
68
+
69
+ ## Prerequisites
70
+
71
+ | Act | Artifact | Required For |
72
+ |-----|----------|--------------|
73
+ | Act 3 | Assessment Task Definition (ATD) | The `Id` to PATCH (`0Z4xx00000000o1CAA` in examples) |
74
+ | Act 4 | Product-level question linked | Assortment mode only surveys product-level questions (e.g., Facings Count) |
75
+
76
+ **Object permissions** — the running user needs Read + Edit on `AssessmentTaskDefinition` and field-level Write on `ShouldIncludeAssortments`:
77
+ ```sql
78
+ SELECT Parent.Name, SobjectType, PermissionsRead, PermissionsEdit
79
+ FROM ObjectPermissions
80
+ WHERE SobjectType = 'AssessmentTaskDefinition'
81
+ AND PermissionsEdit = true
82
+ ```
83
+
84
+ **Assortments must already exist** — this Act **assumes** assortments exist at the Trade Org hierarchy level for target stores. Creating assortments is NOT part of this Act; it's upstream data management. **If no assortment resolves for a store, the survey will show zero products — a silent failure, not an API error.**
85
+
86
+ ---
87
+
88
+ ## Inputs
89
+
90
+ | Variable | Description | Source | Example |
91
+ |---|---|---|---|
92
+ | `ORG_ALIAS` | Target org alias for `sf` CLI commands | Auth session | `my-re-org` |
93
+ | `ACTIVITY_ID` | Assessment Task Definition to make assortment-based | Act 3 | `0Z4xx00000000o1CAA` |
94
+ | `SAMPLE_STORE_ID` | A representative store/RetailStore to verify assortment resolution | Master data | `001xx000000ABCD` |
95
+
96
+ ### Key Concepts (reference before executing)
97
+
98
+ **Assortment-based surveying** — the activity draws each store's product list from a store→assortment association that a batch process establishes ahead of time, instead of carrying a static product list. Critical points:
99
+
100
+ - **ShouldIncludeAssortments** — the single field that turns on assortment mode. Boolean on the Assessment Task Definition. May already be `true` from Act 3; the PATCH is idempotent.
101
+ - **Association is pre-computed by a batch process, not resolved live** — a batch job associates each store with the products listed for it ahead of time. When the merchandiser opens the visit, that association already exists.
102
+ - **Product-level vs visit-level questions** — only questions with `AssessmentContext: "Product"` (from Act 4) repeat per listed product; visit-level questions ("Display Up?") still ask once.
103
+ - **Silent zero-products failure** — if no assortment resolves for a store, the activity works with no error, but the merchandiser sees zero products. Always run the sample-store verification.
104
+
105
+ ---
106
+
107
+ ## Step-by-step procedure
108
+
109
+ ### Step 1: Enable ShouldIncludeAssortments
110
+
111
+ Update the Assessment Task Definition to enable assortment-based mode:
112
+
113
+ ```http
114
+ PATCH /services/data/v68.0/sobjects/AssessmentTaskDefinition/0Z4xx00000000o1CAA
115
+ Content-Type: application/json
116
+
117
+ {
118
+ "ShouldIncludeAssortments": true
119
+ }
120
+ ```
121
+
122
+ **Note:** If the field was already set to `true` during Act 3 creation, this PATCH is idempotent. If it was `false` or `null`, this updates it.
123
+
124
+ **Response:**
125
+ - `204 No Content` → success
126
+ - `400 Bad Request` → field validation failure (e.g., invalid object ID)
127
+ - `404 Not Found` → Assessment Task Definition doesn't exist
128
+
129
+ ### Step 2: Verify the Setting
130
+
131
+ Read back the Assessment Task Definition to confirm the change — query by the `ACTIVITY_ID` carried from Act 3 (never by name):
132
+
133
+ ```bash
134
+ sf data query \
135
+ --query "SELECT Id, Name, ShouldIncludeAssortments, IsActive FROM AssessmentTaskDefinition WHERE Id = '$ACTIVITY_ID'" \
136
+ --target-org <org-alias>
137
+ ```
138
+
139
+ **Expected response:**
140
+ ```json
141
+ {
142
+ "totalSize": 1,
143
+ "records": [
144
+ {
145
+ "Id": "0Z4xx00000000o1CAA",
146
+ "Name": "Promo Compliance Check",
147
+ "ShouldIncludeAssortments": true,
148
+ "IsActive": true
149
+ }
150
+ ]
151
+ }
152
+ ```
153
+
154
+ If `ShouldIncludeAssortments` is `false` or `null` after the PATCH, investigate:
155
+ - Field-level security may block the update (check user's permission set)
156
+ - Validation rule on the object may reject the change
157
+ - Org configuration may have custom requirements
158
+
159
+ ### Runtime Behavior (Not Part of This Act's API Calls)
160
+
161
+ Understanding what happens at survey time helps verify this Act worked correctly:
162
+
163
+ **The association is pre-computed by a batch process — not resolved live when the visit opens.** A batch job walks the Trade Org hierarchy and **already associates** each store with the products listed for it, ahead of time. By the time a merchandiser opens the visit, the store's product list is a settled association, not a lookup that runs on demand.
164
+
165
+ **When merchandiser opens the visit:**
166
+ 1. **Association already in place** — the batch process has already linked the store to the active products listed for it.
167
+ 2. **Question instantiation** — for each product-level question in the activity definition, one instance is created per already-associated product.
168
+ 3. **Survey rendering** — merchandiser sees:
169
+ - "Facings Count" for Product A
170
+ - "Facings Count" for Product B
171
+ - ...one instance per listed product
172
+
173
+ **Key point:** The store→assortment association is established by a **batch process ahead of time**, not resolved dynamically at visit open. This Act only enables the setting (`ShouldIncludeAssortments = true`); the batch association and the listed products are what actually drive which products appear.
174
+
175
+ ---
176
+
177
+ ### Success Criteria
178
+
179
+ - ✓ PATCH request returned `204 No Content`
180
+ - ✓ Read-back query shows `"ShouldIncludeAssortments": true`
181
+ - ✓ Activity still shows `IsActive: true` (no validation rules broke the update)
182
+ ---
183
+
184
+ ## End state
185
+
186
+ After completing Act 6:
187
+
188
+ - ✅ **`ShouldIncludeAssortments = true`** on the Assessment Task Definition.
189
+ - ✅ **Setting verified** via GET request.
190
+ - ✅ **Activity is now product-aware and store-specific** — product-level questions expand per store using the batch-computed store→assortment association.
191
+
192
+ **At this point:**
193
+ - Act 6 flips the assortment setting only — no products are attached to the activity directly.
194
+ - No accounts are scoped yet — Act 7 (optional) limits which stores get the activity.
195
+ - No visits exist yet — those are planned in Act 8.
196
+
197
+ **You are NOT done with the full setup** — this is Act 6 of 9. Proceed to Act 7 (Account Scoping).
198
+
199
+ ---
200
+
201
+ ## Gotchas and common errors
202
+
203
+ ### 1. Field-Level Security May Block the Update
204
+ **Problem:** If the running user doesn't have Edit permission on `AssessmentTaskDefinition.ShouldIncludeAssortments`, the PATCH returns `400 Bad Request` or `403 Forbidden`.
205
+ **Fix:** Grant the user a permission set with `Edit` on Assessment Task Definition and field-level access to `ShouldIncludeAssortments`.
206
+
207
+ ## Notes: best practices & architecture
208
+
209
+ **The product list comes from a pre-computed association, not the activity.** The activity carries no product list; it carries an intent (`ShouldIncludeAssortments = true`). A batch process associates each store with its listed products ahead of time, and the visit draws on that association. This is what makes one activity definition serve stores with wildly different product mixes.
210
+
211
+ **API reference:**
212
+
213
+ *Update Assessment Task Definition* — `PATCH /services/data/v68.0/sobjects/AssessmentTaskDefinition/{id}` with `{ "ShouldIncludeAssortments": true }`. Auth: OAuth 2.0 Bearer token with `api` scope. Requires Read + Edit on `AssessmentTaskDefinition` and field-level Write on `ShouldIncludeAssortments`.
214
+
215
+ *Read Assessment Task Definition* — `GET /services/data/v68.0/sobjects/AssessmentTaskDefinition/{id}`. Response shape:
216
+ ```json
217
+ {
218
+ "attributes": {
219
+ "type": "AssessmentTaskDefinition",
220
+ "url": "/services/data/v68.0/sobjects/AssessmentTaskDefinition/0Z4xx00000000o1CAA"
221
+ },
222
+ "Id": "0Z4xx00000000o1CAA",
223
+ "Name": "Promo Compliance Check",
224
+ "ShouldIncludeAssortments": true,
225
+ "Status": "Active",
226
+ "ActiveFrom": "2026-07-01",
227
+ "ActiveTo": "2026-12-31"
228
+ }
229
+ ```
230
+
231
+ **Where assortment mode sits in the lifecycle:**
232
+
233
+ ```text
234
+ Activity (AssessmentTaskDefinition) ← Act 3: the concrete activity
235
+ Questions-on-activity (ATID) ← Act 4: product-level + visit-level questions
236
+ ↓ (ShouldIncludeAssortments = true)
237
+ Assortment-based activity ← Act 6 (this act): product questions expand per store
238
+ ↓ (store→assortment association batch-computed ahead of time)
239
+ Account scoping (Act 7) → Visits (Act 8) → Verification (Act 9)
240
+ ```
241
+
242
+ ---
243
+
244
+ ## Session state to track & handoff
245
+
246
+ > **Internal only — never print this to the user.** These variables (including `act6_complete`) are orchestration bookkeeping. Track them silently to drive the gate below; do **not** echo raw variable names, IDs, or the gate flag into the conversation. When the Act finishes, tell the user only a short plain-language confirmation (e.g., "✅ Act 6 done — assortment-based product surveys are enabled").
247
+
248
+ Pass these forward to Act 7:
249
+
250
+ - `activity_id` — the `AssessmentTaskDefinition` Id with `ShouldIncludeAssortments = true` (carried from Act 3).
251
+ - `assortment_verified` — boolean; whether Step 3 confirmed at least one sample store resolves products.
252
+ - `act6_complete` — boolean; set to `true` after the Validation checks pass.
253
+
254
+ **Do NOT proceed to Act 7 until `act6_complete = true`.**
255
+
256
+ ---
257
+
258
+ ## Next Act
259
+
260
+ Proceed to **Act 7: Account Scoping** (`../act7-account-scoping/SKILL.md`), which defines which stores (Accounts) are eligible for this activity by creating Account–Assessment Task Definition junction records (`AsmtTskDefAcct`). Act 7 is optional — skip it if the activity applies org-wide. Downstream: Act 8 (Plan Visits & Attach), Act 9 (Verification).
261
+
262
+ ---
263
+
264
+ ## References
265
+
266
+ - **Act 3:** [Activity Definition](../act3-activity-definition/SKILL.md) ← Prerequisite (provides the activity Id)
267
+ - **Act 4:** [Add Questions](../act4-add-questions/SKILL.md) ← Prerequisite (product-level questions to survey)
268
+ - **Act 7:** [Account Scoping](../act7-account-scoping/SKILL.md) ← Next step
269
+ - **9-Act Steel Thread README:** [../../README.md](../../README.md) ← Full flow
270
+ - **Retail Execution Data Model** — Trade Org hierarchy and assortment resolution (internal documentation)
271
+ - **Core Successor Mapping (M2C)** — managed-to-core field mapping guide ("Consider Listing" → `ShouldIncludeAssortments`)