@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.
- package/package.json +1 -1
- package/skills/activating-datacloud/CREDITS.md +5 -0
- package/skills/activating-datacloud/README.md +39 -0
- package/skills/activating-datacloud/SKILL.md +118 -0
- package/skills/analyzing-omnistudio-dependencies/CREDITS.md +5 -0
- package/skills/analyzing-omnistudio-dependencies/SKILL.md +477 -0
- package/skills/analyzing-omnistudio-dependencies/references/dependency-patterns.md +508 -0
- package/skills/analyzing-omnistudio-dependencies/references/namespace-guide.md +300 -0
- package/skills/building-omnistudio-callable-apex/CREDITS.md +9 -0
- package/skills/building-omnistudio-callable-apex/README.md +80 -0
- package/skills/building-omnistudio-callable-apex/SKILL.md +276 -0
- package/skills/building-omnistudio-callable-apex/assets/pattern_callable_openinterface.cls +40 -0
- package/skills/building-omnistudio-callable-apex/assets/pattern_callable_vanilla.cls +32 -0
- package/skills/building-omnistudio-callable-apex/assets/pattern_migration.cls +54 -0
- package/skills/building-omnistudio-callable-apex/assets/pattern_openinterface.cls +45 -0
- package/skills/building-omnistudio-callable-apex/assets/pattern_test_class.cls +65 -0
- package/skills/building-omnistudio-callable-apex/examples/Test_QuoteByProductCallable/IndustriesCallableException.cls +7 -0
- package/skills/building-omnistudio-callable-apex/examples/Test_QuoteByProductCallable/Industries_QuoteByProductCallable.cls +115 -0
- package/skills/building-omnistudio-callable-apex/examples/Test_QuoteByProductCallable/Industries_QuoteByProductCallableTest.cls +189 -0
- package/skills/building-omnistudio-callable-apex/examples/Test_QuoteByProductCallable/TRANSCRIPT.md +115 -0
- package/skills/building-omnistudio-callable-apex/examples/Test_VlocityOpenInterface2Conversion/IndustriesCallableException.cls +7 -0
- package/skills/building-omnistudio-callable-apex/examples/Test_VlocityOpenInterface2Conversion/MyCustomCallable.cls +74 -0
- package/skills/building-omnistudio-callable-apex/examples/Test_VlocityOpenInterface2Conversion/MyCustomCallableTest.cls +146 -0
- package/skills/building-omnistudio-callable-apex/examples/Test_VlocityOpenInterface2Conversion/MyCustomRemoteClass.cls +16 -0
- package/skills/building-omnistudio-callable-apex/examples/Test_VlocityOpenInterface2Conversion/TRANSCRIPT.md +120 -0
- package/skills/building-omnistudio-callable-apex/examples/Test_VlocityOpenInterfaceConversion/IndustriesCallableException.cls +7 -0
- package/skills/building-omnistudio-callable-apex/examples/Test_VlocityOpenInterfaceConversion/MyCustomCallable.cls +73 -0
- package/skills/building-omnistudio-callable-apex/examples/Test_VlocityOpenInterfaceConversion/MyCustomCallableTest.cls +128 -0
- package/skills/building-omnistudio-callable-apex/examples/Test_VlocityOpenInterfaceConversion/MyCustomVlocityOpenInterface2.cls +23 -0
- package/skills/building-omnistudio-callable-apex/examples/Test_VlocityOpenInterfaceConversion/TRANSCRIPT.md +75 -0
- package/skills/building-omnistudio-datamapper/CREDITS.md +5 -0
- package/skills/building-omnistudio-datamapper/SKILL.md +270 -0
- package/skills/building-omnistudio-datamapper/assets/completion-summary-template.md +28 -0
- package/skills/building-omnistudio-datamapper/assets/omni-data-transform-extract.json +6 -0
- package/skills/building-omnistudio-datamapper/assets/omni-data-transform-item.json +12 -0
- package/skills/building-omnistudio-datamapper/assets/omni-data-transform-load.json +6 -0
- package/skills/building-omnistudio-datamapper/assets/omni-data-transform-transform.json +6 -0
- package/skills/building-omnistudio-datamapper/references/best-practices.md +277 -0
- package/skills/building-omnistudio-datamapper/references/naming-conventions.md +145 -0
- package/skills/building-omnistudio-flexcard/CREDITS.md +5 -0
- package/skills/building-omnistudio-flexcard/SKILL.md +325 -0
- package/skills/building-omnistudio-flexcard/assets/omni-ui-card.json +10 -0
- package/skills/building-omnistudio-flexcard/references/best-practices.md +291 -0
- package/skills/building-omnistudio-flexcard/references/data-binding-guide.md +311 -0
- package/skills/building-omnistudio-flexcard/references/scoring-rubric.md +66 -0
- package/skills/building-omnistudio-flexcard/scripts/flexcard-commands.sh +24 -0
- package/skills/building-omnistudio-integration-procedure/CREDITS.md +5 -0
- package/skills/building-omnistudio-integration-procedure/SKILL.md +275 -0
- package/skills/building-omnistudio-integration-procedure/assets/omni-process-element-dr-extract.json +10 -0
- package/skills/building-omnistudio-integration-procedure/assets/omni-process-element-set-values.json +10 -0
- package/skills/building-omnistudio-integration-procedure/assets/omni-process-ip.json +12 -0
- package/skills/building-omnistudio-integration-procedure/assets/scoring-report-format.txt +14 -0
- package/skills/building-omnistudio-integration-procedure/references/best-practices.md +388 -0
- package/skills/building-omnistudio-integration-procedure/references/element-types.md +588 -0
- package/skills/building-omnistudio-integration-procedure/scripts/cli-commands.sh +18 -0
- package/skills/building-omnistudio-omniscript/CREDITS.md +5 -0
- package/skills/building-omnistudio-omniscript/SKILL.md +367 -0
- package/skills/building-omnistudio-omniscript/assets/omni-process-element-step.json +10 -0
- package/skills/building-omnistudio-omniscript/assets/omni-process-element-text-block.json +11 -0
- package/skills/building-omnistudio-omniscript/assets/omni-process-omniscript.json +12 -0
- package/skills/building-omnistudio-omniscript/references/best-practices.md +480 -0
- package/skills/building-omnistudio-omniscript/references/element-types.md +1172 -0
- package/skills/building-omnistudio-omniscript/scripts/check-duplicate-omniscript.sh +13 -0
- package/skills/building-omnistudio-omniscript/scripts/cli-reference.sh +21 -0
- package/skills/building-omnistudio-omniscript/scripts/deploy-omniscript.sh +29 -0
- package/skills/building-sf-integrations/CREDITS.md +5 -0
- package/skills/building-sf-integrations/README.md +95 -0
- package/skills/building-sf-integrations/SKILL.md +192 -0
- package/skills/building-sf-integrations/assets/callouts/callout-retry-handler.cls +167 -0
- package/skills/building-sf-integrations/assets/callouts/http-response-handler.cls +257 -0
- package/skills/building-sf-integrations/assets/callouts/rest-queueable-callout.cls +262 -0
- package/skills/building-sf-integrations/assets/callouts/rest-sync-callout.cls +211 -0
- package/skills/building-sf-integrations/assets/cdc/cdc-handler.cls +246 -0
- package/skills/building-sf-integrations/assets/cdc/cdc-subscriber-trigger.trigger +139 -0
- package/skills/building-sf-integrations/assets/endpoint-security/example.cspTrustedSite-meta.xml +58 -0
- package/skills/building-sf-integrations/assets/endpoint-security/example.remoteSite-meta.xml +39 -0
- package/skills/building-sf-integrations/assets/external-credentials/jwt-external-credential.externalCredential-meta.xml +90 -0
- package/skills/building-sf-integrations/assets/external-credentials/oauth-external-credential.externalCredential-meta.xml +87 -0
- package/skills/building-sf-integrations/assets/external-services/external-service-operations.md +221 -0
- package/skills/building-sf-integrations/assets/external-services/openapi-registration.externalServiceRegistration-meta.xml +193 -0
- package/skills/building-sf-integrations/assets/named-credentials/certificate-auth.namedCredential-meta.xml +62 -0
- package/skills/building-sf-integrations/assets/named-credentials/custom-auth.namedCredential-meta.xml +71 -0
- package/skills/building-sf-integrations/assets/named-credentials/oauth-client-credentials.namedCredential-meta.xml +51 -0
- package/skills/building-sf-integrations/assets/named-credentials/oauth-jwt-bearer.namedCredential-meta.xml +67 -0
- package/skills/building-sf-integrations/assets/platform-events/event-publisher.cls +191 -0
- package/skills/building-sf-integrations/assets/platform-events/event-subscriber-action.cls +295 -0
- package/skills/building-sf-integrations/assets/platform-events/event-subscriber-trigger.trigger +108 -0
- package/skills/building-sf-integrations/assets/platform-events/platform-event-definition.object-meta.xml +124 -0
- package/skills/building-sf-integrations/assets/soap/soap-callout-service.cls +186 -0
- package/skills/building-sf-integrations/assets/soap/wsdl2apex-guide.md +213 -0
- package/skills/building-sf-integrations/hooks/scripts/suggest_credential_setup.py +271 -0
- package/skills/building-sf-integrations/hooks/scripts/validate_integration.py +363 -0
- package/skills/building-sf-integrations/references/callout-patterns.md +719 -0
- package/skills/building-sf-integrations/references/cdc-guide.md +288 -0
- package/skills/building-sf-integrations/references/cli-reference.md +94 -0
- package/skills/building-sf-integrations/references/event-driven-architecture-guide.md +266 -0
- package/skills/building-sf-integrations/references/event-patterns.md +838 -0
- package/skills/building-sf-integrations/references/external-services-guide.md +303 -0
- package/skills/building-sf-integrations/references/messaging-api-v2.md +609 -0
- package/skills/building-sf-integrations/references/named-credentials-automation.md +201 -0
- package/skills/building-sf-integrations/references/named-credentials-guide.md +173 -0
- package/skills/building-sf-integrations/references/platform-events-guide.md +288 -0
- package/skills/building-sf-integrations/references/rest-callout-patterns.md +288 -0
- package/skills/building-sf-integrations/references/scoring-rubric.md +59 -0
- package/skills/building-sf-integrations/references/security-best-practices.md +248 -0
- package/skills/building-sf-integrations/scripts/README.md +100 -0
- package/skills/building-sf-integrations/scripts/configure-named-credential.sh +236 -0
- package/skills/building-sf-integrations/scripts/set-api-credential.sh +146 -0
- package/skills/building-sf-integrations/scripts/templates/setup-credentials-with-csp.sh +158 -0
- package/skills/configuring-connected-apps/CREDITS.md +3 -0
- package/skills/configuring-connected-apps/README.md +99 -0
- package/skills/configuring-connected-apps/SKILL.md +224 -0
- package/skills/configuring-connected-apps/assets/connected-app-basic.xml +29 -0
- package/skills/configuring-connected-apps/assets/connected-app-canvas.xml +62 -0
- package/skills/configuring-connected-apps/assets/connected-app-jwt.xml +49 -0
- package/skills/configuring-connected-apps/assets/connected-app-oauth.xml +65 -0
- package/skills/configuring-connected-apps/assets/eca-global-oauth.xml +36 -0
- package/skills/configuring-connected-apps/assets/eca-oauth-settings.xml +36 -0
- package/skills/configuring-connected-apps/assets/eca-policies.xml +36 -0
- package/skills/configuring-connected-apps/assets/external-client-app.xml +35 -0
- package/skills/configuring-connected-apps/references/example-usage.md +256 -0
- package/skills/configuring-connected-apps/references/migration-guide.md +328 -0
- package/skills/configuring-connected-apps/references/oauth-flows-reference.md +660 -0
- package/skills/configuring-connected-apps/references/security-checklist.md +209 -0
- package/skills/configuring-connected-apps/references/testing-validation-guide.md +275 -0
- package/skills/connecting-datacloud/CREDITS.md +5 -0
- package/skills/connecting-datacloud/README.md +59 -0
- package/skills/connecting-datacloud/SKILL.md +155 -0
- package/skills/connecting-datacloud/examples/connections/heroku-postgres.json +15 -0
- package/skills/connecting-datacloud/examples/connections/ingest-api-connection.json +5 -0
- package/skills/connecting-datacloud/examples/connections/ingest-api-schema.json +31 -0
- package/skills/connecting-datacloud/examples/connections/redshift.json +16 -0
- package/skills/connecting-datacloud/examples/connections/sharepoint-unstructured.json +20 -0
- package/skills/connecting-datacloud/examples/connections/snowflake-connection.json +42 -0
- package/skills/debugging-apex-logs/CREDITS.md +22 -0
- package/skills/debugging-apex-logs/README.md +74 -0
- package/skills/debugging-apex-logs/SKILL.md +172 -0
- package/skills/debugging-apex-logs/assets/benchmarking-template.cls +327 -0
- package/skills/debugging-apex-logs/assets/cpu-heap-optimization.cls +307 -0
- package/skills/debugging-apex-logs/assets/dml-in-loop-fix.cls +219 -0
- package/skills/debugging-apex-logs/assets/null-pointer-fix.cls +252 -0
- package/skills/debugging-apex-logs/assets/soql-in-loop-fix.cls +157 -0
- package/skills/debugging-apex-logs/references/analysis-playbook.md +53 -0
- package/skills/debugging-apex-logs/references/benchmarking-guide.md +287 -0
- package/skills/debugging-apex-logs/references/cli-commands.md +368 -0
- package/skills/debugging-apex-logs/references/common-issues.md +68 -0
- package/skills/debugging-apex-logs/references/debug-log-reference.md +328 -0
- package/skills/debugging-apex-logs/references/log-analysis-tools.md +248 -0
- package/skills/debugging-apex-logs/references/scoring-rubric.md +21 -0
- package/skills/deploying-metadata/CREDITS.md +25 -0
- package/skills/deploying-metadata/README.md +104 -0
- package/skills/deploying-metadata/SKILL.md +214 -0
- package/skills/deploying-metadata/assets/destructiveChanges.xml +143 -0
- package/skills/deploying-metadata/assets/package.xml +121 -0
- package/skills/deploying-metadata/references/agent-deployment-guide.md +628 -0
- package/skills/deploying-metadata/references/deploy.sh +73 -0
- package/skills/deploying-metadata/references/deployment-report-template.md +89 -0
- package/skills/deploying-metadata/references/deployment-workflows.md +395 -0
- package/skills/deploying-metadata/references/orchestration.md +183 -0
- package/skills/deploying-metadata/references/trigger-deployment-safety.md +376 -0
- package/skills/deploying-omnistudio-datapacks/CREDITS.md +5 -0
- package/skills/deploying-omnistudio-datapacks/README.md +88 -0
- package/skills/deploying-omnistudio-datapacks/SKILL.md +174 -0
- package/skills/deploying-omnistudio-datapacks/examples/business-internet-plus-bundle/TRANSCRIPT.md +124 -0
- package/skills/deploying-omnistudio-datapacks/examples/business-internet-plus-bundle/deploy-business-internet-plus-bundle.yaml +11 -0
- package/skills/deploying-omnistudio-datapacks/examples/business-internet-plus-bundle-deploy/TRANSCRIPT.md +142 -0
- package/skills/deploying-omnistudio-datapacks/examples/business-internet-plus-bundle-deploy/deploy-business-internet-plus-bundle.yaml +10 -0
- package/skills/deploying-omnistudio-datapacks/references/job-file-template.md +42 -0
- package/skills/deploying-omnistudio-datapacks/references/troubleshooting-matrix.md +24 -0
- package/skills/developing-agentforce/assets/metadata/http-callout-flow.flow-meta.xml +1 -1
- package/skills/developing-agentforce/references/actions-reference.md +8 -8
- package/skills/fetching-salesforce-docs/README.md +66 -0
- package/skills/fetching-salesforce-docs/SKILL.md +209 -0
- package/skills/fetching-salesforce-docs/requirements.txt +2 -0
- package/skills/fetching-salesforce-docs/scripts/extract_help_salesforce.py +497 -0
- package/skills/fetching-salesforce-docs/scripts/extract_salesforce_doc.py +357 -0
- package/skills/fetching-salesforce-docs/scripts/runtime_bootstrap.py +58 -0
- package/skills/generating-apex/CREDITS.md +1 -26
- package/skills/generating-apex-test/CREDITS.md +2 -27
- package/skills/generating-lwc-components/CREDITS.md +5 -0
- package/skills/generating-lwc-components/README.md +126 -0
- package/skills/generating-lwc-components/SKILL.md +191 -0
- package/skills/generating-lwc-components/assets/apex-controller/LwcController.cls +327 -0
- package/skills/generating-lwc-components/assets/basic-component/basicComponent.css +72 -0
- package/skills/generating-lwc-components/assets/basic-component/basicComponent.html +111 -0
- package/skills/generating-lwc-components/assets/basic-component/basicComponent.js +163 -0
- package/skills/generating-lwc-components/assets/basic-component/basicComponent.js-meta.xml +137 -0
- package/skills/generating-lwc-components/assets/datatable-component/datatableComponent.html +111 -0
- package/skills/generating-lwc-components/assets/datatable-component/datatableComponent.js +367 -0
- package/skills/generating-lwc-components/assets/flow-screen-component/flowScreenComponent.css +63 -0
- package/skills/generating-lwc-components/assets/flow-screen-component/flowScreenComponent.html +154 -0
- package/skills/generating-lwc-components/assets/flow-screen-component/flowScreenComponent.js +348 -0
- package/skills/generating-lwc-components/assets/flow-screen-component/flowScreenComponent.js-meta.xml +87 -0
- package/skills/generating-lwc-components/assets/form-component/formComponent.html +165 -0
- package/skills/generating-lwc-components/assets/form-component/formComponent.js +275 -0
- package/skills/generating-lwc-components/assets/graphql-component/graphqlComponent.html +100 -0
- package/skills/generating-lwc-components/assets/graphql-component/graphqlComponent.js +336 -0
- package/skills/generating-lwc-components/assets/jest-test/componentName.test.js.example +371 -0
- package/skills/generating-lwc-components/assets/message-channel/RecordSelected.messageChannel-meta.xml +71 -0
- package/skills/generating-lwc-components/assets/message-channel/lmsPublisher.js +103 -0
- package/skills/generating-lwc-components/assets/message-channel/lmsSubscriber.js +181 -0
- package/skills/generating-lwc-components/assets/modal-component/modalComponent.html +85 -0
- package/skills/generating-lwc-components/assets/modal-component/modalComponent.js +199 -0
- package/skills/generating-lwc-components/assets/record-picker/recordPicker.html +55 -0
- package/skills/generating-lwc-components/assets/record-picker/recordPicker.js +199 -0
- package/skills/generating-lwc-components/assets/state-store/store.js +282 -0
- package/skills/generating-lwc-components/assets/typescript-component/typescriptComponent.css +65 -0
- package/skills/generating-lwc-components/assets/typescript-component/typescriptComponent.html +95 -0
- package/skills/generating-lwc-components/assets/typescript-component/typescriptComponent.js-meta.xml +75 -0
- package/skills/generating-lwc-components/assets/typescript-component/typescriptComponent.test.ts.example +301 -0
- package/skills/generating-lwc-components/assets/typescript-component/typescriptComponent.ts +295 -0
- package/skills/generating-lwc-components/assets/workspace-api/workspaceComponent.html +71 -0
- package/skills/generating-lwc-components/assets/workspace-api/workspaceComponent.js +316 -0
- package/skills/generating-lwc-components/hooks/scripts/lwc-lsp-validate.py +295 -0
- package/skills/generating-lwc-components/hooks/scripts/post-tool-validate.py +347 -0
- package/skills/generating-lwc-components/hooks/scripts/slds_data/deprecated_patterns.json +74 -0
- package/skills/generating-lwc-components/hooks/scripts/slds_data/styling_hooks.json +111 -0
- package/skills/generating-lwc-components/hooks/scripts/slds_data/valid_slds_classes.json +127 -0
- package/skills/generating-lwc-components/hooks/scripts/slds_linter_wrapper.py +294 -0
- package/skills/generating-lwc-components/hooks/scripts/slds_rules/__init__.py +22 -0
- package/skills/generating-lwc-components/hooks/scripts/template_validator.py +332 -0
- package/skills/generating-lwc-components/hooks/scripts/validate_slds.py +595 -0
- package/skills/generating-lwc-components/references/accessibility-guide.md +843 -0
- package/skills/generating-lwc-components/references/advanced-features.md +108 -0
- package/skills/generating-lwc-components/references/async-notification-patterns.md +661 -0
- package/skills/generating-lwc-components/references/cli-commands.md +545 -0
- package/skills/generating-lwc-components/references/component-patterns.md +1476 -0
- package/skills/generating-lwc-components/references/flow-integration-guide.md +675 -0
- package/skills/generating-lwc-components/references/jest-testing.md +1011 -0
- package/skills/generating-lwc-components/references/lms-guide.md +860 -0
- package/skills/generating-lwc-components/references/lwc-best-practices.md +1310 -0
- package/skills/generating-lwc-components/references/performance-guide.md +861 -0
- package/skills/generating-lwc-components/references/scoring-and-testing.md +116 -0
- package/skills/generating-lwc-components/references/slds-blueprints.json +14389 -0
- package/skills/generating-lwc-components/references/slds-design-guide.md +166 -0
- package/skills/generating-lwc-components/references/state-management.md +642 -0
- package/skills/generating-lwc-components/references/template-anti-patterns.md +948 -0
- package/skills/generating-lwc-components/references/triangle-pattern.md +365 -0
- package/skills/generating-lwc-components/scripts/local-dev-preview.sh +34 -0
- package/skills/generating-mermaid-diagrams/CREDITS.md +46 -0
- package/skills/generating-mermaid-diagrams/README.md +114 -0
- package/skills/generating-mermaid-diagrams/SKILL.md +218 -0
- package/skills/generating-mermaid-diagrams/assets/agentforce/agent-flow.md +313 -0
- package/skills/generating-mermaid-diagrams/assets/architecture/system-landscape.md +351 -0
- package/skills/generating-mermaid-diagrams/assets/datamodel/b2b-commerce-erd.md +317 -0
- package/skills/generating-mermaid-diagrams/assets/datamodel/campaigns-erd.md +195 -0
- package/skills/generating-mermaid-diagrams/assets/datamodel/consent-erd.md +262 -0
- package/skills/generating-mermaid-diagrams/assets/datamodel/files-erd.md +266 -0
- package/skills/generating-mermaid-diagrams/assets/datamodel/forecasting-erd.md +261 -0
- package/skills/generating-mermaid-diagrams/assets/datamodel/fsl-erd.md +332 -0
- package/skills/generating-mermaid-diagrams/assets/datamodel/party-model-erd.md +237 -0
- package/skills/generating-mermaid-diagrams/assets/datamodel/quote-order-erd.md +277 -0
- package/skills/generating-mermaid-diagrams/assets/datamodel/revenue-cloud-erd.md +343 -0
- package/skills/generating-mermaid-diagrams/assets/datamodel/sales-cloud-erd.md +192 -0
- package/skills/generating-mermaid-diagrams/assets/datamodel/salesforce-erd.md +209 -0
- package/skills/generating-mermaid-diagrams/assets/datamodel/scheduler-erd.md +276 -0
- package/skills/generating-mermaid-diagrams/assets/datamodel/service-cloud-erd.md +217 -0
- package/skills/generating-mermaid-diagrams/assets/datamodel/territory-management-erd.md +241 -0
- package/skills/generating-mermaid-diagrams/assets/integration/api-sequence.md +387 -0
- package/skills/generating-mermaid-diagrams/assets/oauth/authorization-code-pkce.md +197 -0
- package/skills/generating-mermaid-diagrams/assets/oauth/authorization-code.md +152 -0
- package/skills/generating-mermaid-diagrams/assets/oauth/client-credentials.md +233 -0
- package/skills/generating-mermaid-diagrams/assets/oauth/device-authorization.md +295 -0
- package/skills/generating-mermaid-diagrams/assets/oauth/jwt-bearer.md +256 -0
- package/skills/generating-mermaid-diagrams/assets/oauth/refresh-token.md +281 -0
- package/skills/generating-mermaid-diagrams/assets/oauth/user-agent-social-sign-on.md +281 -0
- package/skills/generating-mermaid-diagrams/assets/role-hierarchy/user-hierarchy.md +322 -0
- package/skills/generating-mermaid-diagrams/references/color-palette.md +464 -0
- package/skills/generating-mermaid-diagrams/references/diagram-conventions.md +313 -0
- package/skills/generating-mermaid-diagrams/references/erd-conventions.md +320 -0
- package/skills/generating-mermaid-diagrams/references/mermaid-reference.md +434 -0
- package/skills/generating-mermaid-diagrams/references/mermaid-styling.md +81 -0
- package/skills/generating-mermaid-diagrams/references/preview-guide.md +49 -0
- package/skills/generating-mermaid-diagrams/references/usage-examples.md +340 -0
- package/skills/generating-mermaid-diagrams/scripts/README.md +160 -0
- package/skills/generating-mermaid-diagrams/scripts/mermaid_preview.py +654 -0
- package/skills/generating-mermaid-diagrams/scripts/query-org-metadata.py +293 -0
- package/skills/generating-visual-diagrams/CREDITS.md +80 -0
- package/skills/generating-visual-diagrams/README.md +83 -0
- package/skills/generating-visual-diagrams/SKILL.md +208 -0
- package/skills/generating-visual-diagrams/assets/architecture/integration-flow.md +55 -0
- package/skills/generating-visual-diagrams/assets/erd/core-objects.md +131 -0
- package/skills/generating-visual-diagrams/assets/erd/custom-objects.md +60 -0
- package/skills/generating-visual-diagrams/assets/lwc/dashboard-card.md +45 -0
- package/skills/generating-visual-diagrams/assets/lwc/data-table.md +57 -0
- package/skills/generating-visual-diagrams/assets/lwc/record-form.md +60 -0
- package/skills/generating-visual-diagrams/assets/review/apex-review.md +57 -0
- package/skills/generating-visual-diagrams/assets/review/lwc-review.md +48 -0
- package/skills/generating-visual-diagrams/references/architect-aesthetic-guide.md +257 -0
- package/skills/generating-visual-diagrams/references/examples-index.md +35 -0
- package/skills/generating-visual-diagrams/references/gemini-cli-setup.md +65 -0
- package/skills/generating-visual-diagrams/references/interview-questions.md +529 -0
- package/skills/generating-visual-diagrams/references/iteration-workflow.md +173 -0
- package/skills/generating-visual-diagrams/scripts/check-prerequisites.sh +101 -0
- package/skills/generating-visual-diagrams/scripts/generate_image.py +243 -0
- package/skills/handling-sf-data/CREDITS.md +5 -0
- package/skills/handling-sf-data/README.md +112 -0
- package/skills/handling-sf-data/SKILL.md +235 -0
- package/skills/handling-sf-data/assets/bulk/bulk-insert-10000.apex +293 -0
- package/skills/handling-sf-data/assets/bulk/bulk-insert-200.apex +208 -0
- package/skills/handling-sf-data/assets/bulk/bulk-insert-500.apex +219 -0
- package/skills/handling-sf-data/assets/bulk/bulk-upsert-external-id.apex +324 -0
- package/skills/handling-sf-data/assets/cleanup/delete-by-created-date.apex +319 -0
- package/skills/handling-sf-data/assets/cleanup/delete-by-name.apex +240 -0
- package/skills/handling-sf-data/assets/cleanup/delete-test-data.apex +311 -0
- package/skills/handling-sf-data/assets/cleanup/rollback-transaction.apex +266 -0
- package/skills/handling-sf-data/assets/csv/account-import.csv +11 -0
- package/skills/handling-sf-data/assets/csv/contact-import.csv +11 -0
- package/skills/handling-sf-data/assets/csv/custom-object-import.csv +11 -0
- package/skills/handling-sf-data/assets/csv/opportunity-import.csv +11 -0
- package/skills/handling-sf-data/assets/factories/account-factory.apex +165 -0
- package/skills/handling-sf-data/assets/factories/case-factory.apex +237 -0
- package/skills/handling-sf-data/assets/factories/contact-factory.apex +168 -0
- package/skills/handling-sf-data/assets/factories/custom-object-factory.apex +260 -0
- package/skills/handling-sf-data/assets/factories/event-factory.apex +275 -0
- package/skills/handling-sf-data/assets/factories/hierarchy-factory.apex +372 -0
- package/skills/handling-sf-data/assets/factories/lead-factory.apex +190 -0
- package/skills/handling-sf-data/assets/factories/opportunity-factory.apex +206 -0
- package/skills/handling-sf-data/assets/factories/task-factory.apex +246 -0
- package/skills/handling-sf-data/assets/factories/user-factory.apex +278 -0
- package/skills/handling-sf-data/assets/json/account-contact-tree.json +130 -0
- package/skills/handling-sf-data/assets/json/account-opportunity-tree.json +110 -0
- package/skills/handling-sf-data/assets/json/full-hierarchy-tree.json +188 -0
- package/skills/handling-sf-data/assets/soql/aggregate.soql +226 -0
- package/skills/handling-sf-data/assets/soql/child-to-parent.soql +162 -0
- package/skills/handling-sf-data/assets/soql/parent-to-child.soql +153 -0
- package/skills/handling-sf-data/assets/soql/polymorphic.soql +198 -0
- package/skills/handling-sf-data/assets/soql/subquery.soql +287 -0
- package/skills/handling-sf-data/references/anonymous-apex-guide.md +98 -0
- package/skills/handling-sf-data/references/bulk-operations-guide.md +94 -0
- package/skills/handling-sf-data/references/bulk-testing-example.md +194 -0
- package/skills/handling-sf-data/references/cleanup-rollback-example.md +322 -0
- package/skills/handling-sf-data/references/cleanup-rollback-guide.md +84 -0
- package/skills/handling-sf-data/references/crud-workflow-example.md +183 -0
- package/skills/handling-sf-data/references/governor-limits-reference.md +74 -0
- package/skills/handling-sf-data/references/orchestration.md +174 -0
- package/skills/handling-sf-data/references/relationship-query-examples.md +249 -0
- package/skills/handling-sf-data/references/sf-cli-data-commands.md +158 -0
- package/skills/handling-sf-data/references/soql-relationship-guide.md +84 -0
- package/skills/handling-sf-data/references/test-data-best-practices.md +104 -0
- package/skills/handling-sf-data/references/test-data-factory-usage.md +290 -0
- package/skills/handling-sf-data/references/test-data-patterns.md +98 -0
- package/skills/handling-sf-data/scripts/soql_validator.py +292 -0
- package/skills/handling-sf-data/scripts/validate_data_operation.py +379 -0
- package/skills/harmonizing-datacloud/CREDITS.md +3 -0
- package/skills/harmonizing-datacloud/README.md +31 -0
- package/skills/harmonizing-datacloud/SKILL.md +117 -0
- package/skills/modeling-omnistudio-epc-catalog/CREDITS.md +14 -0
- package/skills/modeling-omnistudio-epc-catalog/README.md +89 -0
- package/skills/modeling-omnistudio-epc-catalog/SKILL.md +395 -0
- package/skills/modeling-omnistudio-epc-catalog/assets/attribute-assignment-template.json +402 -0
- package/skills/modeling-omnistudio-epc-catalog/assets/compiled-attribute-overrides-template.json +43 -0
- package/skills/modeling-omnistudio-epc-catalog/assets/completion-block-template.txt +8 -0
- package/skills/modeling-omnistudio-epc-catalog/assets/decomposition-relationships-template.json +233 -0
- package/skills/modeling-omnistudio-epc-catalog/assets/examples/business-internet-premium-fttc-simple-offer/Business-Internet-Premium-FTTC_AttributeAssignments.json +514 -0
- package/skills/modeling-omnistudio-epc-catalog/assets/examples/business-internet-premium-fttc-simple-offer/Business-Internet-Premium-FTTC_CompiledAttributeOverrides.json +21 -0
- package/skills/modeling-omnistudio-epc-catalog/assets/examples/business-internet-premium-fttc-simple-offer/Business-Internet-Premium-FTTC_DataPack.json +649 -0
- package/skills/modeling-omnistudio-epc-catalog/assets/examples/business-internet-premium-fttc-simple-offer/Business-Internet-Premium-FTTC_DecompositionRelationships.json +200 -0
- package/skills/modeling-omnistudio-epc-catalog/assets/examples/business-internet-premium-fttc-simple-offer/Business-Internet-Premium-FTTC_ObjectFieldAttributes.json +138 -0
- package/skills/modeling-omnistudio-epc-catalog/assets/examples/business-internet-premium-fttc-simple-offer/Business-Internet-Premium-FTTC_OrchestrationScenarios.json +54 -0
- package/skills/modeling-omnistudio-epc-catalog/assets/examples/business-internet-premium-fttc-simple-offer/Business-Internet-Premium-FTTC_OverrideDefinitions.json +266 -0
- package/skills/modeling-omnistudio-epc-catalog/assets/examples/business-internet-premium-fttc-simple-offer/Business-Internet-Premium-FTTC_ParentKeys.json +23 -0
- package/skills/modeling-omnistudio-epc-catalog/assets/examples/business-internet-premium-fttc-simple-offer/Business-Internet-Premium-FTTC_PriceListEntries.json +54 -0
- package/skills/modeling-omnistudio-epc-catalog/assets/examples/business-internet-premium-fttc-simple-offer/Business-Internet-Premium-FTTC_PricebookEntries.json +35 -0
- package/skills/modeling-omnistudio-epc-catalog/assets/examples/business-internet-premium-fttc-simple-offer/Business-Internet-Premium-FTTC_ProductChildItems.json +34 -0
- package/skills/modeling-omnistudio-epc-catalog/assets/examples/business-internet-premium-fttc-simple-offer/Business-Internet-Premium-FTTC_RuleAssignments.json +21 -0
- package/skills/modeling-omnistudio-epc-catalog/assets/examples/business-internet-pro-vpl-simple-offer/Business-Internet-Pro-VPL_AttributeAssignments.json +410 -0
- package/skills/modeling-omnistudio-epc-catalog/assets/examples/business-internet-pro-vpl-simple-offer/Business-Internet-Pro-VPL_DataPack.json +535 -0
- package/skills/modeling-omnistudio-epc-catalog/assets/examples/business-internet-pro-vpl-simple-offer/Business-Internet-Pro-VPL_DecompositionRelationships.json +35 -0
- package/skills/modeling-omnistudio-epc-catalog/assets/examples/business-internet-pro-vpl-simple-offer/Business-Internet-Pro-VPL_ObjectFieldAttributes.json +138 -0
- package/skills/modeling-omnistudio-epc-catalog/assets/examples/business-internet-pro-vpl-simple-offer/Business-Internet-Pro-VPL_OrchestrationScenarios.json +28 -0
- package/skills/modeling-omnistudio-epc-catalog/assets/examples/business-internet-pro-vpl-simple-offer/Business-Internet-Pro-VPL_ParentKeys.json +23 -0
- package/skills/modeling-omnistudio-epc-catalog/assets/examples/business-internet-pro-vpl-simple-offer/Business-Internet-Pro-VPL_PriceListEntries.json +220 -0
- package/skills/modeling-omnistudio-epc-catalog/assets/examples/business-internet-pro-vpl-simple-offer/Business-Internet-Pro-VPL_PricebookEntries.json +35 -0
- package/skills/modeling-omnistudio-epc-catalog/assets/examples/business-internet-pro-vpl-simple-offer/Business-Internet-Pro-VPL_ProductChildItems.json +414 -0
- package/skills/modeling-omnistudio-epc-catalog/assets/examples/samsung-galaxy-s22-bundle/Samsung-Galaxy-S22-Bundle_AttributeAssignments.json +382 -0
- package/skills/modeling-omnistudio-epc-catalog/assets/examples/samsung-galaxy-s22-bundle/Samsung-Galaxy-S22-Bundle_DataPack.json +565 -0
- package/skills/modeling-omnistudio-epc-catalog/assets/examples/samsung-galaxy-s22-bundle/Samsung-Galaxy-S22-Bundle_DecompositionRelationships.json +35 -0
- package/skills/modeling-omnistudio-epc-catalog/assets/examples/samsung-galaxy-s22-bundle/Samsung-Galaxy-S22-Bundle_ObjectFieldAttributes.json +104 -0
- package/skills/modeling-omnistudio-epc-catalog/assets/examples/samsung-galaxy-s22-bundle/Samsung-Galaxy-S22-Bundle_OrchestrationScenarios.json +28 -0
- package/skills/modeling-omnistudio-epc-catalog/assets/examples/samsung-galaxy-s22-bundle/Samsung-Galaxy-S22-Bundle_ParentKeys.json +13 -0
- package/skills/modeling-omnistudio-epc-catalog/assets/examples/samsung-galaxy-s22-bundle/Samsung-Galaxy-S22-Bundle_PriceListEntries.json +106 -0
- package/skills/modeling-omnistudio-epc-catalog/assets/examples/samsung-galaxy-s22-bundle/Samsung-Galaxy-S22-Bundle_PricebookEntries.json +35 -0
- package/skills/modeling-omnistudio-epc-catalog/assets/examples/samsung-galaxy-s22-bundle/Samsung-Galaxy-S22-Bundle_ProductChildItems.json +72 -0
- package/skills/modeling-omnistudio-epc-catalog/assets/examples/static-ip-simple-offer/Static-IP_AttributeAssignments.json +142 -0
- package/skills/modeling-omnistudio-epc-catalog/assets/examples/static-ip-simple-offer/Static-IP_DataPack.json +377 -0
- package/skills/modeling-omnistudio-epc-catalog/assets/examples/static-ip-simple-offer/Static-IP_DecompositionRelationships.json +35 -0
- package/skills/modeling-omnistudio-epc-catalog/assets/examples/static-ip-simple-offer/Static-IP_ObjectFieldAttributes.json +36 -0
- package/skills/modeling-omnistudio-epc-catalog/assets/examples/static-ip-simple-offer/Static-IP_ParentKeys.json +8 -0
- package/skills/modeling-omnistudio-epc-catalog/assets/examples/static-ip-simple-offer/Static-IP_PriceListEntries.json +54 -0
- package/skills/modeling-omnistudio-epc-catalog/assets/examples/static-ip-simple-offer/Static-IP_PricebookEntries.json +35 -0
- package/skills/modeling-omnistudio-epc-catalog/assets/examples/static-ip-simple-offer/Static-IP_ProductChildItems.json +34 -0
- package/skills/modeling-omnistudio-epc-catalog/assets/object-field-attributes-template.json +138 -0
- package/skills/modeling-omnistudio-epc-catalog/assets/orchestration-scenarios-template.json +54 -0
- package/skills/modeling-omnistudio-epc-catalog/assets/override-definitions-template.json +134 -0
- package/skills/modeling-omnistudio-epc-catalog/assets/parent-keys-template.json +29 -0
- package/skills/modeling-omnistudio-epc-catalog/assets/price-list-entries-template.json +158 -0
- package/skills/modeling-omnistudio-epc-catalog/assets/pricebook-entries-template.json +35 -0
- package/skills/modeling-omnistudio-epc-catalog/assets/product-child-item-template.json +338 -0
- package/skills/modeling-omnistudio-epc-catalog/assets/product2-offer-template.json +527 -0
- package/skills/modeling-omnistudio-epc-catalog/examples/.gitkeep +1 -0
- package/skills/modeling-omnistudio-epc-catalog/examples/business-internet-plus-bundle/Business-Internet-Plus_AttributeAssignments.json +95 -0
- package/skills/modeling-omnistudio-epc-catalog/examples/business-internet-plus-bundle/Business-Internet-Plus_CompiledAttributeOverrides.json +1 -0
- package/skills/modeling-omnistudio-epc-catalog/examples/business-internet-plus-bundle/Business-Internet-Plus_DataPack.json +214 -0
- package/skills/modeling-omnistudio-epc-catalog/examples/business-internet-plus-bundle/Business-Internet-Plus_DecompositionRelationships.json +28 -0
- package/skills/modeling-omnistudio-epc-catalog/examples/business-internet-plus-bundle/Business-Internet-Plus_ObjectFieldAttributes.json +98 -0
- package/skills/modeling-omnistudio-epc-catalog/examples/business-internet-plus-bundle/Business-Internet-Plus_OrchestrationScenarios.json +22 -0
- package/skills/modeling-omnistudio-epc-catalog/examples/business-internet-plus-bundle/Business-Internet-Plus_OverrideDefinitions.json +1 -0
- package/skills/modeling-omnistudio-epc-catalog/examples/business-internet-plus-bundle/Business-Internet-Plus_ParentKeys.json +13 -0
- package/skills/modeling-omnistudio-epc-catalog/examples/business-internet-plus-bundle/Business-Internet-Plus_PriceListEntries.json +35 -0
- package/skills/modeling-omnistudio-epc-catalog/examples/business-internet-plus-bundle/Business-Internet-Plus_PricebookEntries.json +28 -0
- package/skills/modeling-omnistudio-epc-catalog/examples/business-internet-plus-bundle/Business-Internet-Plus_ProductChildItems.json +110 -0
- package/skills/modeling-omnistudio-epc-catalog/examples/business-internet-plus-bundle/TRANSCRIPT.md +58 -0
- package/skills/modeling-omnistudio-epc-catalog/references/epc-field-guide.md +90 -0
- package/skills/modeling-omnistudio-epc-catalog/references/naming-conventions.md +80 -0
- package/skills/modeling-omnistudio-epc-catalog/references/scoring-model.md +57 -0
- package/skills/modeling-omnistudio-epc-catalog/scripts/cli-validation-commands.sh +19 -0
- package/skills/modeling-omnistudio-epc-catalog/scripts/sample-invocations.sh +18 -0
- package/skills/orchestrating-datacloud/CREDITS.md +15 -0
- package/skills/orchestrating-datacloud/README.md +129 -0
- package/skills/orchestrating-datacloud/SKILL.md +236 -0
- package/skills/orchestrating-datacloud/UPSTREAM.md +45 -0
- package/skills/orchestrating-datacloud/assets/definitions/activation-target.template.json +5 -0
- package/skills/orchestrating-datacloud/assets/definitions/activation.template.json +7 -0
- package/skills/orchestrating-datacloud/assets/definitions/calculated-insight.template.json +7 -0
- package/skills/orchestrating-datacloud/assets/definitions/data-action-target.template.json +5 -0
- package/skills/orchestrating-datacloud/assets/definitions/data-action.template.json +5 -0
- package/skills/orchestrating-datacloud/assets/definitions/data-graph.template.json +21 -0
- package/skills/orchestrating-datacloud/assets/definitions/data-stream.template.json +55 -0
- package/skills/orchestrating-datacloud/assets/definitions/dmo.template.json +17 -0
- package/skills/orchestrating-datacloud/assets/definitions/identity-resolution.template.json +30 -0
- package/skills/orchestrating-datacloud/assets/definitions/mapping.template.json +14 -0
- package/skills/orchestrating-datacloud/assets/definitions/relationship.template.json +12 -0
- package/skills/orchestrating-datacloud/assets/definitions/search-index.template.json +9 -0
- package/skills/orchestrating-datacloud/assets/definitions/segment.template.json +16 -0
- package/skills/orchestrating-datacloud/references/feature-readiness.md +157 -0
- package/skills/orchestrating-datacloud/references/plugin-setup.md +140 -0
- package/skills/orchestrating-datacloud/scripts/bootstrap-plugin.sh +53 -0
- package/skills/orchestrating-datacloud/scripts/diagnose-org.mjs +511 -0
- package/skills/orchestrating-datacloud/scripts/generate-manifest.mjs +68 -0
- package/skills/orchestrating-datacloud/scripts/verify-plugin.sh +58 -0
- package/skills/preparing-datacloud/CREDITS.md +7 -0
- package/skills/preparing-datacloud/README.md +51 -0
- package/skills/preparing-datacloud/SKILL.md +191 -0
- package/skills/preparing-datacloud/examples/ingestion-api/.env.example +8 -0
- package/skills/preparing-datacloud/examples/ingestion-api/README.md +48 -0
- package/skills/preparing-datacloud/examples/ingestion-api/send-data.py +144 -0
- package/skills/querying-soql/CREDITS.md +21 -0
- package/skills/querying-soql/README.md +41 -0
- package/skills/querying-soql/SKILL.md +143 -0
- package/skills/querying-soql/assets/aggregate-queries.soql +242 -0
- package/skills/querying-soql/assets/basic-queries.soql +188 -0
- package/skills/querying-soql/assets/bulkified-query-pattern.cls +280 -0
- package/skills/querying-soql/assets/optimization-patterns.soql +259 -0
- package/skills/querying-soql/assets/relationship-queries.soql +203 -0
- package/skills/querying-soql/assets/selector-class.cls +219 -0
- package/skills/querying-soql/references/anti-patterns.md +348 -0
- package/skills/querying-soql/references/cli-commands.md +358 -0
- package/skills/querying-soql/references/field-coverage-rules.md +514 -0
- package/skills/querying-soql/references/query-optimization.md +142 -0
- package/skills/querying-soql/references/selector-patterns.md +479 -0
- package/skills/querying-soql/references/soql-reference.md +227 -0
- package/skills/querying-soql/references/soql-syntax-reference.md +208 -0
- package/skills/querying-soql/scripts/post-tool-validate.py +322 -0
- package/skills/retrieving-datacloud/CREDITS.md +7 -0
- package/skills/retrieving-datacloud/README.md +44 -0
- package/skills/retrieving-datacloud/SKILL.md +120 -0
- package/skills/retrieving-datacloud/examples/search-indexes/hybrid-structured.json +44 -0
- package/skills/retrieving-datacloud/examples/search-indexes/vector-knowledge.json +43 -0
- package/skills/running-apex-tests/CREDITS.md +22 -0
- package/skills/running-apex-tests/README.md +94 -0
- package/skills/running-apex-tests/SKILL.md +158 -0
- package/skills/running-apex-tests/assets/basic-test.cls +169 -0
- package/skills/running-apex-tests/assets/bulk-test.cls +255 -0
- package/skills/running-apex-tests/assets/dml-mock.cls +339 -0
- package/skills/running-apex-tests/assets/mock-callout-test.cls +353 -0
- package/skills/running-apex-tests/assets/stub-provider-example.cls +364 -0
- package/skills/running-apex-tests/assets/test-data-factory.cls +328 -0
- package/skills/running-apex-tests/hooks/scripts/parse-test-results.py +364 -0
- package/skills/running-apex-tests/references/cli-commands.md +289 -0
- package/skills/running-apex-tests/references/mocking-patterns.md +500 -0
- package/skills/running-apex-tests/references/performance-optimization.md +283 -0
- package/skills/running-apex-tests/references/test-fix-loop.md +49 -0
- package/skills/running-apex-tests/references/test-patterns.md +154 -0
- package/skills/running-apex-tests/references/testing-best-practices.md +509 -0
- package/skills/segmenting-datacloud/CREDITS.md +3 -0
- package/skills/segmenting-datacloud/README.md +36 -0
- 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.
|