@salesforce/afv-skills 1.8.0 → 1.9.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 (488) hide show
  1. package/package.json +1 -1
  2. package/skills/activating-datacloud/CREDITS.md +5 -0
  3. package/skills/activating-datacloud/README.md +39 -0
  4. package/skills/activating-datacloud/SKILL.md +118 -0
  5. package/skills/analyzing-omnistudio-dependencies/CREDITS.md +5 -0
  6. package/skills/analyzing-omnistudio-dependencies/SKILL.md +477 -0
  7. package/skills/analyzing-omnistudio-dependencies/references/dependency-patterns.md +508 -0
  8. package/skills/analyzing-omnistudio-dependencies/references/namespace-guide.md +300 -0
  9. package/skills/building-omnistudio-callable-apex/CREDITS.md +9 -0
  10. package/skills/building-omnistudio-callable-apex/README.md +80 -0
  11. package/skills/building-omnistudio-callable-apex/SKILL.md +276 -0
  12. package/skills/building-omnistudio-callable-apex/assets/pattern_callable_openinterface.cls +40 -0
  13. package/skills/building-omnistudio-callable-apex/assets/pattern_callable_vanilla.cls +32 -0
  14. package/skills/building-omnistudio-callable-apex/assets/pattern_migration.cls +54 -0
  15. package/skills/building-omnistudio-callable-apex/assets/pattern_openinterface.cls +45 -0
  16. package/skills/building-omnistudio-callable-apex/assets/pattern_test_class.cls +65 -0
  17. package/skills/building-omnistudio-callable-apex/examples/Test_QuoteByProductCallable/IndustriesCallableException.cls +7 -0
  18. package/skills/building-omnistudio-callable-apex/examples/Test_QuoteByProductCallable/Industries_QuoteByProductCallable.cls +115 -0
  19. package/skills/building-omnistudio-callable-apex/examples/Test_QuoteByProductCallable/Industries_QuoteByProductCallableTest.cls +189 -0
  20. package/skills/building-omnistudio-callable-apex/examples/Test_QuoteByProductCallable/TRANSCRIPT.md +115 -0
  21. package/skills/building-omnistudio-callable-apex/examples/Test_VlocityOpenInterface2Conversion/IndustriesCallableException.cls +7 -0
  22. package/skills/building-omnistudio-callable-apex/examples/Test_VlocityOpenInterface2Conversion/MyCustomCallable.cls +74 -0
  23. package/skills/building-omnistudio-callable-apex/examples/Test_VlocityOpenInterface2Conversion/MyCustomCallableTest.cls +146 -0
  24. package/skills/building-omnistudio-callable-apex/examples/Test_VlocityOpenInterface2Conversion/MyCustomRemoteClass.cls +16 -0
  25. package/skills/building-omnistudio-callable-apex/examples/Test_VlocityOpenInterface2Conversion/TRANSCRIPT.md +120 -0
  26. package/skills/building-omnistudio-callable-apex/examples/Test_VlocityOpenInterfaceConversion/IndustriesCallableException.cls +7 -0
  27. package/skills/building-omnistudio-callable-apex/examples/Test_VlocityOpenInterfaceConversion/MyCustomCallable.cls +73 -0
  28. package/skills/building-omnistudio-callable-apex/examples/Test_VlocityOpenInterfaceConversion/MyCustomCallableTest.cls +128 -0
  29. package/skills/building-omnistudio-callable-apex/examples/Test_VlocityOpenInterfaceConversion/MyCustomVlocityOpenInterface2.cls +23 -0
  30. package/skills/building-omnistudio-callable-apex/examples/Test_VlocityOpenInterfaceConversion/TRANSCRIPT.md +75 -0
  31. package/skills/building-omnistudio-datamapper/CREDITS.md +5 -0
  32. package/skills/building-omnistudio-datamapper/SKILL.md +270 -0
  33. package/skills/building-omnistudio-datamapper/assets/completion-summary-template.md +28 -0
  34. package/skills/building-omnistudio-datamapper/assets/omni-data-transform-extract.json +6 -0
  35. package/skills/building-omnistudio-datamapper/assets/omni-data-transform-item.json +12 -0
  36. package/skills/building-omnistudio-datamapper/assets/omni-data-transform-load.json +6 -0
  37. package/skills/building-omnistudio-datamapper/assets/omni-data-transform-transform.json +6 -0
  38. package/skills/building-omnistudio-datamapper/references/best-practices.md +277 -0
  39. package/skills/building-omnistudio-datamapper/references/naming-conventions.md +145 -0
  40. package/skills/building-omnistudio-flexcard/CREDITS.md +5 -0
  41. package/skills/building-omnistudio-flexcard/SKILL.md +325 -0
  42. package/skills/building-omnistudio-flexcard/assets/omni-ui-card.json +10 -0
  43. package/skills/building-omnistudio-flexcard/references/best-practices.md +291 -0
  44. package/skills/building-omnistudio-flexcard/references/data-binding-guide.md +311 -0
  45. package/skills/building-omnistudio-flexcard/references/scoring-rubric.md +66 -0
  46. package/skills/building-omnistudio-flexcard/scripts/flexcard-commands.sh +24 -0
  47. package/skills/building-omnistudio-integration-procedure/CREDITS.md +5 -0
  48. package/skills/building-omnistudio-integration-procedure/SKILL.md +275 -0
  49. package/skills/building-omnistudio-integration-procedure/assets/omni-process-element-dr-extract.json +10 -0
  50. package/skills/building-omnistudio-integration-procedure/assets/omni-process-element-set-values.json +10 -0
  51. package/skills/building-omnistudio-integration-procedure/assets/omni-process-ip.json +12 -0
  52. package/skills/building-omnistudio-integration-procedure/assets/scoring-report-format.txt +14 -0
  53. package/skills/building-omnistudio-integration-procedure/references/best-practices.md +388 -0
  54. package/skills/building-omnistudio-integration-procedure/references/element-types.md +588 -0
  55. package/skills/building-omnistudio-integration-procedure/scripts/cli-commands.sh +18 -0
  56. package/skills/building-omnistudio-omniscript/CREDITS.md +5 -0
  57. package/skills/building-omnistudio-omniscript/SKILL.md +367 -0
  58. package/skills/building-omnistudio-omniscript/assets/omni-process-element-step.json +10 -0
  59. package/skills/building-omnistudio-omniscript/assets/omni-process-element-text-block.json +11 -0
  60. package/skills/building-omnistudio-omniscript/assets/omni-process-omniscript.json +12 -0
  61. package/skills/building-omnistudio-omniscript/references/best-practices.md +480 -0
  62. package/skills/building-omnistudio-omniscript/references/element-types.md +1172 -0
  63. package/skills/building-omnistudio-omniscript/scripts/check-duplicate-omniscript.sh +13 -0
  64. package/skills/building-omnistudio-omniscript/scripts/cli-reference.sh +21 -0
  65. package/skills/building-omnistudio-omniscript/scripts/deploy-omniscript.sh +29 -0
  66. package/skills/building-sf-integrations/CREDITS.md +5 -0
  67. package/skills/building-sf-integrations/README.md +95 -0
  68. package/skills/building-sf-integrations/SKILL.md +192 -0
  69. package/skills/building-sf-integrations/assets/callouts/callout-retry-handler.cls +167 -0
  70. package/skills/building-sf-integrations/assets/callouts/http-response-handler.cls +257 -0
  71. package/skills/building-sf-integrations/assets/callouts/rest-queueable-callout.cls +262 -0
  72. package/skills/building-sf-integrations/assets/callouts/rest-sync-callout.cls +211 -0
  73. package/skills/building-sf-integrations/assets/cdc/cdc-handler.cls +246 -0
  74. package/skills/building-sf-integrations/assets/cdc/cdc-subscriber-trigger.trigger +139 -0
  75. package/skills/building-sf-integrations/assets/endpoint-security/example.cspTrustedSite-meta.xml +58 -0
  76. package/skills/building-sf-integrations/assets/endpoint-security/example.remoteSite-meta.xml +39 -0
  77. package/skills/building-sf-integrations/assets/external-credentials/jwt-external-credential.externalCredential-meta.xml +90 -0
  78. package/skills/building-sf-integrations/assets/external-credentials/oauth-external-credential.externalCredential-meta.xml +87 -0
  79. package/skills/building-sf-integrations/assets/external-services/external-service-operations.md +221 -0
  80. package/skills/building-sf-integrations/assets/external-services/openapi-registration.externalServiceRegistration-meta.xml +193 -0
  81. package/skills/building-sf-integrations/assets/named-credentials/certificate-auth.namedCredential-meta.xml +62 -0
  82. package/skills/building-sf-integrations/assets/named-credentials/custom-auth.namedCredential-meta.xml +71 -0
  83. package/skills/building-sf-integrations/assets/named-credentials/oauth-client-credentials.namedCredential-meta.xml +51 -0
  84. package/skills/building-sf-integrations/assets/named-credentials/oauth-jwt-bearer.namedCredential-meta.xml +67 -0
  85. package/skills/building-sf-integrations/assets/platform-events/event-publisher.cls +191 -0
  86. package/skills/building-sf-integrations/assets/platform-events/event-subscriber-action.cls +295 -0
  87. package/skills/building-sf-integrations/assets/platform-events/event-subscriber-trigger.trigger +108 -0
  88. package/skills/building-sf-integrations/assets/platform-events/platform-event-definition.object-meta.xml +124 -0
  89. package/skills/building-sf-integrations/assets/soap/soap-callout-service.cls +186 -0
  90. package/skills/building-sf-integrations/assets/soap/wsdl2apex-guide.md +213 -0
  91. package/skills/building-sf-integrations/hooks/scripts/suggest_credential_setup.py +271 -0
  92. package/skills/building-sf-integrations/hooks/scripts/validate_integration.py +363 -0
  93. package/skills/building-sf-integrations/references/callout-patterns.md +719 -0
  94. package/skills/building-sf-integrations/references/cdc-guide.md +288 -0
  95. package/skills/building-sf-integrations/references/cli-reference.md +94 -0
  96. package/skills/building-sf-integrations/references/event-driven-architecture-guide.md +266 -0
  97. package/skills/building-sf-integrations/references/event-patterns.md +838 -0
  98. package/skills/building-sf-integrations/references/external-services-guide.md +303 -0
  99. package/skills/building-sf-integrations/references/messaging-api-v2.md +609 -0
  100. package/skills/building-sf-integrations/references/named-credentials-automation.md +201 -0
  101. package/skills/building-sf-integrations/references/named-credentials-guide.md +173 -0
  102. package/skills/building-sf-integrations/references/platform-events-guide.md +288 -0
  103. package/skills/building-sf-integrations/references/rest-callout-patterns.md +288 -0
  104. package/skills/building-sf-integrations/references/scoring-rubric.md +59 -0
  105. package/skills/building-sf-integrations/references/security-best-practices.md +248 -0
  106. package/skills/building-sf-integrations/scripts/README.md +100 -0
  107. package/skills/building-sf-integrations/scripts/configure-named-credential.sh +236 -0
  108. package/skills/building-sf-integrations/scripts/set-api-credential.sh +146 -0
  109. package/skills/building-sf-integrations/scripts/templates/setup-credentials-with-csp.sh +158 -0
  110. package/skills/configuring-connected-apps/CREDITS.md +3 -0
  111. package/skills/configuring-connected-apps/README.md +99 -0
  112. package/skills/configuring-connected-apps/SKILL.md +224 -0
  113. package/skills/configuring-connected-apps/assets/connected-app-basic.xml +29 -0
  114. package/skills/configuring-connected-apps/assets/connected-app-canvas.xml +62 -0
  115. package/skills/configuring-connected-apps/assets/connected-app-jwt.xml +49 -0
  116. package/skills/configuring-connected-apps/assets/connected-app-oauth.xml +65 -0
  117. package/skills/configuring-connected-apps/assets/eca-global-oauth.xml +36 -0
  118. package/skills/configuring-connected-apps/assets/eca-oauth-settings.xml +36 -0
  119. package/skills/configuring-connected-apps/assets/eca-policies.xml +36 -0
  120. package/skills/configuring-connected-apps/assets/external-client-app.xml +35 -0
  121. package/skills/configuring-connected-apps/references/example-usage.md +256 -0
  122. package/skills/configuring-connected-apps/references/migration-guide.md +328 -0
  123. package/skills/configuring-connected-apps/references/oauth-flows-reference.md +660 -0
  124. package/skills/configuring-connected-apps/references/security-checklist.md +209 -0
  125. package/skills/configuring-connected-apps/references/testing-validation-guide.md +275 -0
  126. package/skills/connecting-datacloud/CREDITS.md +5 -0
  127. package/skills/connecting-datacloud/README.md +59 -0
  128. package/skills/connecting-datacloud/SKILL.md +155 -0
  129. package/skills/connecting-datacloud/examples/connections/heroku-postgres.json +15 -0
  130. package/skills/connecting-datacloud/examples/connections/ingest-api-connection.json +5 -0
  131. package/skills/connecting-datacloud/examples/connections/ingest-api-schema.json +31 -0
  132. package/skills/connecting-datacloud/examples/connections/redshift.json +16 -0
  133. package/skills/connecting-datacloud/examples/connections/sharepoint-unstructured.json +20 -0
  134. package/skills/connecting-datacloud/examples/connections/snowflake-connection.json +42 -0
  135. package/skills/debugging-apex-logs/CREDITS.md +22 -0
  136. package/skills/debugging-apex-logs/README.md +74 -0
  137. package/skills/debugging-apex-logs/SKILL.md +172 -0
  138. package/skills/debugging-apex-logs/assets/benchmarking-template.cls +327 -0
  139. package/skills/debugging-apex-logs/assets/cpu-heap-optimization.cls +307 -0
  140. package/skills/debugging-apex-logs/assets/dml-in-loop-fix.cls +219 -0
  141. package/skills/debugging-apex-logs/assets/null-pointer-fix.cls +252 -0
  142. package/skills/debugging-apex-logs/assets/soql-in-loop-fix.cls +157 -0
  143. package/skills/debugging-apex-logs/references/analysis-playbook.md +53 -0
  144. package/skills/debugging-apex-logs/references/benchmarking-guide.md +287 -0
  145. package/skills/debugging-apex-logs/references/cli-commands.md +368 -0
  146. package/skills/debugging-apex-logs/references/common-issues.md +68 -0
  147. package/skills/debugging-apex-logs/references/debug-log-reference.md +328 -0
  148. package/skills/debugging-apex-logs/references/log-analysis-tools.md +248 -0
  149. package/skills/debugging-apex-logs/references/scoring-rubric.md +21 -0
  150. package/skills/deploying-metadata/CREDITS.md +25 -0
  151. package/skills/deploying-metadata/README.md +104 -0
  152. package/skills/deploying-metadata/SKILL.md +214 -0
  153. package/skills/deploying-metadata/assets/destructiveChanges.xml +143 -0
  154. package/skills/deploying-metadata/assets/package.xml +121 -0
  155. package/skills/deploying-metadata/references/agent-deployment-guide.md +628 -0
  156. package/skills/deploying-metadata/references/deploy.sh +73 -0
  157. package/skills/deploying-metadata/references/deployment-report-template.md +89 -0
  158. package/skills/deploying-metadata/references/deployment-workflows.md +395 -0
  159. package/skills/deploying-metadata/references/orchestration.md +183 -0
  160. package/skills/deploying-metadata/references/trigger-deployment-safety.md +376 -0
  161. package/skills/deploying-omnistudio-datapacks/CREDITS.md +5 -0
  162. package/skills/deploying-omnistudio-datapacks/README.md +88 -0
  163. package/skills/deploying-omnistudio-datapacks/SKILL.md +174 -0
  164. package/skills/deploying-omnistudio-datapacks/examples/business-internet-plus-bundle/TRANSCRIPT.md +124 -0
  165. package/skills/deploying-omnistudio-datapacks/examples/business-internet-plus-bundle/deploy-business-internet-plus-bundle.yaml +11 -0
  166. package/skills/deploying-omnistudio-datapacks/examples/business-internet-plus-bundle-deploy/TRANSCRIPT.md +142 -0
  167. package/skills/deploying-omnistudio-datapacks/examples/business-internet-plus-bundle-deploy/deploy-business-internet-plus-bundle.yaml +10 -0
  168. package/skills/deploying-omnistudio-datapacks/references/job-file-template.md +42 -0
  169. package/skills/deploying-omnistudio-datapacks/references/troubleshooting-matrix.md +24 -0
  170. package/skills/developing-agentforce/assets/metadata/http-callout-flow.flow-meta.xml +1 -1
  171. package/skills/developing-agentforce/references/actions-reference.md +8 -8
  172. package/skills/fetching-salesforce-docs/README.md +66 -0
  173. package/skills/fetching-salesforce-docs/SKILL.md +209 -0
  174. package/skills/fetching-salesforce-docs/requirements.txt +2 -0
  175. package/skills/fetching-salesforce-docs/scripts/extract_help_salesforce.py +497 -0
  176. package/skills/fetching-salesforce-docs/scripts/extract_salesforce_doc.py +357 -0
  177. package/skills/fetching-salesforce-docs/scripts/runtime_bootstrap.py +58 -0
  178. package/skills/generating-apex/CREDITS.md +1 -26
  179. package/skills/generating-apex-test/CREDITS.md +2 -27
  180. package/skills/generating-lwc-components/CREDITS.md +5 -0
  181. package/skills/generating-lwc-components/README.md +126 -0
  182. package/skills/generating-lwc-components/SKILL.md +191 -0
  183. package/skills/generating-lwc-components/assets/apex-controller/LwcController.cls +327 -0
  184. package/skills/generating-lwc-components/assets/basic-component/basicComponent.css +72 -0
  185. package/skills/generating-lwc-components/assets/basic-component/basicComponent.html +111 -0
  186. package/skills/generating-lwc-components/assets/basic-component/basicComponent.js +163 -0
  187. package/skills/generating-lwc-components/assets/basic-component/basicComponent.js-meta.xml +137 -0
  188. package/skills/generating-lwc-components/assets/datatable-component/datatableComponent.html +111 -0
  189. package/skills/generating-lwc-components/assets/datatable-component/datatableComponent.js +367 -0
  190. package/skills/generating-lwc-components/assets/flow-screen-component/flowScreenComponent.css +63 -0
  191. package/skills/generating-lwc-components/assets/flow-screen-component/flowScreenComponent.html +154 -0
  192. package/skills/generating-lwc-components/assets/flow-screen-component/flowScreenComponent.js +348 -0
  193. package/skills/generating-lwc-components/assets/flow-screen-component/flowScreenComponent.js-meta.xml +87 -0
  194. package/skills/generating-lwc-components/assets/form-component/formComponent.html +165 -0
  195. package/skills/generating-lwc-components/assets/form-component/formComponent.js +275 -0
  196. package/skills/generating-lwc-components/assets/graphql-component/graphqlComponent.html +100 -0
  197. package/skills/generating-lwc-components/assets/graphql-component/graphqlComponent.js +336 -0
  198. package/skills/generating-lwc-components/assets/jest-test/componentName.test.js.example +371 -0
  199. package/skills/generating-lwc-components/assets/message-channel/RecordSelected.messageChannel-meta.xml +71 -0
  200. package/skills/generating-lwc-components/assets/message-channel/lmsPublisher.js +103 -0
  201. package/skills/generating-lwc-components/assets/message-channel/lmsSubscriber.js +181 -0
  202. package/skills/generating-lwc-components/assets/modal-component/modalComponent.html +85 -0
  203. package/skills/generating-lwc-components/assets/modal-component/modalComponent.js +199 -0
  204. package/skills/generating-lwc-components/assets/record-picker/recordPicker.html +55 -0
  205. package/skills/generating-lwc-components/assets/record-picker/recordPicker.js +199 -0
  206. package/skills/generating-lwc-components/assets/state-store/store.js +282 -0
  207. package/skills/generating-lwc-components/assets/typescript-component/typescriptComponent.css +65 -0
  208. package/skills/generating-lwc-components/assets/typescript-component/typescriptComponent.html +95 -0
  209. package/skills/generating-lwc-components/assets/typescript-component/typescriptComponent.js-meta.xml +75 -0
  210. package/skills/generating-lwc-components/assets/typescript-component/typescriptComponent.test.ts.example +301 -0
  211. package/skills/generating-lwc-components/assets/typescript-component/typescriptComponent.ts +295 -0
  212. package/skills/generating-lwc-components/assets/workspace-api/workspaceComponent.html +71 -0
  213. package/skills/generating-lwc-components/assets/workspace-api/workspaceComponent.js +316 -0
  214. package/skills/generating-lwc-components/hooks/scripts/lwc-lsp-validate.py +295 -0
  215. package/skills/generating-lwc-components/hooks/scripts/post-tool-validate.py +347 -0
  216. package/skills/generating-lwc-components/hooks/scripts/slds_data/deprecated_patterns.json +74 -0
  217. package/skills/generating-lwc-components/hooks/scripts/slds_data/styling_hooks.json +111 -0
  218. package/skills/generating-lwc-components/hooks/scripts/slds_data/valid_slds_classes.json +127 -0
  219. package/skills/generating-lwc-components/hooks/scripts/slds_linter_wrapper.py +294 -0
  220. package/skills/generating-lwc-components/hooks/scripts/slds_rules/__init__.py +22 -0
  221. package/skills/generating-lwc-components/hooks/scripts/template_validator.py +332 -0
  222. package/skills/generating-lwc-components/hooks/scripts/validate_slds.py +595 -0
  223. package/skills/generating-lwc-components/references/accessibility-guide.md +843 -0
  224. package/skills/generating-lwc-components/references/advanced-features.md +108 -0
  225. package/skills/generating-lwc-components/references/async-notification-patterns.md +661 -0
  226. package/skills/generating-lwc-components/references/cli-commands.md +545 -0
  227. package/skills/generating-lwc-components/references/component-patterns.md +1476 -0
  228. package/skills/generating-lwc-components/references/flow-integration-guide.md +675 -0
  229. package/skills/generating-lwc-components/references/jest-testing.md +1011 -0
  230. package/skills/generating-lwc-components/references/lms-guide.md +860 -0
  231. package/skills/generating-lwc-components/references/lwc-best-practices.md +1310 -0
  232. package/skills/generating-lwc-components/references/performance-guide.md +861 -0
  233. package/skills/generating-lwc-components/references/scoring-and-testing.md +116 -0
  234. package/skills/generating-lwc-components/references/slds-blueprints.json +14389 -0
  235. package/skills/generating-lwc-components/references/slds-design-guide.md +166 -0
  236. package/skills/generating-lwc-components/references/state-management.md +642 -0
  237. package/skills/generating-lwc-components/references/template-anti-patterns.md +948 -0
  238. package/skills/generating-lwc-components/references/triangle-pattern.md +365 -0
  239. package/skills/generating-lwc-components/scripts/local-dev-preview.sh +34 -0
  240. package/skills/generating-mermaid-diagrams/CREDITS.md +46 -0
  241. package/skills/generating-mermaid-diagrams/README.md +114 -0
  242. package/skills/generating-mermaid-diagrams/SKILL.md +218 -0
  243. package/skills/generating-mermaid-diagrams/assets/agentforce/agent-flow.md +313 -0
  244. package/skills/generating-mermaid-diagrams/assets/architecture/system-landscape.md +351 -0
  245. package/skills/generating-mermaid-diagrams/assets/datamodel/b2b-commerce-erd.md +317 -0
  246. package/skills/generating-mermaid-diagrams/assets/datamodel/campaigns-erd.md +195 -0
  247. package/skills/generating-mermaid-diagrams/assets/datamodel/consent-erd.md +262 -0
  248. package/skills/generating-mermaid-diagrams/assets/datamodel/files-erd.md +266 -0
  249. package/skills/generating-mermaid-diagrams/assets/datamodel/forecasting-erd.md +261 -0
  250. package/skills/generating-mermaid-diagrams/assets/datamodel/fsl-erd.md +332 -0
  251. package/skills/generating-mermaid-diagrams/assets/datamodel/party-model-erd.md +237 -0
  252. package/skills/generating-mermaid-diagrams/assets/datamodel/quote-order-erd.md +277 -0
  253. package/skills/generating-mermaid-diagrams/assets/datamodel/revenue-cloud-erd.md +343 -0
  254. package/skills/generating-mermaid-diagrams/assets/datamodel/sales-cloud-erd.md +192 -0
  255. package/skills/generating-mermaid-diagrams/assets/datamodel/salesforce-erd.md +209 -0
  256. package/skills/generating-mermaid-diagrams/assets/datamodel/scheduler-erd.md +276 -0
  257. package/skills/generating-mermaid-diagrams/assets/datamodel/service-cloud-erd.md +217 -0
  258. package/skills/generating-mermaid-diagrams/assets/datamodel/territory-management-erd.md +241 -0
  259. package/skills/generating-mermaid-diagrams/assets/integration/api-sequence.md +387 -0
  260. package/skills/generating-mermaid-diagrams/assets/oauth/authorization-code-pkce.md +197 -0
  261. package/skills/generating-mermaid-diagrams/assets/oauth/authorization-code.md +152 -0
  262. package/skills/generating-mermaid-diagrams/assets/oauth/client-credentials.md +233 -0
  263. package/skills/generating-mermaid-diagrams/assets/oauth/device-authorization.md +295 -0
  264. package/skills/generating-mermaid-diagrams/assets/oauth/jwt-bearer.md +256 -0
  265. package/skills/generating-mermaid-diagrams/assets/oauth/refresh-token.md +281 -0
  266. package/skills/generating-mermaid-diagrams/assets/oauth/user-agent-social-sign-on.md +281 -0
  267. package/skills/generating-mermaid-diagrams/assets/role-hierarchy/user-hierarchy.md +322 -0
  268. package/skills/generating-mermaid-diagrams/references/color-palette.md +464 -0
  269. package/skills/generating-mermaid-diagrams/references/diagram-conventions.md +313 -0
  270. package/skills/generating-mermaid-diagrams/references/erd-conventions.md +320 -0
  271. package/skills/generating-mermaid-diagrams/references/mermaid-reference.md +434 -0
  272. package/skills/generating-mermaid-diagrams/references/mermaid-styling.md +81 -0
  273. package/skills/generating-mermaid-diagrams/references/preview-guide.md +49 -0
  274. package/skills/generating-mermaid-diagrams/references/usage-examples.md +340 -0
  275. package/skills/generating-mermaid-diagrams/scripts/README.md +160 -0
  276. package/skills/generating-mermaid-diagrams/scripts/mermaid_preview.py +654 -0
  277. package/skills/generating-mermaid-diagrams/scripts/query-org-metadata.py +293 -0
  278. package/skills/generating-visual-diagrams/CREDITS.md +80 -0
  279. package/skills/generating-visual-diagrams/README.md +83 -0
  280. package/skills/generating-visual-diagrams/SKILL.md +208 -0
  281. package/skills/generating-visual-diagrams/assets/architecture/integration-flow.md +55 -0
  282. package/skills/generating-visual-diagrams/assets/erd/core-objects.md +131 -0
  283. package/skills/generating-visual-diagrams/assets/erd/custom-objects.md +60 -0
  284. package/skills/generating-visual-diagrams/assets/lwc/dashboard-card.md +45 -0
  285. package/skills/generating-visual-diagrams/assets/lwc/data-table.md +57 -0
  286. package/skills/generating-visual-diagrams/assets/lwc/record-form.md +60 -0
  287. package/skills/generating-visual-diagrams/assets/review/apex-review.md +57 -0
  288. package/skills/generating-visual-diagrams/assets/review/lwc-review.md +48 -0
  289. package/skills/generating-visual-diagrams/references/architect-aesthetic-guide.md +257 -0
  290. package/skills/generating-visual-diagrams/references/examples-index.md +35 -0
  291. package/skills/generating-visual-diagrams/references/gemini-cli-setup.md +65 -0
  292. package/skills/generating-visual-diagrams/references/interview-questions.md +529 -0
  293. package/skills/generating-visual-diagrams/references/iteration-workflow.md +173 -0
  294. package/skills/generating-visual-diagrams/scripts/check-prerequisites.sh +101 -0
  295. package/skills/generating-visual-diagrams/scripts/generate_image.py +243 -0
  296. package/skills/handling-sf-data/CREDITS.md +5 -0
  297. package/skills/handling-sf-data/README.md +112 -0
  298. package/skills/handling-sf-data/SKILL.md +235 -0
  299. package/skills/handling-sf-data/assets/bulk/bulk-insert-10000.apex +293 -0
  300. package/skills/handling-sf-data/assets/bulk/bulk-insert-200.apex +208 -0
  301. package/skills/handling-sf-data/assets/bulk/bulk-insert-500.apex +219 -0
  302. package/skills/handling-sf-data/assets/bulk/bulk-upsert-external-id.apex +324 -0
  303. package/skills/handling-sf-data/assets/cleanup/delete-by-created-date.apex +319 -0
  304. package/skills/handling-sf-data/assets/cleanup/delete-by-name.apex +240 -0
  305. package/skills/handling-sf-data/assets/cleanup/delete-test-data.apex +311 -0
  306. package/skills/handling-sf-data/assets/cleanup/rollback-transaction.apex +266 -0
  307. package/skills/handling-sf-data/assets/csv/account-import.csv +11 -0
  308. package/skills/handling-sf-data/assets/csv/contact-import.csv +11 -0
  309. package/skills/handling-sf-data/assets/csv/custom-object-import.csv +11 -0
  310. package/skills/handling-sf-data/assets/csv/opportunity-import.csv +11 -0
  311. package/skills/handling-sf-data/assets/factories/account-factory.apex +165 -0
  312. package/skills/handling-sf-data/assets/factories/case-factory.apex +237 -0
  313. package/skills/handling-sf-data/assets/factories/contact-factory.apex +168 -0
  314. package/skills/handling-sf-data/assets/factories/custom-object-factory.apex +260 -0
  315. package/skills/handling-sf-data/assets/factories/event-factory.apex +275 -0
  316. package/skills/handling-sf-data/assets/factories/hierarchy-factory.apex +372 -0
  317. package/skills/handling-sf-data/assets/factories/lead-factory.apex +190 -0
  318. package/skills/handling-sf-data/assets/factories/opportunity-factory.apex +206 -0
  319. package/skills/handling-sf-data/assets/factories/task-factory.apex +246 -0
  320. package/skills/handling-sf-data/assets/factories/user-factory.apex +278 -0
  321. package/skills/handling-sf-data/assets/json/account-contact-tree.json +130 -0
  322. package/skills/handling-sf-data/assets/json/account-opportunity-tree.json +110 -0
  323. package/skills/handling-sf-data/assets/json/full-hierarchy-tree.json +188 -0
  324. package/skills/handling-sf-data/assets/soql/aggregate.soql +226 -0
  325. package/skills/handling-sf-data/assets/soql/child-to-parent.soql +162 -0
  326. package/skills/handling-sf-data/assets/soql/parent-to-child.soql +153 -0
  327. package/skills/handling-sf-data/assets/soql/polymorphic.soql +198 -0
  328. package/skills/handling-sf-data/assets/soql/subquery.soql +287 -0
  329. package/skills/handling-sf-data/references/anonymous-apex-guide.md +98 -0
  330. package/skills/handling-sf-data/references/bulk-operations-guide.md +94 -0
  331. package/skills/handling-sf-data/references/bulk-testing-example.md +194 -0
  332. package/skills/handling-sf-data/references/cleanup-rollback-example.md +322 -0
  333. package/skills/handling-sf-data/references/cleanup-rollback-guide.md +84 -0
  334. package/skills/handling-sf-data/references/crud-workflow-example.md +183 -0
  335. package/skills/handling-sf-data/references/governor-limits-reference.md +74 -0
  336. package/skills/handling-sf-data/references/orchestration.md +174 -0
  337. package/skills/handling-sf-data/references/relationship-query-examples.md +249 -0
  338. package/skills/handling-sf-data/references/sf-cli-data-commands.md +158 -0
  339. package/skills/handling-sf-data/references/soql-relationship-guide.md +84 -0
  340. package/skills/handling-sf-data/references/test-data-best-practices.md +104 -0
  341. package/skills/handling-sf-data/references/test-data-factory-usage.md +290 -0
  342. package/skills/handling-sf-data/references/test-data-patterns.md +98 -0
  343. package/skills/handling-sf-data/scripts/soql_validator.py +292 -0
  344. package/skills/handling-sf-data/scripts/validate_data_operation.py +379 -0
  345. package/skills/harmonizing-datacloud/CREDITS.md +3 -0
  346. package/skills/harmonizing-datacloud/README.md +31 -0
  347. package/skills/harmonizing-datacloud/SKILL.md +117 -0
  348. package/skills/modeling-omnistudio-epc-catalog/CREDITS.md +14 -0
  349. package/skills/modeling-omnistudio-epc-catalog/README.md +89 -0
  350. package/skills/modeling-omnistudio-epc-catalog/SKILL.md +395 -0
  351. package/skills/modeling-omnistudio-epc-catalog/assets/attribute-assignment-template.json +402 -0
  352. package/skills/modeling-omnistudio-epc-catalog/assets/compiled-attribute-overrides-template.json +43 -0
  353. package/skills/modeling-omnistudio-epc-catalog/assets/completion-block-template.txt +8 -0
  354. package/skills/modeling-omnistudio-epc-catalog/assets/decomposition-relationships-template.json +233 -0
  355. package/skills/modeling-omnistudio-epc-catalog/assets/examples/business-internet-premium-fttc-simple-offer/Business-Internet-Premium-FTTC_AttributeAssignments.json +514 -0
  356. package/skills/modeling-omnistudio-epc-catalog/assets/examples/business-internet-premium-fttc-simple-offer/Business-Internet-Premium-FTTC_CompiledAttributeOverrides.json +21 -0
  357. package/skills/modeling-omnistudio-epc-catalog/assets/examples/business-internet-premium-fttc-simple-offer/Business-Internet-Premium-FTTC_DataPack.json +649 -0
  358. package/skills/modeling-omnistudio-epc-catalog/assets/examples/business-internet-premium-fttc-simple-offer/Business-Internet-Premium-FTTC_DecompositionRelationships.json +200 -0
  359. package/skills/modeling-omnistudio-epc-catalog/assets/examples/business-internet-premium-fttc-simple-offer/Business-Internet-Premium-FTTC_ObjectFieldAttributes.json +138 -0
  360. package/skills/modeling-omnistudio-epc-catalog/assets/examples/business-internet-premium-fttc-simple-offer/Business-Internet-Premium-FTTC_OrchestrationScenarios.json +54 -0
  361. package/skills/modeling-omnistudio-epc-catalog/assets/examples/business-internet-premium-fttc-simple-offer/Business-Internet-Premium-FTTC_OverrideDefinitions.json +266 -0
  362. package/skills/modeling-omnistudio-epc-catalog/assets/examples/business-internet-premium-fttc-simple-offer/Business-Internet-Premium-FTTC_ParentKeys.json +23 -0
  363. package/skills/modeling-omnistudio-epc-catalog/assets/examples/business-internet-premium-fttc-simple-offer/Business-Internet-Premium-FTTC_PriceListEntries.json +54 -0
  364. package/skills/modeling-omnistudio-epc-catalog/assets/examples/business-internet-premium-fttc-simple-offer/Business-Internet-Premium-FTTC_PricebookEntries.json +35 -0
  365. package/skills/modeling-omnistudio-epc-catalog/assets/examples/business-internet-premium-fttc-simple-offer/Business-Internet-Premium-FTTC_ProductChildItems.json +34 -0
  366. package/skills/modeling-omnistudio-epc-catalog/assets/examples/business-internet-premium-fttc-simple-offer/Business-Internet-Premium-FTTC_RuleAssignments.json +21 -0
  367. package/skills/modeling-omnistudio-epc-catalog/assets/examples/business-internet-pro-vpl-simple-offer/Business-Internet-Pro-VPL_AttributeAssignments.json +410 -0
  368. package/skills/modeling-omnistudio-epc-catalog/assets/examples/business-internet-pro-vpl-simple-offer/Business-Internet-Pro-VPL_DataPack.json +535 -0
  369. package/skills/modeling-omnistudio-epc-catalog/assets/examples/business-internet-pro-vpl-simple-offer/Business-Internet-Pro-VPL_DecompositionRelationships.json +35 -0
  370. package/skills/modeling-omnistudio-epc-catalog/assets/examples/business-internet-pro-vpl-simple-offer/Business-Internet-Pro-VPL_ObjectFieldAttributes.json +138 -0
  371. package/skills/modeling-omnistudio-epc-catalog/assets/examples/business-internet-pro-vpl-simple-offer/Business-Internet-Pro-VPL_OrchestrationScenarios.json +28 -0
  372. package/skills/modeling-omnistudio-epc-catalog/assets/examples/business-internet-pro-vpl-simple-offer/Business-Internet-Pro-VPL_ParentKeys.json +23 -0
  373. package/skills/modeling-omnistudio-epc-catalog/assets/examples/business-internet-pro-vpl-simple-offer/Business-Internet-Pro-VPL_PriceListEntries.json +220 -0
  374. package/skills/modeling-omnistudio-epc-catalog/assets/examples/business-internet-pro-vpl-simple-offer/Business-Internet-Pro-VPL_PricebookEntries.json +35 -0
  375. package/skills/modeling-omnistudio-epc-catalog/assets/examples/business-internet-pro-vpl-simple-offer/Business-Internet-Pro-VPL_ProductChildItems.json +414 -0
  376. package/skills/modeling-omnistudio-epc-catalog/assets/examples/samsung-galaxy-s22-bundle/Samsung-Galaxy-S22-Bundle_AttributeAssignments.json +382 -0
  377. package/skills/modeling-omnistudio-epc-catalog/assets/examples/samsung-galaxy-s22-bundle/Samsung-Galaxy-S22-Bundle_DataPack.json +565 -0
  378. package/skills/modeling-omnistudio-epc-catalog/assets/examples/samsung-galaxy-s22-bundle/Samsung-Galaxy-S22-Bundle_DecompositionRelationships.json +35 -0
  379. package/skills/modeling-omnistudio-epc-catalog/assets/examples/samsung-galaxy-s22-bundle/Samsung-Galaxy-S22-Bundle_ObjectFieldAttributes.json +104 -0
  380. package/skills/modeling-omnistudio-epc-catalog/assets/examples/samsung-galaxy-s22-bundle/Samsung-Galaxy-S22-Bundle_OrchestrationScenarios.json +28 -0
  381. package/skills/modeling-omnistudio-epc-catalog/assets/examples/samsung-galaxy-s22-bundle/Samsung-Galaxy-S22-Bundle_ParentKeys.json +13 -0
  382. package/skills/modeling-omnistudio-epc-catalog/assets/examples/samsung-galaxy-s22-bundle/Samsung-Galaxy-S22-Bundle_PriceListEntries.json +106 -0
  383. package/skills/modeling-omnistudio-epc-catalog/assets/examples/samsung-galaxy-s22-bundle/Samsung-Galaxy-S22-Bundle_PricebookEntries.json +35 -0
  384. package/skills/modeling-omnistudio-epc-catalog/assets/examples/samsung-galaxy-s22-bundle/Samsung-Galaxy-S22-Bundle_ProductChildItems.json +72 -0
  385. package/skills/modeling-omnistudio-epc-catalog/assets/examples/static-ip-simple-offer/Static-IP_AttributeAssignments.json +142 -0
  386. package/skills/modeling-omnistudio-epc-catalog/assets/examples/static-ip-simple-offer/Static-IP_DataPack.json +377 -0
  387. package/skills/modeling-omnistudio-epc-catalog/assets/examples/static-ip-simple-offer/Static-IP_DecompositionRelationships.json +35 -0
  388. package/skills/modeling-omnistudio-epc-catalog/assets/examples/static-ip-simple-offer/Static-IP_ObjectFieldAttributes.json +36 -0
  389. package/skills/modeling-omnistudio-epc-catalog/assets/examples/static-ip-simple-offer/Static-IP_ParentKeys.json +8 -0
  390. package/skills/modeling-omnistudio-epc-catalog/assets/examples/static-ip-simple-offer/Static-IP_PriceListEntries.json +54 -0
  391. package/skills/modeling-omnistudio-epc-catalog/assets/examples/static-ip-simple-offer/Static-IP_PricebookEntries.json +35 -0
  392. package/skills/modeling-omnistudio-epc-catalog/assets/examples/static-ip-simple-offer/Static-IP_ProductChildItems.json +34 -0
  393. package/skills/modeling-omnistudio-epc-catalog/assets/object-field-attributes-template.json +138 -0
  394. package/skills/modeling-omnistudio-epc-catalog/assets/orchestration-scenarios-template.json +54 -0
  395. package/skills/modeling-omnistudio-epc-catalog/assets/override-definitions-template.json +134 -0
  396. package/skills/modeling-omnistudio-epc-catalog/assets/parent-keys-template.json +29 -0
  397. package/skills/modeling-omnistudio-epc-catalog/assets/price-list-entries-template.json +158 -0
  398. package/skills/modeling-omnistudio-epc-catalog/assets/pricebook-entries-template.json +35 -0
  399. package/skills/modeling-omnistudio-epc-catalog/assets/product-child-item-template.json +338 -0
  400. package/skills/modeling-omnistudio-epc-catalog/assets/product2-offer-template.json +527 -0
  401. package/skills/modeling-omnistudio-epc-catalog/examples/.gitkeep +1 -0
  402. package/skills/modeling-omnistudio-epc-catalog/examples/business-internet-plus-bundle/Business-Internet-Plus_AttributeAssignments.json +95 -0
  403. package/skills/modeling-omnistudio-epc-catalog/examples/business-internet-plus-bundle/Business-Internet-Plus_CompiledAttributeOverrides.json +1 -0
  404. package/skills/modeling-omnistudio-epc-catalog/examples/business-internet-plus-bundle/Business-Internet-Plus_DataPack.json +214 -0
  405. package/skills/modeling-omnistudio-epc-catalog/examples/business-internet-plus-bundle/Business-Internet-Plus_DecompositionRelationships.json +28 -0
  406. package/skills/modeling-omnistudio-epc-catalog/examples/business-internet-plus-bundle/Business-Internet-Plus_ObjectFieldAttributes.json +98 -0
  407. package/skills/modeling-omnistudio-epc-catalog/examples/business-internet-plus-bundle/Business-Internet-Plus_OrchestrationScenarios.json +22 -0
  408. package/skills/modeling-omnistudio-epc-catalog/examples/business-internet-plus-bundle/Business-Internet-Plus_OverrideDefinitions.json +1 -0
  409. package/skills/modeling-omnistudio-epc-catalog/examples/business-internet-plus-bundle/Business-Internet-Plus_ParentKeys.json +13 -0
  410. package/skills/modeling-omnistudio-epc-catalog/examples/business-internet-plus-bundle/Business-Internet-Plus_PriceListEntries.json +35 -0
  411. package/skills/modeling-omnistudio-epc-catalog/examples/business-internet-plus-bundle/Business-Internet-Plus_PricebookEntries.json +28 -0
  412. package/skills/modeling-omnistudio-epc-catalog/examples/business-internet-plus-bundle/Business-Internet-Plus_ProductChildItems.json +110 -0
  413. package/skills/modeling-omnistudio-epc-catalog/examples/business-internet-plus-bundle/TRANSCRIPT.md +58 -0
  414. package/skills/modeling-omnistudio-epc-catalog/references/epc-field-guide.md +90 -0
  415. package/skills/modeling-omnistudio-epc-catalog/references/naming-conventions.md +80 -0
  416. package/skills/modeling-omnistudio-epc-catalog/references/scoring-model.md +57 -0
  417. package/skills/modeling-omnistudio-epc-catalog/scripts/cli-validation-commands.sh +19 -0
  418. package/skills/modeling-omnistudio-epc-catalog/scripts/sample-invocations.sh +18 -0
  419. package/skills/orchestrating-datacloud/CREDITS.md +15 -0
  420. package/skills/orchestrating-datacloud/README.md +129 -0
  421. package/skills/orchestrating-datacloud/SKILL.md +236 -0
  422. package/skills/orchestrating-datacloud/UPSTREAM.md +45 -0
  423. package/skills/orchestrating-datacloud/assets/definitions/activation-target.template.json +5 -0
  424. package/skills/orchestrating-datacloud/assets/definitions/activation.template.json +7 -0
  425. package/skills/orchestrating-datacloud/assets/definitions/calculated-insight.template.json +7 -0
  426. package/skills/orchestrating-datacloud/assets/definitions/data-action-target.template.json +5 -0
  427. package/skills/orchestrating-datacloud/assets/definitions/data-action.template.json +5 -0
  428. package/skills/orchestrating-datacloud/assets/definitions/data-graph.template.json +21 -0
  429. package/skills/orchestrating-datacloud/assets/definitions/data-stream.template.json +55 -0
  430. package/skills/orchestrating-datacloud/assets/definitions/dmo.template.json +17 -0
  431. package/skills/orchestrating-datacloud/assets/definitions/identity-resolution.template.json +30 -0
  432. package/skills/orchestrating-datacloud/assets/definitions/mapping.template.json +14 -0
  433. package/skills/orchestrating-datacloud/assets/definitions/relationship.template.json +12 -0
  434. package/skills/orchestrating-datacloud/assets/definitions/search-index.template.json +9 -0
  435. package/skills/orchestrating-datacloud/assets/definitions/segment.template.json +16 -0
  436. package/skills/orchestrating-datacloud/references/feature-readiness.md +157 -0
  437. package/skills/orchestrating-datacloud/references/plugin-setup.md +140 -0
  438. package/skills/orchestrating-datacloud/scripts/bootstrap-plugin.sh +53 -0
  439. package/skills/orchestrating-datacloud/scripts/diagnose-org.mjs +511 -0
  440. package/skills/orchestrating-datacloud/scripts/generate-manifest.mjs +68 -0
  441. package/skills/orchestrating-datacloud/scripts/verify-plugin.sh +58 -0
  442. package/skills/preparing-datacloud/CREDITS.md +7 -0
  443. package/skills/preparing-datacloud/README.md +51 -0
  444. package/skills/preparing-datacloud/SKILL.md +191 -0
  445. package/skills/preparing-datacloud/examples/ingestion-api/.env.example +8 -0
  446. package/skills/preparing-datacloud/examples/ingestion-api/README.md +48 -0
  447. package/skills/preparing-datacloud/examples/ingestion-api/send-data.py +144 -0
  448. package/skills/querying-soql/CREDITS.md +21 -0
  449. package/skills/querying-soql/README.md +41 -0
  450. package/skills/querying-soql/SKILL.md +143 -0
  451. package/skills/querying-soql/assets/aggregate-queries.soql +242 -0
  452. package/skills/querying-soql/assets/basic-queries.soql +188 -0
  453. package/skills/querying-soql/assets/bulkified-query-pattern.cls +280 -0
  454. package/skills/querying-soql/assets/optimization-patterns.soql +259 -0
  455. package/skills/querying-soql/assets/relationship-queries.soql +203 -0
  456. package/skills/querying-soql/assets/selector-class.cls +219 -0
  457. package/skills/querying-soql/references/anti-patterns.md +348 -0
  458. package/skills/querying-soql/references/cli-commands.md +358 -0
  459. package/skills/querying-soql/references/field-coverage-rules.md +514 -0
  460. package/skills/querying-soql/references/query-optimization.md +142 -0
  461. package/skills/querying-soql/references/selector-patterns.md +479 -0
  462. package/skills/querying-soql/references/soql-reference.md +227 -0
  463. package/skills/querying-soql/references/soql-syntax-reference.md +208 -0
  464. package/skills/querying-soql/scripts/post-tool-validate.py +322 -0
  465. package/skills/retrieving-datacloud/CREDITS.md +7 -0
  466. package/skills/retrieving-datacloud/README.md +44 -0
  467. package/skills/retrieving-datacloud/SKILL.md +120 -0
  468. package/skills/retrieving-datacloud/examples/search-indexes/hybrid-structured.json +44 -0
  469. package/skills/retrieving-datacloud/examples/search-indexes/vector-knowledge.json +43 -0
  470. package/skills/running-apex-tests/CREDITS.md +22 -0
  471. package/skills/running-apex-tests/README.md +94 -0
  472. package/skills/running-apex-tests/SKILL.md +158 -0
  473. package/skills/running-apex-tests/assets/basic-test.cls +169 -0
  474. package/skills/running-apex-tests/assets/bulk-test.cls +255 -0
  475. package/skills/running-apex-tests/assets/dml-mock.cls +339 -0
  476. package/skills/running-apex-tests/assets/mock-callout-test.cls +353 -0
  477. package/skills/running-apex-tests/assets/stub-provider-example.cls +364 -0
  478. package/skills/running-apex-tests/assets/test-data-factory.cls +328 -0
  479. package/skills/running-apex-tests/hooks/scripts/parse-test-results.py +364 -0
  480. package/skills/running-apex-tests/references/cli-commands.md +289 -0
  481. package/skills/running-apex-tests/references/mocking-patterns.md +500 -0
  482. package/skills/running-apex-tests/references/performance-optimization.md +283 -0
  483. package/skills/running-apex-tests/references/test-fix-loop.md +49 -0
  484. package/skills/running-apex-tests/references/test-patterns.md +154 -0
  485. package/skills/running-apex-tests/references/testing-best-practices.md +509 -0
  486. package/skills/segmenting-datacloud/CREDITS.md +3 -0
  487. package/skills/segmenting-datacloud/README.md +36 -0
  488. package/skills/segmenting-datacloud/SKILL.md +115 -0
