@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,256 @@
1
+ <!-- Parent: configuring-connected-apps/SKILL.md -->
2
+ # configuring-connected-apps Examples
3
+
4
+ Real-world examples of using the configuring-connected-apps skill.
5
+
6
+ ## Example 1: Create a Basic API Integration Connected App
7
+
8
+ **Request**:
9
+ ```
10
+ Use the configuring-connected-apps skill to create a Connected App named "DataSyncIntegration"
11
+ for syncing data with our external ERP system. It needs API access and refresh tokens.
12
+ Contact email: admin@company.com
13
+ ```
14
+
15
+ **Generated Output**:
16
+ - `force-app/main/default/connectedApps/DataSyncIntegration.connectedApp-meta.xml`
17
+
18
+ ```xml
19
+ <?xml version="1.0" encoding="UTF-8"?>
20
+ <ConnectedApp xmlns="http://soap.sforce.com/2006/04/metadata">
21
+ <label>DataSyncIntegration</label>
22
+ <contactEmail>admin@company.com</contactEmail>
23
+ <description>Data synchronization with external ERP system</description>
24
+ <oauthConfig>
25
+ <callbackUrl>https://erp.company.com/oauth/callback</callbackUrl>
26
+ <isAdminApproved>true</isAdminApproved>
27
+ <isConsumerSecretOptional>false</isConsumerSecretOptional>
28
+ <scopes>Api</scopes>
29
+ <scopes>RefreshToken</scopes>
30
+ </oauthConfig>
31
+ <oauthPolicy>
32
+ <ipRelaxation>ENFORCE</ipRelaxation>
33
+ <refreshTokenPolicy>infinite</refreshTokenPolicy>
34
+ </oauthPolicy>
35
+ </ConnectedApp>
36
+ ```
37
+
38
+ **Score**: 95/120 ⭐⭐⭐⭐
39
+
40
+ ---
41
+
42
+ ## Example 2: Create a JWT Bearer App for CI/CD
43
+
44
+ **Request**:
45
+ ```
46
+ Create a Connected App for our CI/CD pipeline using JWT Bearer flow.
47
+ Name it "GitHubActionsDeployment" and use certificate "GH_Actions_Cert".
48
+ ```
49
+
50
+ **Generated Output**:
51
+ - `force-app/main/default/connectedApps/GitHubActionsDeployment.connectedApp-meta.xml`
52
+
53
+ ```xml
54
+ <?xml version="1.0" encoding="UTF-8"?>
55
+ <ConnectedApp xmlns="http://soap.sforce.com/2006/04/metadata">
56
+ <label>GitHubActionsDeployment</label>
57
+ <contactEmail>devops@company.com</contactEmail>
58
+ <description>CI/CD deployment via GitHub Actions - JWT Bearer flow</description>
59
+ <oauthConfig>
60
+ <callbackUrl>https://localhost/oauth/callback</callbackUrl>
61
+ <certificate>GH_Actions_Cert</certificate>
62
+ <isAdminApproved>true</isAdminApproved>
63
+ <isConsumerSecretOptional>true</isConsumerSecretOptional>
64
+ <scopes>Api</scopes>
65
+ </oauthConfig>
66
+ <oauthPolicy>
67
+ <ipRelaxation>ENFORCE</ipRelaxation>
68
+ <refreshTokenPolicy>zero</refreshTokenPolicy>
69
+ </oauthPolicy>
70
+ </ConnectedApp>
71
+ ```
72
+
73
+ **Score**: 108/120 ⭐⭐⭐⭐⭐
74
+
75
+ ---
76
+
77
+ ## Example 3: Create a Mobile App with External Client App
78
+
79
+ **Request**:
80
+ ```
81
+ Create an External Client App for our mobile app "FieldServiceMobile".
82
+ It needs PKCE enabled, refresh tokens, and should be packageable for distribution.
83
+ ```
84
+
85
+ **Generated Files**:
86
+
87
+ ### 1. Header File: `FieldServiceMobile.eca-meta.xml`
88
+ ```xml
89
+ <?xml version="1.0" encoding="UTF-8"?>
90
+ <ExternalClientApplication xmlns="http://soap.sforce.com/2006/04/metadata">
91
+ <contactEmail>mobile-team@company.com</contactEmail>
92
+ <description>Field Service mobile application for technicians</description>
93
+ <distributionState>Packageable</distributionState>
94
+ <isProtected>false</isProtected>
95
+ <label>FieldServiceMobile</label>
96
+ </ExternalClientApplication>
97
+ ```
98
+
99
+ ### 2. Global OAuth: `FieldServiceMobile.ecaGlblOauth-meta.xml`
100
+ ```xml
101
+ <?xml version="1.0" encoding="UTF-8"?>
102
+ <ExtlClntAppGlobalOauthSettings xmlns="http://soap.sforce.com/2006/04/metadata">
103
+ <callbackUrl>fieldservicemobile://oauth/callback</callbackUrl>
104
+ <externalClientApplication>FieldServiceMobile</externalClientApplication>
105
+ <isConsumerSecretOptional>true</isConsumerSecretOptional>
106
+ <isPkceRequired>true</isPkceRequired>
107
+ <label>Field Service Mobile Global OAuth</label>
108
+ <shouldRotateConsumerKey>true</shouldRotateConsumerKey>
109
+ <shouldRotateConsumerSecret>true</shouldRotateConsumerSecret>
110
+ </ExtlClntAppGlobalOauthSettings>
111
+ ```
112
+
113
+ ### 3. OAuth Settings: `FieldServiceMobile.ecaOauth-meta.xml`
114
+ ```xml
115
+ <?xml version="1.0" encoding="UTF-8"?>
116
+ <ExtlClntAppOauthSettings xmlns="http://soap.sforce.com/2006/04/metadata">
117
+ <commaSeparatedOauthScopes>Api, RefreshToken, OpenID</commaSeparatedOauthScopes>
118
+ <externalClientApplication>FieldServiceMobile</externalClientApplication>
119
+ <label>Field Service Mobile OAuth Settings</label>
120
+ </ExtlClntAppOauthSettings>
121
+ ```
122
+
123
+ ### 4. Optional OAuth Security Settings (retrieve-first)
124
+ ```bash
125
+ sf project retrieve start \
126
+ --metadata ExtlClntAppOauthSecuritySettings:FieldServiceMobile \
127
+ --target-org my-devhub
128
+ ```
129
+
130
+ **Score**: 115/120 ⭐⭐⭐⭐⭐
131
+
132
+ ---
133
+
134
+ ## Example 4: Review Existing Connected Apps
135
+
136
+ **Request**:
137
+ ```
138
+ Review and score my existing Connected Apps for security best practices.
139
+ ```
140
+
141
+ **Process**:
142
+ 1. Scan: `Glob: **/*.connectedApp-meta.xml`
143
+ 2. Read each file
144
+ 3. Validate against scoring criteria
145
+ 4. Generate report
146
+
147
+ **Sample Report**:
148
+ ```
149
+ 📊 CONNECTED APP SECURITY REVIEW
150
+ ════════════════════════════════════════════════════════════════
151
+
152
+ 🔍 Apps Scanned: 3
153
+ 📅 Review Date: 2025-01-15
154
+
155
+ ┌────────────────────────────┬────────┬────────┬──────────────────┐
156
+ │ App Name │ Score │ Rating │ Critical Issues │
157
+ ├────────────────────────────┼────────┼────────┼──────────────────┤
158
+ │ LegacyERPConnector │ 45/120 │ ⭐ │ 3 │
159
+ │ MobileAppV2 │ 82/120 │ ⭐⭐⭐ │ 0 │
160
+ │ DataSyncIntegration │ 95/120 │ ⭐⭐⭐⭐│ 0 │
161
+ └────────────────────────────┴────────┴────────┴──────────────────┘
162
+
163
+ 🚨 CRITICAL ISSUES
164
+
165
+ LegacyERPConnector:
166
+ ❌ Wildcard callback URL detected (https://*)
167
+ ❌ Full scope granted (overly permissive)
168
+ ❌ No IP restrictions configured
169
+ ⚠️ Recommend: Migrate to External Client App
170
+
171
+ ✅ RECOMMENDATIONS
172
+
173
+ 1. LegacyERPConnector: URGENT - Fix security issues or migrate to ECA
174
+ 2. MobileAppV2: Enable PKCE for mobile security
175
+ 3. DataSyncIntegration: Consider enabling token rotation
176
+ ```
177
+
178
+ ---
179
+
180
+ ## Example 5: Migrate Connected App to External Client App
181
+
182
+ **Request**:
183
+ ```
184
+ Migrate our "SalesPortal" Connected App to an External Client App for better security.
185
+ ```
186
+
187
+ **Process**:
188
+ 1. Read existing Connected App configuration
189
+ 2. Map OAuth settings to ECA structure
190
+ 3. Generate all required ECA files
191
+ 4. Provide migration checklist
192
+
193
+ **Output**:
194
+ ```
195
+ 📦 MIGRATION PLAN: SalesPortal → External Client App
196
+ ════════════════════════════════════════════════════════════════
197
+
198
+ 📋 Source Configuration
199
+ Type: Connected App
200
+ OAuth Flow: Authorization Code
201
+ Scopes: Api, RefreshToken, OpenID
202
+ IP Policy: ENFORCE
203
+
204
+ 📄 Files to Generate:
205
+ 1. SalesPortalECA.eca-meta.xml
206
+ 2. SalesPortalECA.ecaGlblOauth-meta.xml
207
+ 3. SalesPortalECA.ecaOauth-meta.xml
208
+ 4. (Optional) SalesPortalECA.ecaOauthSecurity-meta.xml after retrieve-first validation
209
+
210
+ 🔄 Migration Steps:
211
+ 1. ✓ Generate ECA metadata files
212
+ 2. □ Deploy ECA to DevHub
213
+ 3. □ Generate new Consumer Key/Secret
214
+ 4. □ Update external application with new credentials
215
+ 5. □ Test OAuth flow
216
+ 6. □ Configure policies in subscriber orgs
217
+ 7. □ Deactivate old Connected App
218
+ 8. □ Monitor for 30 days before deletion
219
+
220
+ ⚠️ Breaking Change: New Consumer Key/Secret required
221
+ ```
222
+
223
+ ---
224
+
225
+ ## Deployment Commands
226
+
227
+ ### Deploy Connected App
228
+ ```bash
229
+ sf project deploy start \
230
+ --source-dir force-app/main/default/connectedApps \
231
+ --target-org my-org
232
+ ```
233
+
234
+ ### Deploy External Client App
235
+ ```bash
236
+ sf project deploy start \
237
+ --metadata ExternalClientApplication:MyECAName \
238
+ --metadata ExtlClntAppGlobalOauthSettings:MyECAName \
239
+ --metadata ExtlClntAppOauthSettings:MyECAName \
240
+ --target-org my-devhub
241
+ ```
242
+
243
+ ### Retrieve Existing Apps
244
+ ```bash
245
+ # Connected Apps
246
+ sf project retrieve start \
247
+ --metadata ConnectedApp:MyAppName \
248
+ --target-org my-org
249
+
250
+ # External Client Apps (header + companions)
251
+ sf project retrieve start \
252
+ --metadata ExternalClientApplication:MyECAName \
253
+ --metadata ExtlClntAppGlobalOauthSettings:MyECAName \
254
+ --metadata ExtlClntAppOauthSettings:MyECAName \
255
+ --target-org my-org
256
+ ```
@@ -0,0 +1,328 @@
1
+ <!-- Parent: configuring-connected-apps/SKILL.md -->
2
+ # Migration Guide: Connected App → External Client App
3
+
4
+ Step-by-step guide for migrating from Connected Apps to External Client Apps (ECAs).
5
+
6
+ ## Why Migrate?
7
+
8
+ | Feature | Connected App | External Client App |
9
+ |---------|--------------|---------------------|
10
+ | Metadata Compliance | Partial | Full |
11
+ | Secret in Sandboxes | Visible | Hidden |
12
+ | Key Rotation | Manual | Automated via API |
13
+ | Multi-Org Distribution | Manual recreation | Native 2GP packaging |
14
+ | Audit Logging | Limited | MFA + full audit |
15
+ | Security Model | Open by default | Closed by default |
16
+
17
+ **Migrate when**:
18
+ - Distributing to multiple orgs (ISV, enterprise)
19
+ - Compliance requires audit trails
20
+ - DevOps needs automated credential rotation
21
+ - Moving to 2GP packaging
22
+
23
+ ---
24
+
25
+ ## Migration Process
26
+
27
+ ### Phase 1: Assessment
28
+
29
+ #### 1.1 Inventory Current Apps
30
+
31
+ ```bash
32
+ # List all Connected Apps
33
+ sf org list metadata --metadata-type ConnectedApp --target-org <org>
34
+
35
+ # Retrieve for analysis
36
+ sf project retrieve start --metadata ConnectedApp --output-dir ./migration-review
37
+ ```
38
+
39
+ #### 1.2 Document Configuration
40
+
41
+ For each Connected App, record:
42
+
43
+ | Setting | Value |
44
+ |---------|-------|
45
+ | App Name | |
46
+ | Consumer Key | |
47
+ | OAuth Scopes | |
48
+ | Callback URLs | |
49
+ | IP Restrictions | |
50
+ | Token Policy | |
51
+ | Certificate (if JWT) | |
52
+
53
+ #### 1.3 Identify Integrations
54
+
55
+ List all systems using each Connected App:
56
+ - External applications
57
+ - CI/CD pipelines
58
+ - Third-party tools
59
+ - Mobile applications
60
+
61
+ ---
62
+
63
+ ### Phase 2: Planning
64
+
65
+ #### 2.1 Choose Distribution Model
66
+
67
+ | Scenario | Distribution State |
68
+ |----------|-------------------|
69
+ | Single org only | `Local` |
70
+ | Multiple orgs, same company | `Local` per org or `Packageable` |
71
+ | ISV/AppExchange | `Packageable` |
72
+
73
+ #### 2.2 Plan Credential Rollover
74
+
75
+ ```
76
+ Timeline Example:
77
+ Week 1: Create ECA, deploy to DevHub
78
+ Week 2: Update integration systems with new credentials
79
+ Week 3: Test in sandbox environments
80
+ Week 4: Production cutover
81
+ Week 5-8: Monitor, keep old app active as fallback
82
+ Week 9: Deactivate Connected App
83
+ Week 12: Delete Connected App
84
+ ```
85
+
86
+ ---
87
+
88
+ ### Phase 3: Create External Client App
89
+
90
+ #### 3.1 Prepare Scratch Org (if needed)
91
+
92
+ ```json
93
+ // config/project-scratch-def.json
94
+ {
95
+ "orgName": "ECA Migration Dev",
96
+ "edition": "Developer",
97
+ "features": [
98
+ "ExternalClientApps",
99
+ "ExtlClntAppSecretExposeCtl"
100
+ ]
101
+ }
102
+ ```
103
+
104
+ #### 3.2 Create ECA Metadata Files
105
+
106
+ **File 1: Header** (`MyApp.eca-meta.xml`)
107
+ ```xml
108
+ <?xml version="1.0" encoding="UTF-8"?>
109
+ <ExternalClientApplication xmlns="http://soap.sforce.com/2006/04/metadata">
110
+ <contactEmail>team@company.com</contactEmail>
111
+ <description>Migrated from Connected App: MyConnectedApp</description>
112
+ <distributionState>Local</distributionState>
113
+ <isProtected>false</isProtected>
114
+ <label>MyApp</label>
115
+ </ExternalClientApplication>
116
+ ```
117
+
118
+ **File 2: Global OAuth** (`MyApp.ecaGlblOauth-meta.xml`)
119
+ ```xml
120
+ <?xml version="1.0" encoding="UTF-8"?>
121
+ <ExtlClntAppGlobalOauthSettings xmlns="http://soap.sforce.com/2006/04/metadata">
122
+ <callbackUrl>https://app.example.com/oauth/callback</callbackUrl>
123
+ <externalClientApplication>MyApp</externalClientApplication>
124
+ <isConsumerSecretOptional>false</isConsumerSecretOptional>
125
+ <isPkceRequired>true</isPkceRequired>
126
+ <label>MyApp Global OAuth</label>
127
+ <shouldRotateConsumerKey>true</shouldRotateConsumerKey>
128
+ <shouldRotateConsumerSecret>true</shouldRotateConsumerSecret>
129
+ </ExtlClntAppGlobalOauthSettings>
130
+ ```
131
+
132
+ **File 3: OAuth Settings** (`MyApp.ecaOauth-meta.xml`)
133
+ ```xml
134
+ <?xml version="1.0" encoding="UTF-8"?>
135
+ <ExtlClntAppOauthSettings xmlns="http://soap.sforce.com/2006/04/metadata">
136
+ <commaSeparatedOauthScopes>Api, RefreshToken</commaSeparatedOauthScopes>
137
+ <externalClientApplication>MyApp</externalClientApplication>
138
+ <label>MyApp OAuth Settings</label>
139
+ </ExtlClntAppOauthSettings>
140
+ ```
141
+
142
+ **Optional companion metadata (retrieve-first):** `MyApp.ecaOauthSecurity-meta.xml`
143
+ - Use this when you need to source-control ECA OAuth security settings now supported by the CLI/SDR registry.
144
+ - Recommended workflow: retrieve from an org first, then commit the retrieved file under `extlClntAppOauthSecuritySettings/`.
145
+
146
+ #### 3.3 Deploy to DevHub/Org
147
+
148
+ ```bash
149
+ sf project deploy start \
150
+ --metadata ExternalClientApplication:MyApp \
151
+ --metadata ExtlClntAppGlobalOauthSettings:MyApp \
152
+ --metadata ExtlClntAppOauthSettings:MyApp \
153
+ --target-org <target-org>
154
+ ```
155
+
156
+ #### 3.4 Retrieve New Consumer Key
157
+
158
+ After deployment:
159
+ 1. Go to Setup → External Client App Manager
160
+ 2. Select your ECA
161
+ 3. View Consumer Key (MFA required)
162
+ 4. Securely store credentials
163
+
164
+ ---
165
+
166
+ ### Phase 4: Update Integrations
167
+
168
+ #### 4.1 Update External Systems
169
+
170
+ For each integrated system:
171
+
172
+ 1. Update OAuth endpoint (if different environment)
173
+ 2. Replace Consumer Key
174
+ 3. Replace Consumer Secret
175
+ 4. Test authentication flow
176
+ 5. Verify API access
177
+
178
+ #### 4.2 Configuration Mapping
179
+
180
+ | Connected App Setting | ECA Equivalent |
181
+ |----------------------|----------------|
182
+ | Consumer Key | New Consumer Key (different) |
183
+ | Consumer Secret | New Consumer Secret (different) |
184
+ | Callback URL | Same (in `ecaGlblOauth`) |
185
+ | Scopes | Same (in `ecaOauth`) |
186
+ | IP Relaxation | In `ecaPlcy` (admin-managed) |
187
+ | Refresh Token Policy | In `ecaPlcy` (admin-managed) |
188
+ | OAuth security controls | In `ecaOauthSecurity` when source-controlled (retrieve-first) |
189
+
190
+ ---
191
+
192
+ ### Phase 5: Testing
193
+
194
+ #### 5.1 Test Checklist
195
+
196
+ - [ ] Authorization Code flow works
197
+ - [ ] Token refresh works
198
+ - [ ] API calls succeed
199
+ - [ ] Scopes are correct
200
+ - [ ] Error handling works
201
+ - [ ] Logout/revocation works
202
+
203
+ #### 5.2 Test Script
204
+
205
+ ```bash
206
+ # Test Authorization Code Flow
207
+ curl "https://login.salesforce.com/services/oauth2/authorize?\
208
+ response_type=code&\
209
+ client_id=<NEW_CONSUMER_KEY>&\
210
+ redirect_uri=<CALLBACK_URL>&\
211
+ scope=api%20refresh_token"
212
+
213
+ # Test Token Exchange
214
+ curl -X POST https://login.salesforce.com/services/oauth2/token \
215
+ -d "grant_type=authorization_code" \
216
+ -d "code=<AUTH_CODE>" \
217
+ -d "client_id=<NEW_CONSUMER_KEY>" \
218
+ -d "client_secret=<NEW_CONSUMER_SECRET>" \
219
+ -d "redirect_uri=<CALLBACK_URL>"
220
+ ```
221
+
222
+ ---
223
+
224
+ ### Phase 6: Cutover
225
+
226
+ #### 6.1 Production Deployment
227
+
228
+ ```bash
229
+ # Deploy ECA to production
230
+ sf project deploy start \
231
+ --metadata ExternalClientApplication:MyApp \
232
+ --metadata ExtlClntAppGlobalOauthSettings:MyApp \
233
+ --metadata ExtlClntAppOauthSettings:MyApp \
234
+ --target-org production
235
+ ```
236
+
237
+ #### 6.2 Cutover Steps
238
+
239
+ 1. Deploy ECA to production
240
+ 2. Configure policies in Setup
241
+ 3. Update production integrations
242
+ 4. Monitor for errors
243
+ 5. Keep Connected App active as fallback
244
+
245
+ ---
246
+
247
+ ### Phase 7: Decommission
248
+
249
+ #### 7.1 Deactivate Connected App
250
+
251
+ 1. Go to Setup → Connected Apps → Manage Connected Apps
252
+ 2. Select the old Connected App
253
+ 3. Click "Edit Policies"
254
+ 4. Set "Permitted Users" to "Admin approved users are pre-authorized"
255
+ 5. Remove all user/profile assignments
256
+
257
+ #### 7.2 Monitor Period
258
+
259
+ - Monitor for 30 days minimum
260
+ - Check for authentication failures
261
+ - Investigate any traffic to old app
262
+
263
+ #### 7.3 Delete Connected App
264
+
265
+ After monitoring period:
266
+
267
+ ```bash
268
+ # Remove from source control
269
+ rm force-app/main/default/connectedApps/OldApp.connectedApp-meta.xml
270
+
271
+ # Or delete via Setup UI
272
+ ```
273
+
274
+ ---
275
+
276
+ ## Rollback Plan
277
+
278
+ If migration fails:
279
+
280
+ 1. **Immediate**: Revert external systems to old Consumer Key
281
+ 2. **Short-term**: Keep Connected App active during transition
282
+ 3. **Long-term**: Document issues and retry migration
283
+
284
+ ---
285
+
286
+ ## Common Issues
287
+
288
+ | Issue | Cause | Solution |
289
+ |-------|-------|----------|
290
+ | "Invalid consumer key" | Using old key | Update to new ECA key |
291
+ | "Callback URL mismatch" | URL not in ECA config | Add URL to `ecaGlblOauth` |
292
+ | "Scope not allowed" | Scope not in `ecaOauth` | Add required scope |
293
+ | "User not authorized" | No policy assignment | Assign user via Permission Set |
294
+ | "MFA required" | ECA security | Complete MFA challenge |
295
+
296
+ ---
297
+
298
+ ## Automation Script
299
+
300
+ ```bash
301
+ #!/bin/bash
302
+ # migrate-connected-app.sh
303
+
304
+ APP_NAME=$1
305
+ TARGET_ORG=$2
306
+
307
+ echo "📦 Migrating Connected App: $APP_NAME"
308
+
309
+ # 1. Retrieve existing Connected App
310
+ sf project retrieve start \
311
+ --metadata "ConnectedApp:$APP_NAME" \
312
+ --target-org $TARGET_ORG \
313
+ --output-dir ./migration
314
+
315
+ # 2. Create ECA source directories
316
+ mkdir -p force-app/main/default/externalClientApps
317
+ mkdir -p force-app/main/default/extlClntAppGlobalOauthSets
318
+ mkdir -p force-app/main/default/extlClntAppOauthSettings
319
+ # Optional when you source-control security settings:
320
+ mkdir -p force-app/main/default/extlClntAppOauthSecuritySettings
321
+
322
+ # 3. Deploy ECA (assumes files are created)
323
+ sf project deploy start \
324
+ --source-dir force-app/main/default \
325
+ --target-org $TARGET_ORG
326
+
327
+ echo "✅ ECA deployed. Retrieve new Consumer Key from Setup."
328
+ ```