@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,328 @@
1
+ <!-- Parent: debugging-apex-logs/SKILL.md -->
2
+ # Salesforce Debug Log Reference
3
+
4
+ ## Log Structure
5
+
6
+ Debug logs follow a consistent format:
7
+ ```
8
+ TIMESTAMP|EVENT_IDENTIFIER|[PARAMS]|DETAILS
9
+ ```
10
+
11
+ Example:
12
+ ```
13
+ 14:32:54.123 (123456789)|SOQL_EXECUTE_BEGIN|[45]|SELECT Id FROM Account
14
+ ```
15
+
16
+ ---
17
+
18
+ ## Event Categories
19
+
20
+ ### Execution Events
21
+
22
+ | Event | Description | Analysis Notes |
23
+ |-------|-------------|----------------|
24
+ | `EXECUTION_STARTED` | Transaction begins | Identifies transaction type |
25
+ | `EXECUTION_FINISHED` | Transaction ends | Total execution time |
26
+ | `CODE_UNIT_STARTED` | Method/trigger entry | Call stack tracing |
27
+ | `CODE_UNIT_FINISHED` | Method/trigger exit | Method duration |
28
+
29
+ ### SOQL Events
30
+
31
+ | Event | Description | Key Fields |
32
+ |-------|-------------|------------|
33
+ | `SOQL_EXECUTE_BEGIN` | Query starts | Line number, Query text |
34
+ | `SOQL_EXECUTE_END` | Query ends | Rows returned |
35
+
36
+ **Analysis Pattern:**
37
+ ```
38
+ |SOQL_EXECUTE_BEGIN|[45]|SELECT Id, Name FROM Account WHERE...
39
+ |SOQL_EXECUTE_END|[3 rows]
40
+ ```
41
+ - Line 45 in source code
42
+ - Query returned 3 rows
43
+
44
+ **Warning Signs:**
45
+ - Same query appearing multiple times → SOQL in loop
46
+ - `[100000 rows]` → Non-selective query
47
+ - Query without WHERE clause → Full table scan
48
+
49
+ ### DML Events
50
+
51
+ | Event | Description | Key Fields |
52
+ |-------|-------------|------------|
53
+ | `DML_BEGIN` | DML starts | Line number, Operation type, Object |
54
+ | `DML_END` | DML ends | Rows affected |
55
+
56
+ **Analysis Pattern:**
57
+ ```
58
+ |DML_BEGIN|[78]|Op:Insert|Type:Contact|
59
+ |DML_END|[200 rows]
60
+ ```
61
+ - Line 78: INSERT operation
62
+ - 200 Contact records inserted
63
+
64
+ **Warning Signs:**
65
+ - Same DML operation appearing multiple times → DML in loop
66
+ - DML after each SOQL → Likely unbulkified code
67
+
68
+ ### Limit Events
69
+
70
+ | Event | Description | Format |
71
+ |-------|-------------|--------|
72
+ | `LIMIT_USAGE` | Current limit usage | `LIMIT_NAME|used|max` |
73
+ | `LIMIT_USAGE_FOR_NS` | Per-namespace limits | `LIMIT_NAME|used|max|namespace` |
74
+ | `CUMULATIVE_LIMIT_USAGE` | End of transaction | Summary of all limits |
75
+
76
+ **Example:**
77
+ ```
78
+ |LIMIT_USAGE|SOQL_QUERIES|25|100
79
+ |LIMIT_USAGE|DML_STATEMENTS|45|150
80
+ |LIMIT_USAGE|CPU_TIME|3500|10000
81
+ |LIMIT_USAGE|HEAP_SIZE|2500000|6000000
82
+ ```
83
+
84
+ ### Exception Events
85
+
86
+ | Event | Description | Format |
87
+ |-------|-------------|--------|
88
+ | `EXCEPTION_THROWN` | Exception occurs | `[line]|ExceptionType|Message` |
89
+ | `FATAL_ERROR` | Unhandled exception | Full stack trace |
90
+
91
+ **Analysis Pattern:**
92
+ ```
93
+ |EXCEPTION_THROWN|[67]|System.NullPointerException|Attempt to de-reference a null object
94
+ |FATAL_ERROR|System.NullPointerException: Attempt to de-reference a null object
95
+ Class.ContactService.processContacts: line 67, column 1
96
+ Class.AccountTriggerHandler.afterUpdate: line 34, column 1
97
+ Trigger.AccountTrigger: line 5, column 1
98
+ ```
99
+
100
+ ### Method Events
101
+
102
+ | Event | Description | Use Case |
103
+ |-------|-------------|----------|
104
+ | `METHOD_ENTRY` | Method called | Call hierarchy |
105
+ | `METHOD_EXIT` | Method returns | Method duration |
106
+ | `CONSTRUCTOR_ENTRY` | Constructor called | Object creation |
107
+ | `CONSTRUCTOR_EXIT` | Constructor returns | |
108
+
109
+ ### Loop Events
110
+
111
+ | Event | Description | Important For |
112
+ |-------|-------------|---------------|
113
+ | `LOOP_BEGIN` | Loop starts | SOQL/DML in loop detection |
114
+ | `LOOP_END` | Loop ends | |
115
+ | `ITERATION_BEGIN` | Loop iteration | Iteration count |
116
+ | `ITERATION_END` | Iteration ends | |
117
+
118
+ **Detection Pattern for SOQL in Loop:**
119
+ ```
120
+ |LOOP_BEGIN|
121
+ |ITERATION_BEGIN|
122
+ |SOQL_EXECUTE_BEGIN|[45]|SELECT...
123
+ |SOQL_EXECUTE_END|[1 rows]
124
+ |ITERATION_END|
125
+ |ITERATION_BEGIN|
126
+ |SOQL_EXECUTE_BEGIN|[45]|SELECT... ← Same query repeating!
127
+ |SOQL_EXECUTE_END|[1 rows]
128
+ |ITERATION_END|
129
+ |LOOP_END|
130
+ ```
131
+
132
+ ### Callout Events
133
+
134
+ | Event | Description | Key Fields |
135
+ |-------|-------------|------------|
136
+ | `CALLOUT_EXTERNAL_ENTRY` | HTTP callout starts | Endpoint URL |
137
+ | `CALLOUT_EXTERNAL_EXIT` | HTTP callout ends | Status code, Duration |
138
+
139
+ **Example:**
140
+ ```
141
+ |CALLOUT_EXTERNAL_ENTRY|[89]|https://api.example.com/endpoint
142
+ |CALLOUT_EXTERNAL_EXIT|[200]|[1500ms]
143
+ ```
144
+
145
+ ### Heap Events
146
+
147
+ | Event | Description | Importance |
148
+ |-------|-------------|------------|
149
+ | `HEAP_ALLOCATE` | Heap allocation | Track large allocations |
150
+ | `HEAP_DEALLOCATE` | Heap freed | Garbage collection |
151
+
152
+ ---
153
+
154
+ ## Log Levels
155
+
156
+ ### Categories and Levels
157
+
158
+ | Category | What It Controls |
159
+ |----------|------------------|
160
+ | Database | SOQL, SOSL, DML |
161
+ | Workflow | Workflow rules, Process Builder |
162
+ | Validation | Validation rules |
163
+ | Callout | HTTP callouts |
164
+ | Apex Code | Apex execution |
165
+ | Apex Profiling | Method timing |
166
+ | Visualforce | VF page execution |
167
+ | System | System operations |
168
+
169
+ ### Level Values
170
+
171
+ | Level | Amount of Detail | Use Case |
172
+ |-------|------------------|----------|
173
+ | NONE | Nothing | Disable category |
174
+ | ERROR | Errors only | Production monitoring |
175
+ | WARN | Warnings + errors | |
176
+ | INFO | General info | Default |
177
+ | DEBUG | Detailed debug | Development |
178
+ | FINE | Very detailed | Deep debugging |
179
+ | FINER | Method entry/exit | Performance analysis |
180
+ | FINEST | Everything | Complete trace |
181
+
182
+ ### Recommended Debug Level Settings
183
+
184
+ **For Performance Issues:**
185
+ ```
186
+ Apex Code: FINE
187
+ Apex Profiling: FINEST
188
+ Database: FINE
189
+ System: DEBUG
190
+ ```
191
+
192
+ **For Exception Debugging:**
193
+ ```
194
+ Apex Code: DEBUG
195
+ Apex Profiling: FINE
196
+ Database: INFO
197
+ System: DEBUG
198
+ ```
199
+
200
+ **For Callout Issues:**
201
+ ```
202
+ Apex Code: DEBUG
203
+ Callout: FINEST
204
+ System: DEBUG
205
+ ```
206
+
207
+ ---
208
+
209
+ ## Governor Limits Reference
210
+
211
+ ### Synchronous Limits
212
+
213
+ | Limit | Value | Log Event |
214
+ |-------|-------|-----------|
215
+ | SOQL Queries | 100 | `SOQL_QUERIES` |
216
+ | SOQL Rows | 50,000 | `SOQL_ROWS` |
217
+ | DML Statements | 150 | `DML_STATEMENTS` |
218
+ | DML Rows | 10,000 | `DML_ROWS` |
219
+ | CPU Time | 10,000 ms | `CPU_TIME` |
220
+ | Heap Size | 6 MB | `HEAP_SIZE` |
221
+ | Callouts | 100 | `CALLOUTS` |
222
+ | Future Calls | 50 | `FUTURE_CALLS` |
223
+
224
+ ### Asynchronous Limits
225
+
226
+ | Limit | Value | Applies To |
227
+ |-------|-------|------------|
228
+ | CPU Time | 60,000 ms | @future, Batch, Queueable |
229
+ | Heap Size | 12 MB | @future, Batch, Queueable |
230
+
231
+ ### Warning Thresholds
232
+
233
+ | Limit | Warning (80%) | Critical (95%) |
234
+ |-------|---------------|----------------|
235
+ | SOQL Queries | 80 | 95 |
236
+ | DML Statements | 120 | 143 |
237
+ | CPU Time | 8,000 ms | 9,500 ms |
238
+ | Heap Size | 4.8 MB | 5.7 MB |
239
+
240
+ ---
241
+
242
+ ## Common Log Patterns
243
+
244
+ ### Pattern 1: SOQL in Loop
245
+
246
+ ```
247
+ |LOOP_BEGIN|
248
+ |ITERATION_BEGIN|
249
+ |SOQL_EXECUTE_BEGIN|[45]|SELECT Id FROM Contact WHERE AccountId = '001xxx'
250
+ |SOQL_EXECUTE_END|[1 rows]
251
+ |ITERATION_END|
252
+ |ITERATION_BEGIN|
253
+ |SOQL_EXECUTE_BEGIN|[45]|SELECT Id FROM Contact WHERE AccountId = '001yyy'
254
+ |SOQL_EXECUTE_END|[1 rows]
255
+ |ITERATION_END|
256
+ ... (repeats 100 times)
257
+ |LIMIT_USAGE|SOQL_QUERIES|100|100 ← LIMIT HIT!
258
+ |FATAL_ERROR|System.LimitException: Too many SOQL queries: 101
259
+ ```
260
+
261
+ ### Pattern 2: DML in Loop
262
+
263
+ ```
264
+ |LOOP_BEGIN|
265
+ |ITERATION_BEGIN|
266
+ |DML_BEGIN|[78]|Op:Insert|Type:Contact|
267
+ |DML_END|[1 rows]
268
+ |ITERATION_END|
269
+ ... (repeats 150 times)
270
+ |LIMIT_USAGE|DML_STATEMENTS|150|150 ← LIMIT HIT!
271
+ |FATAL_ERROR|System.LimitException: Too many DML statements: 151
272
+ ```
273
+
274
+ ### Pattern 3: Non-Selective Query
275
+
276
+ ```
277
+ |SOQL_EXECUTE_BEGIN|[23]|SELECT Id FROM Lead WHERE Status = 'Open'
278
+ |SOQL_EXECUTE_END|[250000 rows] ← Large result set!
279
+ ```
280
+
281
+ ### Pattern 4: CPU Limit Approaching
282
+
283
+ ```
284
+ |CUMULATIVE_LIMIT_USAGE|
285
+ |CPU_TIME|9500|10000 ← 95% used!
286
+ ```
287
+
288
+ ### Pattern 5: Null Pointer Exception
289
+
290
+ ```
291
+ |SOQL_EXECUTE_BEGIN|[45]|SELECT Id FROM Account WHERE Id = '001xxx'
292
+ |SOQL_EXECUTE_END|[0 rows] ← No results!
293
+ |METHOD_EXIT|getAccount|
294
+ |EXCEPTION_THROWN|[47]|System.NullPointerException|Attempt to de-reference a null object
295
+ ```
296
+
297
+ ---
298
+
299
+ ## Log Analysis Checklist
300
+
301
+ ### Quick Scan
302
+
303
+ 1. **Search for `FATAL_ERROR`** - Find the exception
304
+ 2. **Search for `LIMIT_USAGE`** - Check governor limits
305
+ 3. **Search for `SOQL_EXECUTE_BEGIN`** - Count queries
306
+ 4. **Search for `DML_BEGIN`** - Count DML operations
307
+ 5. **Search for `LOOP_BEGIN`** - Check for operations in loops
308
+
309
+ ### Deep Analysis
310
+
311
+ 1. **Trace the call stack** - Use `CODE_UNIT_STARTED` events
312
+ 2. **Find the hotspot** - Use `Apex Profiling: FINEST` for method timing
313
+ 3. **Identify large queries** - Look for `[N rows]` in SOQL_EXECUTE_END
314
+ 4. **Check callout timing** - Look for slow `CALLOUT_EXTERNAL_EXIT`
315
+ 5. **Monitor heap growth** - Track `HEAP_ALLOCATE` events
316
+
317
+ ---
318
+
319
+ ## Related Commands
320
+
321
+ | Command | Purpose |
322
+ |---------|---------|
323
+ | `sf apex list log` | List available logs |
324
+ | `sf apex get log --log-id XXX` | Download specific log |
325
+ | `sf apex tail log` | Stream logs real-time |
326
+ | `sf data delete record --sobject ApexLog --record-id <id>` | Delete individual log record |
327
+
328
+ See [cli-commands.md](./cli-commands.md) for detailed command reference.
@@ -0,0 +1,248 @@
1
+ <!-- Parent: debugging-apex-logs/SKILL.md -->
2
+ # Log Analysis Tools
3
+
4
+ This guide covers tools for analyzing Salesforce debug logs, with a focus on performance profiling and bottleneck identification.
5
+
6
+ ---
7
+
8
+ ## Recommended: Apex Log Analyzer (VS Code)
9
+
10
+ The **Apex Log Analyzer** is a free VS Code extension that provides visual analysis of Apex debug logs.
11
+
12
+ ### Installation
13
+
14
+ ```
15
+ 1. Open VS Code
16
+ 2. Go to Extensions (Ctrl+Shift+X / Cmd+Shift+X)
17
+ 3. Search "Apex Log Analyzer"
18
+ 4. Install "Apex Log Analyzer" by FinancialForce
19
+ ```
20
+
21
+ Or install via command line:
22
+ ```bash
23
+ code --install-extension FinancialForce.lana
24
+ ```
25
+
26
+ ### Key Features
27
+
28
+ | Feature | Description | Use Case |
29
+ |---------|-------------|----------|
30
+ | **Flame Charts** | Visual execution timeline | Find slow methods at a glance |
31
+ | **Call Tree** | Hierarchical method calls | Trace execution paths |
32
+ | **Database Analysis** | SOQL/DML highlighting | Find query hotspots |
33
+ | **Timeline View** | Execution over time | See parallel operations |
34
+ | **Limit Summary** | Governor limit usage | Quick health check |
35
+
36
+ ### How to Use
37
+
38
+ 1. **Get a debug log**:
39
+ ```bash
40
+ sf apex get log --log-id 07Lxx0000000000 --target-org my-sandbox -o debug.log
41
+ ```
42
+
43
+ 2. **Open in VS Code**:
44
+ - Open the `.log` file
45
+ - Click "Analyze Log" button in the editor toolbar
46
+ - Or use Command Palette: "Apex Log: Analyze Log"
47
+
48
+ 3. **Navigate the visualization**:
49
+ - **Flame Chart**: Wider bars = more time spent
50
+ - **Click methods** to see details
51
+ - **Hover** for exact timing
52
+ - **Filter** to focus on specific operations
53
+
54
+ ### Reading Flame Charts
55
+
56
+ ```
57
+ ┌─────────────────────────────────────────────────────────────┐
58
+ │ FLAME CHART INTERPRETATION │
59
+ ├─────────────────────────────────────────────────────────────┤
60
+ │ │
61
+ │ ████████████████████████████████████ AccountTrigger │
62
+ │ ██████████████████ AccountService.processAccounts │
63
+ │ ██████████ ← BOTTLENECK: Wide bar = slow operation │
64
+ │ ████ SOQL query │
65
+ │ ████████████ Another slow method │
66
+ │ │
67
+ │ Time flows left → right │
68
+ │ Width = execution time │
69
+ │ Stack depth = call hierarchy │
70
+ │ │
71
+ └─────────────────────────────────────────────────────────────┘
72
+ ```
73
+
74
+ **Bottleneck Indicators**:
75
+ - Wide bars at lower levels (deep in call stack)
76
+ - Multiple identical bars (repeated operations)
77
+ - SOQL/DML bars inside loop patterns
78
+
79
+ ---
80
+
81
+ ## SF CLI Debug Commands
82
+
83
+ ### List Available Logs
84
+
85
+ ```bash
86
+ # List recent logs
87
+ sf apex list log --target-org my-sandbox --json
88
+
89
+ # Output includes:
90
+ # - Log ID
91
+ # - Start time
92
+ # - Operation type
93
+ # - User
94
+ # - Size
95
+ ```
96
+
97
+ ### Download Logs
98
+
99
+ ```bash
100
+ # Download specific log
101
+ sf apex get log --log-id 07Lxx0000000000 --target-org my-sandbox
102
+
103
+ # Save to file
104
+ sf apex get log --log-id 07Lxx0000000000 --target-org my-sandbox > debug.log
105
+
106
+ # Download with number
107
+ sf apex get log --number 1 --target-org my-sandbox # Most recent
108
+ ```
109
+
110
+ ### Real-Time Log Streaming
111
+
112
+ ```bash
113
+ # Tail logs in real-time (like `tail -f`)
114
+ sf apex tail log --target-org my-sandbox
115
+
116
+ # With color highlighting
117
+ sf apex tail log --target-org my-sandbox --color
118
+
119
+ # Use an existing debug level when setting the trace flag
120
+ sf apex tail log --target-org my-sandbox --debug-level MyDebugLevel
121
+
122
+ # Skip trace flag setup when a trace flag is already configured
123
+ sf apex tail log --target-org my-sandbox --skip-trace-flag
124
+ ```
125
+
126
+ ### Set Debug Level
127
+
128
+ ```bash
129
+ # Create trace flag via SFDX
130
+ sf data create record \
131
+ --sobject TraceFlag \
132
+ --values "TracedEntityId='005xx...' LogType='USER_DEBUG' StartDate='2024-01-01T00:00:00' ExpirationDate='2024-01-02T00:00:00'" \
133
+ --target-org my-sandbox
134
+ ```
135
+
136
+ ---
137
+
138
+ ## Manual Log Analysis (grep/ripgrep)
139
+
140
+ When you need quick analysis without visual tools:
141
+
142
+ ### Find All SOQL Queries
143
+
144
+ ```bash
145
+ # Count SOQL queries
146
+ rg "SOQL_EXECUTE_BEGIN" debug.log | wc -l
147
+
148
+ # See query text
149
+ rg "SOQL_EXECUTE_BEGIN" debug.log
150
+
151
+ # Find SOQL in loops (query appears multiple times on same line)
152
+ rg "SOQL_EXECUTE_BEGIN" debug.log | sort | uniq -c | sort -rn | head -10
153
+ ```
154
+
155
+ ### Find Large Result Sets
156
+
157
+ ```bash
158
+ # Find queries returning many rows
159
+ rg "SOQL_EXECUTE_END.*\[\d{4,} rows\]" debug.log
160
+ ```
161
+
162
+ ### Check Governor Limits
163
+
164
+ ```bash
165
+ # Find limit snapshots
166
+ rg "LIMIT_USAGE" debug.log | tail -20
167
+
168
+ # Find approaching limits (>80%)
169
+ rg "CPU_TIME" debug.log | tail -5
170
+ rg "HEAP_SIZE" debug.log | tail -5
171
+ ```
172
+
173
+ ### Find Exceptions
174
+
175
+ ```bash
176
+ # Find all exceptions
177
+ rg "EXCEPTION_THROWN|FATAL_ERROR" debug.log
178
+
179
+ # Get stack traces
180
+ rg -A 10 "FATAL_ERROR" debug.log
181
+ ```
182
+
183
+ ### Find Slow Operations
184
+
185
+ ```bash
186
+ # Extract all timing info
187
+ rg "\[\d+\]ms" debug.log | sort -t'[' -k2 -rn | head -20
188
+ ```
189
+
190
+ ---
191
+
192
+ ## Developer Console Analysis
193
+
194
+ For quick checks directly in Salesforce:
195
+
196
+ ### Query Plan Tool
197
+
198
+ 1. Open Developer Console
199
+ 2. Query Editor tab
200
+ 3. Click "Query Plan" checkbox
201
+ 4. Run your query
202
+ 5. Review selectivity and cost
203
+
204
+ ### Log Inspector
205
+
206
+ 1. Open Developer Console
207
+ 2. Debug → Open Execute Anonymous Window
208
+ 3. Run code to generate log
209
+ 4. Select log in "Logs" tab
210
+ 5. Debug → View Log Panels
211
+
212
+ **Useful Panels**:
213
+ - **Execution Overview**: Summary of operations
214
+ - **Timeline**: Visual execution flow
215
+ - **Stack Tree**: Call hierarchy
216
+ - **Database**: SOQL/DML details
217
+
218
+ ---
219
+
220
+ ## Quick Reference: What to Look For
221
+
222
+ | Problem | What to Search | Pattern |
223
+ |---------|----------------|---------|
224
+ | SOQL in Loop | `SOQL_EXECUTE_BEGIN` | Same query repeated many times |
225
+ | DML in Loop | `DML_BEGIN` | Same DML repeated many times |
226
+ | Slow Query | `SOQL_EXECUTE_END` | Large row count |
227
+ | CPU Issue | `CPU_TIME` | Approaching 10,000ms |
228
+ | Heap Issue | `HEAP_SIZE` | Approaching 6,000,000 |
229
+ | Exception | `EXCEPTION_THROWN` | Stack trace |
230
+
231
+ ---
232
+
233
+ ## Comparison: Analysis Tools
234
+
235
+ | Tool | Pros | Cons | Best For |
236
+ |------|------|------|----------|
237
+ | **Apex Log Analyzer** | Visual, free, flame charts | Requires VS Code | Deep performance analysis |
238
+ | **Developer Console** | Built-in, no install | Limited visualization | Quick checks |
239
+ | **SF CLI + grep** | Scriptable, fast | No visualization | CI/CD, automation |
240
+ | **Salesforce Inspector** | Browser-based | Limited log analysis | Quick org exploration |
241
+
242
+ ---
243
+
244
+ ## Related Resources
245
+
246
+ - [debug-log-reference.md](./debug-log-reference.md) - Log event types
247
+ - [benchmarking-guide.md](./benchmarking-guide.md) - Performance testing
248
+ - [cli-commands.md](./cli-commands.md) - SF CLI reference
@@ -0,0 +1,21 @@
1
+ # Debug Analysis Scoring Rubric
2
+
3
+ ## 100-point rubric
4
+
5
+ | Category | Points | What good looks like |
6
+ |---|---:|---|
7
+ | Root-cause accuracy | 25 | Finds the actual cause, not just symptoms |
8
+ | Fix quality | 25 | Recommends a fix that directly addresses the cause |
9
+ | Performance impact | 20 | Improves limits / efficiency without introducing regressions |
10
+ | Completeness | 15 | Captures related issues and secondary risks |
11
+ | Clarity | 15 | Gives an explanation the user can act on quickly |
12
+
13
+ ## Thresholds
14
+
15
+ | Score | Rating | Meaning |
16
+ |---|---|---|
17
+ | 90–100 | Excellent | Expert analysis with strong fixes |
18
+ | 80–89 | Good | Reliable analysis with minor gaps |
19
+ | 70–79 | Acceptable | Usable, but may miss secondary issues |
20
+ | 60–69 | Weak | Partial diagnosis only |
21
+ | < 60 | Incomplete | Needs more investigation |
@@ -0,0 +1,25 @@
1
+ # Credits & Acknowledgments
2
+
3
+ This skill is built on established Salesforce DevOps practices, official platform tooling, and the collective knowledge embedded in Salesforce's documentation and developer ecosystem.
4
+
5
+ ---
6
+
7
+ ## Key Concepts
8
+
9
+ ### Two-Phase Deployment Pattern
10
+ The `--dry-run` validation before actual deployment is a community-established best practice to prevent production failures, widely promoted across official Salesforce documentation.
11
+
12
+ ### Quick Deploy Strategy
13
+ The workflow of validating with tests, then using quick deploy for actual deployment, originates from Salesforce release management best practices.
14
+
15
+ ### Test Level Recommendations
16
+ The guidance on appropriate test levels (RunLocalTests vs RunAllTests vs RunSpecifiedTests) comes from official Salesforce deployment documentation.
17
+
18
+ ### Incremental Deployment Strategy
19
+ The recommendation for small, frequent deployments over large batches is a DevOps industry best practice adapted for Salesforce.
20
+
21
+ ---
22
+
23
+ ## Special Thanks
24
+
25
+ To the entire Salesforce DevOps community — release managers, architects, developers, and CI/CD engineers — for continuously improving deployment practices and making Salesforce deployments more reliable.