@@ -0,0 +1,376 @@
1
+ <!-- Parent: deploying-metadata/SKILL.md -->
2
+ # Trigger Deployment Safety Guide
3
+
4
+ ## Overview
5
+
6
+ This guide covers deployment considerations for triggers, focusing on cascade failures, atomicity patterns, and async decoupling strategies.
7
+
8
+ ---
9
+
10
+ ## 1. Understanding Cascade Failures
11
+
12
+ ### What Are Cascade Failures?
13
+
14
+ When an exception in one trigger causes rollback of operations from preceding triggers in the chain.
15
+
16
+ ```
17
+ Account Insert → AccountTrigger → ContactTrigger → OpportunityTrigger
18
+ ✓ ✓ ✗ (Exception)
19
+
20
+ All three operations ROLL BACK
21
+ ```
22
+
23
+ ### Default Behavior
24
+
25
+ - Uncaught exceptions in triggers cause rollback of **all** operations in the transaction
26
+ - This includes operations from other triggers that fired successfully
27
+ - This behavior may or may not be desired depending on business requirements
28
+
29
+ ### When Cascade Failure is DESIRED
30
+
31
+ - All operations represent ONE atomic business process
32
+ - Example: Order with line items must be complete or not exist
33
+ - Same business unit/persona owns all the data
34
+
35
+ ```apex
36
+ // DESIRED cascade: Order and OrderItems must both succeed
37
+ trigger OrderTrigger on Order__c (after insert) {
38
+ // If this fails, we WANT the Order insert to roll back
39
+ List<OrderItem__c> items = createDefaultLineItems(Trigger.new);
40
+ insert items; // Exception here rolls back Order insert - GOOD
41
+ }
42
+ ```
43
+
44
+ ### When Cascade Failure is PROBLEMATIC
45
+
46
+ - Operations represent INDEPENDENT business processes
47
+ - Example: Creating account + syncing to external CRM
48
+ - Different business units own different parts of the process
49
+
50
+ ```apex
51
+ // PROBLEMATIC cascade: CRM sync failure shouldn't prevent Account creation
52
+ trigger AccountTrigger on Account (after insert) {
53
+ // If CRM sync fails, Account creation also fails - BAD
54
+ CRMService.syncNewAccounts(Trigger.new); // Exception here rolls back Account
55
+ }
56
+ ```
57
+
58
+ ---
59
+
60
+ ## 2. Atomicity Patterns
61
+
62
+ ### Explicit Savepoints
63
+
64
+ Use `Database.setSavepoint()` for explicit transaction control within a single process.
65
+
66
+ ```apex
67
+ /**
68
+ * Demonstrates explicit atomicity control for cross-object operations
69
+ */
70
+ public class AccountOwnership {
71
+
72
+ /**
73
+ * Reassigns all related records when account owner changes.
74
+ * This is an ATOMIC operation - all changes succeed or all roll back.
75
+ */
76
+ public static void reassignRelatedRecords(
77
+ List<Account> accountsWithNewOwner,
78
+ Map<Id, Account> oldAccountsById
79
+ ) {
80
+ // Create savepoint for atomic operation
81
+ Savepoint sp = Database.setSavepoint();
82
+
83
+ try {
84
+ Map<Id, Id> newOwnerByAccountId = buildOwnerMap(accountsWithNewOwner);
85
+
86
+ // Step 1: Reassign opportunities
87
+ reassignOpportunities(newOwnerByAccountId);
88
+
89
+ // Step 2: Reassign cases
90
+ reassignCases(newOwnerByAccountId);
91
+
92
+ // Step 3: Create transition tasks
93
+ createOwnerTransitionTasks(accountsWithNewOwner, oldAccountsById);
94
+
95
+ } catch (Exception e) {
96
+ // Rollback ALL changes if ANY step fails
97
+ Database.rollback(sp);
98
+
99
+ // Log the failure for investigation
100
+ ErrorLogger.log('AccountOwnership.reassignRelatedRecords', e);
101
+
102
+ // Re-throw to inform the caller
103
+ throw new AccountOwnershipException(
104
+ 'Failed to reassign related records: ' + e.getMessage()
105
+ );
106
+ }
107
+ }
108
+ }
109
+ ```
110
+
111
+ ### When to Use Savepoints
112
+
113
+ | Scenario | Use Savepoint? | Reason |
114
+ |----------|---------------|--------|
115
+ | Multi-object update in same trigger | Yes | Ensures consistency |
116
+ | Order + OrderItems creation | Yes | Business atomicity required |
117
+ | Account + CRM sync | No | Use async decoupling instead |
118
+ | Validation that spans objects | Yes | All-or-nothing validation |
119
+
120
+ ---
121
+
122
+ ## 3. Async Decoupling Patterns
123
+
124
+ ### The Problem
125
+
126
+ After-trigger logic that represents an independent business process can cause cascade failures.
127
+
128
+ ### Solution: Queueable Jobs
129
+
130
+ ```apex
131
+ /**
132
+ * Queueable job for processing that should not block the main transaction
133
+ */
134
+ public class AccountSyncQueueable implements Queueable, Database.AllowsCallouts {
135
+
136
+ private Set<Id> accountIds;
137
+ private TriggerOperation operationType;
138
+
139
+ public AccountSyncQueueable(Set<Id> accountIds, TriggerOperation operationType) {
140
+ this.accountIds = accountIds;
141
+ this.operationType = operationType;
142
+ }
143
+
144
+ public void execute(QueueableContext context) {
145
+ try {
146
+ List<Account> accounts = [
147
+ SELECT Id, Name, Website, Industry, BillingAddress
148
+ FROM Account
149
+ WHERE Id IN :accountIds
150
+ ];
151
+
152
+ switch on operationType {
153
+ when AFTER_INSERT {
154
+ ExternalCRM.createAccounts(accounts);
155
+ }
156
+ when AFTER_UPDATE {
157
+ ExternalCRM.updateAccounts(accounts);
158
+ }
159
+ when AFTER_DELETE {
160
+ ExternalCRM.deleteAccounts(accountIds);
161
+ }
162
+ }
163
+
164
+ } catch (Exception e) {
165
+ // Log error but don't fail - this is independent of main transaction
166
+ ErrorLogger.log('AccountSyncQueueable', e, accountIds);
167
+ }
168
+ }
169
+ }
170
+ ```
171
+
172
+ ### Usage in Trigger Handler
173
+
174
+ ```apex
175
+ public void afterInsert(List<Account> newAccounts, Map<Id, Account> newAccountsById) {
176
+ // Synchronous operations that SHOULD block
177
+ AccountNotifications.notifySalesTeam(newAccounts);
178
+
179
+ // Async operations that should NOT block main transaction
180
+ if (canEnqueueJob()) {
181
+ System.enqueueJob(new AccountSyncQueueable(
182
+ newAccountsById.keySet(),
183
+ TriggerOperation.AFTER_INSERT
184
+ ));
185
+ }
186
+ }
187
+
188
+ private Boolean canEnqueueJob() {
189
+ return !System.isBatch() &&
190
+ !System.isFuture() &&
191
+ Limits.getQueueableJobs() < Limits.getLimitQueueableJobs();
192
+ }
193
+ ```
194
+
195
+ ### Platform Events for Maximum Decoupling
196
+
197
+ ```apex
198
+ // Publisher (in trigger)
199
+ EventBus.publish(new Account_Changed__e(
200
+ Account_Id__c = account.Id,
201
+ Change_Type__c = 'INSERT'
202
+ ));
203
+
204
+ // Subscriber (separate trigger on platform event)
205
+ trigger AccountChangedSubscriber on Account_Changed__e (after insert) {
206
+ // Process events - failures here don't affect original transaction
207
+ List<Id> accountIds = new List<Id>();
208
+ for (Account_Changed__e event : Trigger.new) {
209
+ accountIds.add(event.Account_Id__c);
210
+ }
211
+ // Sync to external system
212
+ }
213
+ ```
214
+
215
+ ### Decoupling Decision Matrix
216
+
217
+ | Business Process | Same User Persona? | Failure Impact | Recommendation |
218
+ |-----------------|-------------------|----------------|----------------|
219
+ | Order + Line Items | Yes | Must be atomic | Synchronous + Savepoint |
220
+ | Account + Audit Log | Yes | Can retry | Queueable |
221
+ | Account + External CRM | No | Independent | Platform Event |
222
+ | Contact + Marketing Cloud | No | Independent | Platform Event |
223
+ | Record + Email Notification | Yes | Non-critical | @future |
224
+
225
+ ---
226
+
227
+ ## 4. Pre-Deployment Checklist
228
+
229
+ ### Trigger Cascade Analysis
230
+
231
+ Before deploying triggers, analyze the cascade impact:
232
+
233
+ ```
234
+ CHECKLIST:
235
+ □ List all triggers that fire on the same transaction
236
+ □ Identify which operations are atomic (same business process)
237
+ □ Identify which operations are independent (different processes)
238
+ □ Verify exception handling in each trigger
239
+ □ Check for recursive trigger prevention
240
+ □ Review async job usage and limits
241
+ ```
242
+
243
+ ### Questions to Answer
244
+
245
+ 1. **What triggers will fire together?**
246
+ - Map the full trigger chain for each DML operation
247
+ - Include triggers on related objects (parent-child)
248
+
249
+ 2. **What happens if each trigger fails?**
250
+ - Which operations will roll back?
251
+ - Is that the desired behavior?
252
+
253
+ 3. **Are there external system calls?**
254
+ - Should they be async?
255
+ - What happens if they fail?
256
+
257
+ 4. **What about governor limits?**
258
+ - How many DML statements in the chain?
259
+ - How many SOQL queries?
260
+ - Can bulk operations stay within limits?
261
+
262
+ ---
263
+
264
+ ## 5. Testing Cascade Scenarios
265
+
266
+ ### Test Cascade Success
267
+
268
+ ```apex
269
+ @IsTest
270
+ static void testTriggerChain_AllSucceed() {
271
+ Test.startTest();
272
+ Account acc = new Account(Name = 'Test');
273
+ insert acc; // Should fire AccountTrigger, create child records, etc.
274
+ Test.stopTest();
275
+
276
+ // Verify all expected records were created
277
+ Assert.areEqual(1, [SELECT COUNT() FROM Contact WHERE AccountId = :acc.Id]);
278
+ Assert.areEqual(1, [SELECT COUNT() FROM Task WHERE WhatId = :acc.Id]);
279
+ }
280
+ ```
281
+
282
+ ### Test Cascade Failure (Expected Rollback)
283
+
284
+ ```apex
285
+ @IsTest
286
+ static void testTriggerChain_ChildFailure_RollsBack() {
287
+ // Configure scenario that will cause child trigger to fail
288
+ Test.startTest();
289
+ try {
290
+ Account acc = new Account(Name = 'Trigger Failure Test');
291
+ insert acc;
292
+ Assert.fail('Expected DmlException');
293
+ } catch (DmlException e) {
294
+ // Expected - verify Account was NOT created
295
+ Assert.areEqual(0, [SELECT COUNT() FROM Account WHERE Name = 'Trigger Failure Test']);
296
+ }
297
+ Test.stopTest();
298
+ }
299
+ ```
300
+
301
+ ### Test Async Decoupling
302
+
303
+ ```apex
304
+ @IsTest
305
+ static void testAccountInsert_CRMSyncAsync_DoesNotBlock() {
306
+ // Even if CRM sync would fail, Account should be created
307
+ Test.startTest();
308
+ Account acc = new Account(Name = 'Async Test');
309
+ insert acc;
310
+ Test.stopTest();
311
+
312
+ // Account should exist regardless of async job outcome
313
+ Assert.areEqual(1, [SELECT COUNT() FROM Account WHERE Name = 'Async Test']);
314
+
315
+ // Verify async job was enqueued
316
+ Assert.areEqual(1, [SELECT COUNT() FROM AsyncApexJob WHERE JobType = 'Queueable']);
317
+ }
318
+ ```
319
+
320
+ ---
321
+
322
+ ## 6. Deployment Commands for Trigger Safety
323
+
324
+ ### Validate Before Deploying
325
+
326
+ ```bash
327
+ # Always validate triggers before deploying
328
+ sf project deploy start --dry-run \
329
+ --source-dir force-app/main/default/triggers \
330
+ --source-dir force-app/main/default/classes \
331
+ --test-level RunLocalTests \
332
+ --target-org alias
333
+ ```
334
+
335
+ ### Deploy with Test Coverage
336
+
337
+ ```bash
338
+ # Deploy triggers with their test classes
339
+ sf project deploy start \
340
+ --source-dir force-app/main/default/triggers \
341
+ --source-dir force-app/main/default/classes \
342
+ --test-level RunSpecifiedTests \
343
+ --tests AccountTriggerTest,ContactTriggerTest \
344
+ --target-org alias
345
+ ```
346
+
347
+ ### Verify Trigger Order
348
+
349
+ After deployment, verify trigger execution order if you have multiple triggers on the same object:
350
+
351
+ ```bash
352
+ # Query trigger execution order (via Debug Logs)
353
+ sf apex tail log --target-org alias
354
+
355
+ # Or check in Setup: Object Manager → [Object] → Triggers
356
+ ```
357
+
358
+ ---
359
+
360
+ ## Summary
361
+
362
+ | Pattern | Use Case | Trade-off |
363
+ |---------|----------|-----------|
364
+ | **Default (Cascade)** | Atomic business processes | Simple but all-or-nothing |
365
+ | **Savepoint** | Controlled rollback within handler | More code, explicit control |
366
+ | **Queueable** | Independent async processes | Decoupled but async limits |
367
+ | **Platform Event** | Maximum decoupling | More infrastructure |
368
+ | **@future** | Simple fire-and-forget | Limited parameters |
369
+
370
+ ### Key Principles
371
+
372
+ 1. **Make atomicity decisions explicit** - Don't rely on default behavior accidentally
373
+ 2. **Decouple independent processes** - Use async for cross-domain operations
374
+ 3. **Test cascade scenarios** - Verify both success and failure paths
375
+ 4. **Document trigger chains** - Future maintainers need to understand dependencies
376
+ 5. **Validate before deploying** - Use `--dry-run` to catch issues early
@@ -0,0 +1,5 @@
1
+ # Credits & Acknowledgments
2
+
3
+ This skill is based on practical OmniStudio/Vlocity DataPack deployment workflows and the Vlocity Build command model.
4
+
5
+ ---
@@ -0,0 +1,88 @@
1
+ # deploying-omnistudio-datapacks
2
+
3
+ Salesforce Industries DataPack deployment automation using Vlocity Build. Export, validate, deploy, retry, and compare OmniStudio/Vlocity DataPacks with predictable workflow guardrails.
4
+
5
+ ## Features
6
+
7
+ - **DataPack Deployment Workflow**: Run `packExport`, `packDeploy`, `packRetry`, `packContinue`, and `packGetDiffs`
8
+ - **Job File Guidance**: Build deterministic `projectPath`, `expansionPath`, `queries`, and `manifest` job patterns
9
+ - **Validation-First Operations**: Gate deployment with `validateLocalData` and dependency checks
10
+ - **Failure Triage**: Diagnose matching-key, GlobalKey, dependency, and configuration drift failures
11
+ - **CI/CD Patterns**: Support manifest-driven and git-aware deployment sequencing
12
+
13
+ ## Usage
14
+
15
+ Invoke this skill when working with OmniStudio/Vlocity DataPack deployments:
16
+
17
+ ```
18
+ Skill: deploying-omnistudio-datapacks
19
+ Request: "Deploy my OmniStudio DataPacks to UAT using Vlocity Build and include retry guidance."
20
+ ```
21
+
22
+ ## Common Operations
23
+
24
+ | Operation | Example Request |
25
+ |-----------|-----------------|
26
+ | Export | "Export DataPacks from source org with this job file." |
27
+ | Validate local files | "Run pre-deploy validation and identify key issues." |
28
+ | Deploy | "Deploy DataPacks to target org using packDeploy." |
29
+ | Retry failures | "Run packRetry and summarize what remains." |
30
+ | Resume interrupted run | "Continue the failed deployment job." |
31
+ | Compare with target | "Run packGetDiffs and report drift." |
32
+
33
+ ## Key Commands
34
+
35
+ ```bash
36
+ # Validate local DataPack integrity
37
+ vlocity -sfdx.username [sourceAlias] -job [jobFile].yaml validateLocalData
38
+
39
+ # Export from source
40
+ vlocity -sfdx.username [sourceAlias] -job [jobFile].yaml packExport
41
+
42
+ # Deploy to target
43
+ vlocity -sfdx.username [targetAlias] -job [jobFile].yaml packDeploy
44
+
45
+ # Retry failed DataPacks
46
+ vlocity -sfdx.username [targetAlias] -job [jobFile].yaml packRetry
47
+
48
+ # Continue interrupted execution
49
+ vlocity -sfdx.username [targetAlias] -job [jobFile].yaml packContinue
50
+
51
+ # Compare local files to target org
52
+ vlocity -sfdx.username [targetAlias] -job [jobFile].yaml packGetDiffs
53
+ ```
54
+
55
+ ## Best Practices
56
+
57
+ | Rule | Details |
58
+ |------|---------|
59
+ | Validate first | Run `validateLocalData` before deploy |
60
+ | Keep scope minimal | Prefer manifest/key-scoped deploys for safer rollouts |
61
+ | Retry intentionally | Use `packRetry` while error count is decreasing |
62
+ | Preserve key strategy | Keep matching keys and GlobalKeys consistent across orgs |
63
+ | Compare post-deploy | Run `packGetDiffs` to verify target parity |
64
+
65
+ ## Cross-Skill Integration
66
+
67
+ | Related Skill | When to Use |
68
+ |---------------|-------------|
69
+ | deploying-metadata | Deploy non-DataPack Salesforce metadata with `sf project deploy` |
70
+ | building-omnistudio-omniscript | Author OmniScripts before deployment |
71
+ | building-omnistudio-flexcard | Build FlexCards before deployment |
72
+ | building-omnistudio-integration-procedure | Build Integration Procedures before deployment |
73
+ | debugging-apex-logs | Investigate runtime/triggers/log failures surfaced during deploy |
74
+
75
+ ## Documentation
76
+
77
+ - [SKILL.md](SKILL.md) - Full DataPack deployment workflow and operating rules
78
+ - [references/job-file-template.md](references/job-file-template.md) - Baseline job file patterns
79
+ - [references/troubleshooting-matrix.md](references/troubleshooting-matrix.md) - Common failures and fix directions
80
+ - [examples/business-internet-plus-bundle/TRANSCRIPT.md](examples/business-internet-plus-bundle/TRANSCRIPT.md) - Validation planning/execution transcript and outcomes
81
+ - [examples/business-internet-plus-bundle-deploy/TRANSCRIPT.md](examples/business-internet-plus-bundle-deploy/TRANSCRIPT.md) - Deployment execution transcript with packDeploy/packRetry results
82
+
83
+ ## Requirements
84
+
85
+ - Node.js 18+
86
+ - Vlocity Build CLI (`npm install --global vlocity`)
87
+ - Salesforce CLI v2 (for org auth and context)
88
+ - Source and target org access
@@ -0,0 +1,174 @@
1
+ ---
2
+ name: deploying-omnistudio-datapacks
3
+ description: "Salesforce Industries DataPack deployment automation using Vlocity Build. TRIGGER when: user deploys or validates OmniStudio/Vlocity DataPacks with vlocity commands (packDeploy/packRetry/packExport/packGetDiffs), sets up DataPack CI/CD pipelines, or troubleshoots DataPack migration errors. DO NOT TRIGGER when: deploying Salesforce metadata with sf project deploy (use deploying-metadata), authoring OmniStudio artifacts (use building-omnistudio-*), or writing Apex/LWC business logic (use generating-apex/generating-lwc-components)."
4
+ license: MIT
5
+ metadata:
6
+ version: "1.0"
7
+ ---
8
+
9
+ # deploying-omnistudio-datapacks: Vlocity Build DataPack Deployment
10
+
11
+ Use this skill when the user needs **Vlocity DataPack deployment orchestration**: export/deploy workflow, manifest-driven deploys, failure triage, and CI/CD sequencing for OmniStudio/Industries DataPacks.
12
+
13
+ ---
14
+
15
+ ## Scope
16
+
17
+ Use `deploying-omnistudio-datapacks` when work involves:
18
+ - `vlocity packDeploy`, `packRetry`, `packContinue`, `packExport`, `packGetDiffs`, `validateLocalData`
19
+ - DataPack job-file design (`projectPath`, `expansionPath`, `manifest`, `queries`)
20
+ - org-to-org DataPack migration and retry loops
21
+ - troubleshooting DataPack dependency, matching-key, and GlobalKey issues
22
+
23
+ Delegate elsewhere when the user is:
24
+ - deploying standard metadata with `sf project deploy` -> [deploying-metadata](../deploying-metadata/SKILL.md)
25
+ - building OmniScripts, FlexCards, IPs, or Data Mappers -> `building-omnistudio-*`
26
+ - designing Product2 EPC bundles -> [modeling-omnistudio-epc-catalog](../modeling-omnistudio-epc-catalog/SKILL.md)
27
+ - writing Apex/LWC code -> [generating-apex](../generating-apex/SKILL.md), [generating-lwc-components](../generating-lwc-components/SKILL.md)
28
+
29
+ ---
30
+
31
+ ## Critical Operating Rules
32
+
33
+ - Use **Vlocity Build (`vlocity`)** commands for DataPacks, not `sf project deploy`.
34
+ - Prefer Salesforce CLI auth integration (`-sfdx.username <alias>`) over username/password files when available.
35
+ - Always run a **pre-deploy quality gate** before full deploy:
36
+ 1) `validateLocalData`
37
+ 2) optional `packGetDiffs`
38
+ 3) then `packDeploy`
39
+ - Use `packRetry` repeatedly when error counts are dropping; stop when retries no longer improve results.
40
+ - Keep matching-key strategy and GlobalKey integrity consistent across source and target orgs.
41
+
42
+ ---
43
+
44
+ ## Required Context to Gather First
45
+
46
+ Ask for or infer:
47
+ - source org and target org aliases
48
+ - job file path and DataPack project path
49
+ - deployment scope (full project, manifest subset, or specific `-key`)
50
+ - whether this is export, deploy, retry, continue, or diff-only
51
+ - namespace model (`%vlocity_namespace%`, `vlocity_cmt`, or core)
52
+ - known constraints (new sandbox bootstrap, trigger behavior, matching key customizations)
53
+
54
+ Preflight checks:
55
+
56
+ ```bash
57
+ vlocity help
58
+ sf org list
59
+ sf org display --target-org <alias> --json
60
+ test -f <job-file>.yaml
61
+ ```
62
+
63
+ ---
64
+
65
+ ## Recommended Workflow
66
+
67
+ ### 1. Ensure tool readiness
68
+ ```bash
69
+ npm install --global vlocity
70
+ vlocity help
71
+ ```
72
+
73
+ ### 2. Validate project data locally
74
+ ```bash
75
+ vlocity -sfdx.username <source-alias> -job <job-file>.yaml validateLocalData
76
+ ```
77
+
78
+ Use `--fixLocalGlobalKeys` only when explicitly requested and after explaining impact.
79
+
80
+ ### 3. Export from source (when needed)
81
+ ```bash
82
+ vlocity -sfdx.username <source-alias> -job <job-file>.yaml packExport
83
+ vlocity -sfdx.username <source-alias> -job <job-file>.yaml packRetry
84
+ ```
85
+
86
+ ### 4. Deploy to target
87
+ ```bash
88
+ vlocity -sfdx.username <target-alias> -job <job-file>.yaml packDeploy
89
+ vlocity -sfdx.username <target-alias> -job <job-file>.yaml packRetry
90
+ ```
91
+
92
+ ### 5. Continue interrupted jobs
93
+ ```bash
94
+ vlocity -sfdx.username <target-alias> -job <job-file>.yaml packContinue
95
+ ```
96
+
97
+ ### 6. Verify post-deploy parity
98
+ ```bash
99
+ vlocity -sfdx.username <target-alias> -job <job-file>.yaml packGetDiffs
100
+ ```
101
+
102
+ Job-file starter: [references/job-file-template.md](references/job-file-template.md)
103
+
104
+ ---
105
+
106
+ ## Gotchas
107
+
108
+ | Error / symptom | Likely cause | Default fix direction |
109
+ |---|---|---|
110
+ | `No match found for ...` | missing dependency in target org | include missing DataPack key and redeploy |
111
+ | `Duplicate Results found for ... GlobalKey` | duplicate records in target | clean duplicates and re-run deploy |
112
+ | `Multiple Imported Records ... same Salesforce Record` | source duplicate matching-key records | remove duplicates in source and re-export |
113
+ | `No Configuration Found` | outdated DataPack settings | run `packUpdateSettings` or enable `autoUpdateSettings` |
114
+ | `Some records were not processed` | settings mismatch / partial dependency state | refresh settings both orgs, then retry |
115
+ | SASS / template compile failures | missing referenced UI template assets | export/deploy referenced template dependencies first |
116
+
117
+ Detailed matrix: [references/troubleshooting-matrix.md](references/troubleshooting-matrix.md)
118
+
119
+ ---
120
+
121
+ ## CI/CD Guidance
122
+
123
+ Default pipeline shape:
124
+ 1. authenticate orgs (`sf org login ...`)
125
+ 2. validate local DataPack integrity (`validateLocalData`)
126
+ 3. export changed scope (`packExport` or manifest-driven export)
127
+ 4. deploy (`packDeploy`)
128
+ 5. retry loop (`packRetry`) until stable
129
+ 6. compare (`packGetDiffs`) and publish deployment report
130
+
131
+ For incremental deploy optimization, use job-file options such as:
132
+ - `gitCheck: true`
133
+ - `gitCheckKey: <folder>`
134
+ - `manifest` for deterministic scope control
135
+
136
+ ---
137
+
138
+ ## Cross-Skill Integration
139
+
140
+ | Need | Delegate to | Reason |
141
+ |---|---|---|
142
+ | metadata deploy outside DataPacks | [deploying-metadata](../deploying-metadata/SKILL.md) | Metadata API workflows |
143
+ | OmniStudio component authoring | `building-omnistudio-*` | build artifacts before deploy |
144
+ | EPC product and offer payload authoring | [modeling-omnistudio-epc-catalog](../modeling-omnistudio-epc-catalog/SKILL.md) | Product2/DataPack model quality |
145
+ | Apex trigger/log error diagnosis | [debugging-apex-logs](../debugging-apex-logs/SKILL.md), [generating-apex](../generating-apex/SKILL.md) | automation-side root-cause fixes |
146
+
147
+ ---
148
+
149
+ ## Output Expectations
150
+
151
+ After completing a DataPack operation, deliver a completion block:
152
+
153
+ ```text
154
+ DataPack goal: <export / deploy / retry / diff / ci-cd>
155
+ Source org: <alias or N/A>
156
+ Target org: <alias or N/A>
157
+ Scope: <job file + manifest/key/full>
158
+ Result: <passed / failed / partial>
159
+ Key findings: <errors, dependencies, retries, diffs>
160
+ Next step: <safe follow-up action>
161
+ ```
162
+
163
+ ---
164
+
165
+ ## Reference File Index
166
+
167
+ | File | When to read |
168
+ |------|-------------|
169
+ | `references/job-file-template.md` | Before advising on job file structure — load as baseline configuration reference |
170
+ | `references/troubleshooting-matrix.md` | When user reports deploy failures — load to diagnose DataPack errors and apply fix directions |
171
+ | `examples/business-internet-plus-bundle/TRANSCRIPT.md` | Example of validation planning and execution for a Product2 bundle |
172
+ | `examples/business-internet-plus-bundle/deploy-business-internet-plus-bundle.yaml` | Example job file for scope-limited `validateLocalData` run |
173
+ | `examples/business-internet-plus-bundle-deploy/TRANSCRIPT.md` | Example of full deploy cycle including `packDeploy` and `packRetry` outcomes |
174
+ | `examples/business-internet-plus-bundle-deploy/deploy-business-internet-plus-bundle.yaml` | Example job file for staged deployment with manifest targeting |