@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,365 @@
|
|
|
1
|
+
<!-- Parent: generating-lwc-components/SKILL.md -->
|
|
2
|
+
# Flow-LWC-Apex Triangle: LWC Perspective
|
|
3
|
+
|
|
4
|
+
The **Triangle Architecture** is a foundational Salesforce pattern where Flow, LWC, and Apex work together. This guide focuses on the **LWC role** in this architecture.
|
|
5
|
+
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
## Architecture Overview
|
|
9
|
+
|
|
10
|
+
```
|
|
11
|
+
┌─────────────────────────────────────┐
|
|
12
|
+
│ FLOW │
|
|
13
|
+
│ (Orchestrator) │
|
|
14
|
+
└───────────────┬─────────────────────┘
|
|
15
|
+
│
|
|
16
|
+
┌──────────────────────────┼──────────────────────────┐
|
|
17
|
+
│ │ │
|
|
18
|
+
│ screens │ actionCalls │
|
|
19
|
+
│ <componentInstance> │ actionType="apex" │
|
|
20
|
+
│ │ │
|
|
21
|
+
▼ ▼ ▲
|
|
22
|
+
┌─────────────────────────┐ ┌─────────────────────────┐ │
|
|
23
|
+
│ LWC │ │ APEX │ │
|
|
24
|
+
│ (UI Component) │───▶│ (Business Logic) │─────────┘
|
|
25
|
+
│ │ │ │
|
|
26
|
+
│ • Rich UI/UX ◀── YOU ARE HERE │
|
|
27
|
+
│ • User Interaction │ │ • @InvocableMethod │
|
|
28
|
+
│ • FlowAttribute │ │ • @AuraEnabled │
|
|
29
|
+
│ ChangeEvent │ │ • Complex Logic │
|
|
30
|
+
│ • FlowNavigation │ │ • DML Operations │
|
|
31
|
+
│ FinishEvent │ │ │
|
|
32
|
+
└─────────────────────────┘ └─────────────────────────┘
|
|
33
|
+
│ ▲
|
|
34
|
+
│ @AuraEnabled │
|
|
35
|
+
│ wire / imperative │
|
|
36
|
+
└──────────────────────────┘
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
---
|
|
40
|
+
|
|
41
|
+
## LWC's Role in the Triangle
|
|
42
|
+
|
|
43
|
+
| Communication Path | Mechanism | Direction |
|
|
44
|
+
|-------------------|-----------|-----------|
|
|
45
|
+
| Flow → LWC | `inputParameters` → `@api` | One-way input |
|
|
46
|
+
| LWC → Flow | `FlowAttributeChangeEvent` | Event-based output |
|
|
47
|
+
| LWC → Flow Nav | `FlowNavigationFinishEvent` | Navigation command |
|
|
48
|
+
| LWC → Apex | `@wire` or `imperative` | Async call |
|
|
49
|
+
| Apex → LWC | Return value / wire refresh | Response |
|
|
50
|
+
|
|
51
|
+
---
|
|
52
|
+
|
|
53
|
+
## Pattern 1: Flow Screen Component
|
|
54
|
+
|
|
55
|
+
**Use Case**: Custom UI component for user selection within a guided Flow.
|
|
56
|
+
|
|
57
|
+
```
|
|
58
|
+
┌─────────┐ @api (in) ┌─────────┐
|
|
59
|
+
│ FLOW │ ────────────────▶ │ LWC │
|
|
60
|
+
│ Screen │ │ Screen │
|
|
61
|
+
│ │ ◀──────────────── │Component│
|
|
62
|
+
│ │ FlowAttribute │ │
|
|
63
|
+
└─────────┘ ChangeEvent └─────────┘
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
### LWC JavaScript
|
|
67
|
+
|
|
68
|
+
```javascript
|
|
69
|
+
import { LightningElement, api } from 'lwc';
|
|
70
|
+
import { FlowAttributeChangeEvent, FlowNavigationFinishEvent } from 'lightning/flowSupport';
|
|
71
|
+
|
|
72
|
+
export default class RecordSelector extends LightningElement {
|
|
73
|
+
// Input from Flow (read-only in component)
|
|
74
|
+
@api recordId;
|
|
75
|
+
@api availableActions = [];
|
|
76
|
+
|
|
77
|
+
// Output to Flow (must dispatch event to update)
|
|
78
|
+
@api selectedRecordId;
|
|
79
|
+
|
|
80
|
+
handleSelect(event) {
|
|
81
|
+
// Update local property
|
|
82
|
+
this.selectedRecordId = event.detail.id;
|
|
83
|
+
|
|
84
|
+
// CRITICAL: Dispatch event to update Flow variable
|
|
85
|
+
this.dispatchEvent(new FlowAttributeChangeEvent(
|
|
86
|
+
'selectedRecordId', // Must match @api property name
|
|
87
|
+
this.selectedRecordId
|
|
88
|
+
));
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
handleFinish() {
|
|
92
|
+
// Navigate Flow to next screen
|
|
93
|
+
if (this.availableActions.find(action => action === 'NEXT')) {
|
|
94
|
+
this.dispatchEvent(new FlowNavigationFinishEvent('NEXT'));
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
### LWC meta.xml (Flow Target)
|
|
101
|
+
|
|
102
|
+
```xml
|
|
103
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
104
|
+
<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
|
|
105
|
+
<apiVersion>66.0</apiVersion>
|
|
106
|
+
<isExposed>true</isExposed>
|
|
107
|
+
<masterLabel>Record Selector</masterLabel>
|
|
108
|
+
<description>Custom record selection component for Flow screens</description>
|
|
109
|
+
<targets>
|
|
110
|
+
<target>lightning__FlowScreen</target>
|
|
111
|
+
</targets>
|
|
112
|
+
<targetConfigs>
|
|
113
|
+
<targetConfig targets="lightning__FlowScreen">
|
|
114
|
+
<property name="recordId" type="String" label="Record ID" description="Parent record ID"/>
|
|
115
|
+
<property name="selectedRecordId" type="String" label="Selected Record ID" role="outputOnly"/>
|
|
116
|
+
</targetConfig>
|
|
117
|
+
</targetConfigs>
|
|
118
|
+
</LightningComponentBundle>
|
|
119
|
+
```
|
|
120
|
+
|
|
121
|
+
### Property Roles
|
|
122
|
+
|
|
123
|
+
| Role | Description | Flow Behavior |
|
|
124
|
+
|------|-------------|---------------|
|
|
125
|
+
| (none) | Input/Output | Editable in Flow builder |
|
|
126
|
+
| `role="inputOnly"` | Input only | Cannot be used as output |
|
|
127
|
+
| `role="outputOnly"` | Output only | Read-only in Flow builder |
|
|
128
|
+
|
|
129
|
+
---
|
|
130
|
+
|
|
131
|
+
## Pattern 2: LWC Calling Apex
|
|
132
|
+
|
|
133
|
+
**Use Case**: LWC needs data or operations beyond Flow context.
|
|
134
|
+
|
|
135
|
+
### Wire Pattern (Reactive, Cached)
|
|
136
|
+
|
|
137
|
+
```javascript
|
|
138
|
+
import { LightningElement, api, wire } from 'lwc';
|
|
139
|
+
import getRecords from '@salesforce/apex/RecordController.getRecords';
|
|
140
|
+
|
|
141
|
+
export default class RecordList extends LightningElement {
|
|
142
|
+
@api recordId;
|
|
143
|
+
records;
|
|
144
|
+
error;
|
|
145
|
+
|
|
146
|
+
@wire(getRecords, { parentId: '$recordId' })
|
|
147
|
+
wiredRecords({ error, data }) {
|
|
148
|
+
if (data) {
|
|
149
|
+
this.records = data;
|
|
150
|
+
this.error = undefined;
|
|
151
|
+
} else if (error) {
|
|
152
|
+
this.error = error;
|
|
153
|
+
this.records = undefined;
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
```
|
|
158
|
+
|
|
159
|
+
### Imperative Pattern (On-Demand, Fresh)
|
|
160
|
+
|
|
161
|
+
```javascript
|
|
162
|
+
import { LightningElement, api } from 'lwc';
|
|
163
|
+
import { FlowNavigationFinishEvent } from 'lightning/flowSupport';
|
|
164
|
+
import processRecord from '@salesforce/apex/RecordController.processRecord';
|
|
165
|
+
|
|
166
|
+
export default class RecordProcessor extends LightningElement {
|
|
167
|
+
@api recordId;
|
|
168
|
+
@api availableActions = [];
|
|
169
|
+
isProcessing = false;
|
|
170
|
+
|
|
171
|
+
async handleSubmit() {
|
|
172
|
+
this.isProcessing = true;
|
|
173
|
+
try {
|
|
174
|
+
const result = await processRecord({ recordId: this.recordId });
|
|
175
|
+
if (result.isSuccess) {
|
|
176
|
+
// Navigate Flow forward
|
|
177
|
+
this.dispatchEvent(new FlowNavigationFinishEvent('NEXT'));
|
|
178
|
+
}
|
|
179
|
+
} catch (error) {
|
|
180
|
+
// Handle error (show toast, etc.)
|
|
181
|
+
console.error('Processing failed:', error.body.message);
|
|
182
|
+
} finally {
|
|
183
|
+
this.isProcessing = false;
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
```
|
|
188
|
+
|
|
189
|
+
### When to Use Each Pattern
|
|
190
|
+
|
|
191
|
+
| Pattern | Use When | Caching |
|
|
192
|
+
|---------|----------|---------|
|
|
193
|
+
| `@wire` | Data should refresh when inputs change | Yes (cacheable=true) |
|
|
194
|
+
| Imperative | User-triggered action, DML needed | No |
|
|
195
|
+
|
|
196
|
+
---
|
|
197
|
+
|
|
198
|
+
## Pattern 3: Full Triangle Integration
|
|
199
|
+
|
|
200
|
+
**Use Case**: LWC in Flow screen that calls Apex for complex operations.
|
|
201
|
+
|
|
202
|
+
```javascript
|
|
203
|
+
import { LightningElement, api, wire } from 'lwc';
|
|
204
|
+
import { FlowAttributeChangeEvent, FlowNavigationFinishEvent } from 'lightning/flowSupport';
|
|
205
|
+
import getProducts from '@salesforce/apex/ProductController.getProducts';
|
|
206
|
+
import calculatePricing from '@salesforce/apex/PricingService.calculate';
|
|
207
|
+
|
|
208
|
+
export default class ProductSelector extends LightningElement {
|
|
209
|
+
@api accountId; // Input from Flow
|
|
210
|
+
@api selectedProducts; // Output to Flow
|
|
211
|
+
@api totalPrice; // Output to Flow
|
|
212
|
+
@api availableActions = [];
|
|
213
|
+
|
|
214
|
+
products;
|
|
215
|
+
selectedIds = new Set();
|
|
216
|
+
|
|
217
|
+
// Wire: Fetch products reactively
|
|
218
|
+
@wire(getProducts, { accountId: '$accountId' })
|
|
219
|
+
wiredProducts({ data, error }) {
|
|
220
|
+
if (data) this.products = data;
|
|
221
|
+
}
|
|
222
|
+
|
|
223
|
+
handleProductSelect(event) {
|
|
224
|
+
const productId = event.target.dataset.id;
|
|
225
|
+
if (this.selectedIds.has(productId)) {
|
|
226
|
+
this.selectedIds.delete(productId);
|
|
227
|
+
} else {
|
|
228
|
+
this.selectedIds.add(productId);
|
|
229
|
+
}
|
|
230
|
+
this.updateFlowOutputs();
|
|
231
|
+
}
|
|
232
|
+
|
|
233
|
+
async updateFlowOutputs() {
|
|
234
|
+
// Update selected products output
|
|
235
|
+
this.selectedProducts = Array.from(this.selectedIds);
|
|
236
|
+
this.dispatchEvent(new FlowAttributeChangeEvent(
|
|
237
|
+
'selectedProducts',
|
|
238
|
+
this.selectedProducts
|
|
239
|
+
));
|
|
240
|
+
|
|
241
|
+
// Imperative: Calculate pricing
|
|
242
|
+
const result = await calculatePricing({
|
|
243
|
+
productIds: this.selectedProducts
|
|
244
|
+
});
|
|
245
|
+
this.totalPrice = result.total;
|
|
246
|
+
this.dispatchEvent(new FlowAttributeChangeEvent(
|
|
247
|
+
'totalPrice',
|
|
248
|
+
this.totalPrice
|
|
249
|
+
));
|
|
250
|
+
}
|
|
251
|
+
|
|
252
|
+
handleNext() {
|
|
253
|
+
this.dispatchEvent(new FlowNavigationFinishEvent('NEXT'));
|
|
254
|
+
}
|
|
255
|
+
}
|
|
256
|
+
```
|
|
257
|
+
|
|
258
|
+
---
|
|
259
|
+
|
|
260
|
+
## Jest Testing (Flow Integration)
|
|
261
|
+
|
|
262
|
+
```javascript
|
|
263
|
+
import { createElement } from 'lwc';
|
|
264
|
+
import RecordSelector from 'c/recordSelector';
|
|
265
|
+
import { FlowAttributeChangeEvent, FlowNavigationFinishEvent } from 'lightning/flowSupport';
|
|
266
|
+
|
|
267
|
+
// Mock lightning/flowSupport
|
|
268
|
+
jest.mock('lightning/flowSupport', () => ({
|
|
269
|
+
FlowAttributeChangeEvent: jest.fn(),
|
|
270
|
+
FlowNavigationFinishEvent: jest.fn()
|
|
271
|
+
}), { virtual: true });
|
|
272
|
+
|
|
273
|
+
describe('c-record-selector', () => {
|
|
274
|
+
afterEach(() => {
|
|
275
|
+
while (document.body.firstChild) {
|
|
276
|
+
document.body.removeChild(document.body.firstChild);
|
|
277
|
+
}
|
|
278
|
+
jest.clearAllMocks();
|
|
279
|
+
});
|
|
280
|
+
|
|
281
|
+
it('dispatches FlowAttributeChangeEvent on selection', async () => {
|
|
282
|
+
const element = createElement('c-record-selector', {
|
|
283
|
+
is: RecordSelector
|
|
284
|
+
});
|
|
285
|
+
element.recordId = '001xx000003GYHAA2';
|
|
286
|
+
document.body.appendChild(element);
|
|
287
|
+
|
|
288
|
+
// Simulate user selection
|
|
289
|
+
const handler = jest.fn();
|
|
290
|
+
element.addEventListener('flowattributechange', handler);
|
|
291
|
+
|
|
292
|
+
const tile = element.shadowRoot.querySelector('[data-id]');
|
|
293
|
+
tile.click();
|
|
294
|
+
|
|
295
|
+
// Verify FlowAttributeChangeEvent was constructed
|
|
296
|
+
expect(FlowAttributeChangeEvent).toHaveBeenCalledWith(
|
|
297
|
+
'selectedRecordId',
|
|
298
|
+
expect.any(String)
|
|
299
|
+
);
|
|
300
|
+
});
|
|
301
|
+
|
|
302
|
+
it('dispatches FlowNavigationFinishEvent on finish', async () => {
|
|
303
|
+
const element = createElement('c-record-selector', {
|
|
304
|
+
is: RecordSelector
|
|
305
|
+
});
|
|
306
|
+
element.availableActions = ['NEXT', 'FINISH'];
|
|
307
|
+
document.body.appendChild(element);
|
|
308
|
+
|
|
309
|
+
const finishButton = element.shadowRoot.querySelector('.finish-button');
|
|
310
|
+
finishButton.click();
|
|
311
|
+
|
|
312
|
+
expect(FlowNavigationFinishEvent).toHaveBeenCalledWith('NEXT');
|
|
313
|
+
});
|
|
314
|
+
});
|
|
315
|
+
```
|
|
316
|
+
|
|
317
|
+
---
|
|
318
|
+
|
|
319
|
+
## Deployment Order
|
|
320
|
+
|
|
321
|
+
When deploying integrated triangle solutions:
|
|
322
|
+
|
|
323
|
+
```
|
|
324
|
+
1. APEX CLASSES
|
|
325
|
+
└── @AuraEnabled controllers (LWC depends on these)
|
|
326
|
+
|
|
327
|
+
2. LWC COMPONENTS ← Deploy SECOND
|
|
328
|
+
└── meta.xml with lightning__FlowScreen target
|
|
329
|
+
└── JavaScript with Flow imports
|
|
330
|
+
|
|
331
|
+
3. FLOWS
|
|
332
|
+
└── Reference deployed LWC components
|
|
333
|
+
```
|
|
334
|
+
|
|
335
|
+
---
|
|
336
|
+
|
|
337
|
+
## Common Anti-Patterns
|
|
338
|
+
|
|
339
|
+
| Anti-Pattern | Problem | Solution |
|
|
340
|
+
|--------------|---------|----------|
|
|
341
|
+
| Missing FlowAttributeChangeEvent | Output never updates in Flow | Always dispatch event when output changes |
|
|
342
|
+
| Direct @api property mutation for outputs | Flow doesn't see changes | Use FlowAttributeChangeEvent |
|
|
343
|
+
| Mixing @wire and imperative for same data | Cache/freshness conflicts | Choose one pattern per data need |
|
|
344
|
+
| Calling Apex for Flow-available data | Unnecessary callouts | Pass via inputParameters |
|
|
345
|
+
| Hardcoded navigation actions | Breaks in different contexts | Check availableActions first |
|
|
346
|
+
|
|
347
|
+
---
|
|
348
|
+
|
|
349
|
+
## Flow Events Reference
|
|
350
|
+
|
|
351
|
+
| Event | Purpose | Parameters |
|
|
352
|
+
|-------|---------|------------|
|
|
353
|
+
| `FlowAttributeChangeEvent` | Update output property | (propertyName, value) |
|
|
354
|
+
| `FlowNavigationFinishEvent` | Navigate Flow | 'NEXT', 'BACK', 'PAUSE', 'FINISH' |
|
|
355
|
+
|
|
356
|
+
---
|
|
357
|
+
|
|
358
|
+
## Related Documentation
|
|
359
|
+
|
|
360
|
+
| Topic | Location |
|
|
361
|
+
|-------|----------|
|
|
362
|
+
| Flow screen component template | `generating-lwc-components/assets/flow-screen-component/` |
|
|
363
|
+
| LWC best practices | `generating-lwc-components/references/lwc-best-practices.md` |
|
|
364
|
+
| Apex triangle perspective | `sf-apex/references/triangle-pattern.md` |
|
|
365
|
+
| Flow triangle perspective | `sf-flow/references/triangle-pattern.md` |
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
#!/usr/bin/env bash
|
|
2
|
+
# Local Development Server — preview LWC components with hot reload (no deployment needed).
|
|
3
|
+
# Requires an active org connection. Commands install just-in-time on first run and open
|
|
4
|
+
# a browser with live preview. Changes to .js, .html, and .css files auto-reload instantly.
|
|
5
|
+
#
|
|
6
|
+
# Usage: Pass --target-org <alias> and choose the mode that matches your use case.
|
|
7
|
+
|
|
8
|
+
TARGET_ORG="${1:-}"
|
|
9
|
+
|
|
10
|
+
if [ -z "$TARGET_ORG" ]; then
|
|
11
|
+
echo "Usage: $0 <org-alias> [component|app|site]"
|
|
12
|
+
echo " component Preview a single LWC component in isolation (default)"
|
|
13
|
+
echo " app Preview a Lightning Experience app locally"
|
|
14
|
+
echo " site Preview an Experience Cloud site locally"
|
|
15
|
+
exit 1
|
|
16
|
+
fi
|
|
17
|
+
|
|
18
|
+
MODE="${2:-component}"
|
|
19
|
+
|
|
20
|
+
case "$MODE" in
|
|
21
|
+
component)
|
|
22
|
+
sf lightning dev component --target-org "$TARGET_ORG"
|
|
23
|
+
;;
|
|
24
|
+
app)
|
|
25
|
+
sf lightning dev app --target-org "$TARGET_ORG"
|
|
26
|
+
;;
|
|
27
|
+
site)
|
|
28
|
+
sf lightning dev site --target-org "$TARGET_ORG"
|
|
29
|
+
;;
|
|
30
|
+
*)
|
|
31
|
+
echo "Unknown mode: $MODE. Choose one of: component, app, site"
|
|
32
|
+
exit 1
|
|
33
|
+
;;
|
|
34
|
+
esac
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
# Credits & Acknowledgments
|
|
2
|
+
|
|
3
|
+
This skill was built upon established patterns in technical diagramming and Salesforce data modeling. The following concepts and conventions shaped its design.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Diagramming Concepts
|
|
8
|
+
|
|
9
|
+
### Text-Based Diagramming
|
|
10
|
+
The skill uses Mermaid as its primary diagramming syntax, covering Entity Relationship Diagrams, sequence diagrams, and flowcharts. Key capabilities include:
|
|
11
|
+
|
|
12
|
+
- Entity Relationship Diagram syntax
|
|
13
|
+
- Sequence diagram patterns
|
|
14
|
+
- Flowchart and state diagram support
|
|
15
|
+
- Live rendering through Mermaid-capable renderers
|
|
16
|
+
|
|
17
|
+
An alternative syntax, PlantUML, informed the UML diagram patterns used in sequence and class diagrams.
|
|
18
|
+
|
|
19
|
+
---
|
|
20
|
+
|
|
21
|
+
## Salesforce Domain Patterns
|
|
22
|
+
|
|
23
|
+
### Data Modeling Conventions
|
|
24
|
+
The ERD conventions follow standard Salesforce object relationship patterns, including Master-Detail, Lookup, and External relationships as documented in the Salesforce platform's object model.
|
|
25
|
+
|
|
26
|
+
### Integration Architecture
|
|
27
|
+
Integration sequence diagrams draw on widely-adopted API documentation patterns adapted for Salesforce's authentication and integration architecture.
|
|
28
|
+
|
|
29
|
+
### Schema Reference
|
|
30
|
+
Object and field relationship information reflects standard Salesforce object reference conventions and relationship type definitions.
|
|
31
|
+
|
|
32
|
+
---
|
|
33
|
+
|
|
34
|
+
## Key Concepts
|
|
35
|
+
|
|
36
|
+
### ERD Notation
|
|
37
|
+
The Entity Relationship Diagram conventions follow standard database modeling patterns adapted for Salesforce relationships (Master-Detail, Lookup, External).
|
|
38
|
+
|
|
39
|
+
### Sequence Diagram Patterns
|
|
40
|
+
OAuth flow and integration sequence diagrams follow UML 2.0 standards with Salesforce-specific adaptations.
|
|
41
|
+
|
|
42
|
+
### Mermaid in Documentation
|
|
43
|
+
The approach of using Mermaid for inline diagrams in Markdown documentation is a widely-adopted pattern in technical documentation that enables version-controlled diagrams alongside code.
|
|
44
|
+
|
|
45
|
+
### Color Accessibility
|
|
46
|
+
The color palette follows accessibility guidelines for color-blind-friendly design, using a pastel fill with high-contrast stroke approach.
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
# generating-mermaid-diagrams
|
|
2
|
+
|
|
3
|
+
> Salesforce architecture diagram generation using Mermaid syntax with ASCII fallback
|
|
4
|
+
|
|
5
|
+
## Overview
|
|
6
|
+
|
|
7
|
+
`generating-mermaid-diagrams` is a Salesforce architecture diagram skill that generates professional diagrams using Mermaid syntax with ASCII art fallback for terminal compatibility.
|
|
8
|
+
|
|
9
|
+
## Features
|
|
10
|
+
|
|
11
|
+
- **OAuth Flows** - Authorization Code, PKCE, JWT Bearer, Client Credentials, Device Flow
|
|
12
|
+
- **Data Models** - ERD diagrams with generating-custom-object integration
|
|
13
|
+
- **Integrations** - Sequence diagrams for API patterns
|
|
14
|
+
- **Architecture** - System landscape overviews
|
|
15
|
+
- **Role Hierarchies** - Security model visualization
|
|
16
|
+
- **Agentforce** - Agent topic and action flows
|
|
17
|
+
- **Accessible** - Color-blind friendly palette
|
|
18
|
+
- **Terminal Friendly** - ASCII fallback for all diagrams
|
|
19
|
+
|
|
20
|
+
## Quick Start
|
|
21
|
+
|
|
22
|
+
```
|
|
23
|
+
# Generate an OAuth diagram
|
|
24
|
+
"Create a JWT Bearer OAuth flow diagram"
|
|
25
|
+
|
|
26
|
+
# Generate a data model
|
|
27
|
+
"Create an ERD for Account, Contact, and Opportunity"
|
|
28
|
+
|
|
29
|
+
# Generate an integration diagram
|
|
30
|
+
"Diagram our Salesforce to SAP sync flow"
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
## Diagram Types
|
|
34
|
+
|
|
35
|
+
| Type | Template | Use Case |
|
|
36
|
+
|------|----------|----------|
|
|
37
|
+
| Authorization Code | `oauth/authorization-code.md` | Web apps with backends |
|
|
38
|
+
| PKCE Flow | `oauth/authorization-code-pkce.md` | Mobile/SPA apps |
|
|
39
|
+
| JWT Bearer | `oauth/jwt-bearer.md` | Server-to-server, CI/CD |
|
|
40
|
+
| Client Credentials | `oauth/client-credentials.md` | Service accounts |
|
|
41
|
+
| Device Flow | `oauth/device-authorization.md` | CLI tools, IoT |
|
|
42
|
+
| Refresh Token | `oauth/refresh-token.md` | Token renewal |
|
|
43
|
+
| Data Model | `datamodel/salesforce-erd.md` | Object relationships |
|
|
44
|
+
| Integration | `integration/api-sequence.md` | API callout patterns |
|
|
45
|
+
| Architecture | `architecture/system-landscape.md` | System overview |
|
|
46
|
+
| Role Hierarchy | `role-hierarchy/user-hierarchy.md` | Security model |
|
|
47
|
+
| Agentforce | `agentforce/agent-flow.md` | AI agent architecture |
|
|
48
|
+
|
|
49
|
+
## Scoring System (80 Points)
|
|
50
|
+
|
|
51
|
+
| Category | Points | Criteria |
|
|
52
|
+
|----------|--------|----------|
|
|
53
|
+
| Accuracy | 20 | Correct actors, flow steps, relationships |
|
|
54
|
+
| Clarity | 20 | Readable labels, logical layout |
|
|
55
|
+
| Completeness | 15 | All key elements included |
|
|
56
|
+
| Styling | 15 | Color scheme, theming, annotations |
|
|
57
|
+
| Best Practices | 10 | Proper notation, UML conventions |
|
|
58
|
+
|
|
59
|
+
## Color Palette
|
|
60
|
+
|
|
61
|
+
Tailwind-inspired pastel colors with dark borders (see [references/color-palette.md](references/color-palette.md)):
|
|
62
|
+
|
|
63
|
+
| Component | Fill (200) | Stroke (700+) |
|
|
64
|
+
|-----------|------------|---------------|
|
|
65
|
+
| AI & Agents | `#fbcfe8` | `#be185d` |
|
|
66
|
+
| Integration | `#fed7aa` | `#c2410c` |
|
|
67
|
+
| Development | `#ddd6fe` | `#6d28d9` |
|
|
68
|
+
| Metadata | `#a5f3fc` | `#0e7490` |
|
|
69
|
+
| Data | `#fde68a` | `#b45309` |
|
|
70
|
+
| Deploy | `#a7f3d0` | `#047857` |
|
|
71
|
+
|
|
72
|
+
## Example Output
|
|
73
|
+
|
|
74
|
+
### Mermaid Diagram
|
|
75
|
+
```mermaid
|
|
76
|
+
sequenceDiagram
|
|
77
|
+
autonumber
|
|
78
|
+
participant A as Server
|
|
79
|
+
participant SF as Salesforce
|
|
80
|
+
|
|
81
|
+
A->>A: Create JWT
|
|
82
|
+
A->>SF: POST /token (JWT)
|
|
83
|
+
SF->>SF: Validate Signature
|
|
84
|
+
SF->>A: Access Token
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
### ASCII Fallback
|
|
88
|
+
```
|
|
89
|
+
┌───────────────┐ ┌───────────────┐
|
|
90
|
+
│ Server │ │ Salesforce │
|
|
91
|
+
└───────┬───────┘ └───────┬───────┘
|
|
92
|
+
│ 1. Create JWT │
|
|
93
|
+
│ 2. POST /token │
|
|
94
|
+
│────────────────────>│
|
|
95
|
+
│ │
|
|
96
|
+
│ 3. Validate JWT │
|
|
97
|
+
│ │
|
|
98
|
+
│ 4. Access Token │
|
|
99
|
+
│<────────────────────│
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
## Cross-Skill Integration
|
|
103
|
+
|
|
104
|
+
| Skill | Integration |
|
|
105
|
+
|-------|-------------|
|
|
106
|
+
| generating-custom-object / generating-custom-field | Auto-discover objects/fields for ERD |
|
|
107
|
+
| configuring-connected-apps | Link OAuth flows to app setup |
|
|
108
|
+
| developing-agentforce | Visualize agent architecture |
|
|
109
|
+
|
|
110
|
+
## Documentation
|
|
111
|
+
|
|
112
|
+
- [Color Palette](references/color-palette.md) - Styling guide
|
|
113
|
+
- [Mermaid Reference](references/mermaid-reference.md) - Syntax quick reference
|
|
114
|
+
- [Diagram Conventions](references/diagram-conventions.md) - Consistency rules
|