@salesforce/afv-skills 1.55.0 → 1.57.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/agentforce-generate/SKILL.md +8 -0
- package/skills/agentforce-generate/references/actions-reference.md +2 -2
- package/skills/agentforce-generate/references/voice-modality-reference.md +51 -15
- package/skills/agentforce-generate/references/voice-telephony-cli.md +193 -0
- package/skills/agentforce-observe/SKILL.md +13 -9
- package/skills/agentforce-observe/references/ahm-alerts.md +193 -14
- package/skills/automation-sandbox-post-copy-config-generate/SKILL.md +24 -15
- package/skills/automation-sandbox-post-copy-config-generate/assets/config_template.json +11 -0
- package/skills/automation-sandbox-post-copy-config-generate/assets/json_schema.json +33 -1
- package/skills/automation-sandbox-post-copy-config-generate/references/configuration_catalog.md +32 -1
- package/skills/automation-sandbox-post-copy-configure/SKILL.md +75 -71
- package/skills/automation-sandbox-post-copy-configure/assets/scheduled_apex_template.apex +13 -0
- package/skills/automation-sandbox-post-copy-configure/examples/sample_scheduled_apex_config.json +13 -0
- package/skills/automation-sandbox-post-copy-configure/references/scheduled_apex_path.md +155 -0
- package/skills/automation-sandbox-post-copy-configure/scripts/build-scheduled-apex.mjs +62 -0
- package/skills/automation-sandbox-post-copy-configure/scripts/soql-escape-job-name.mjs +28 -0
- package/skills/commerce-b2b-open-code-components-integrate/SKILL.md +1 -1
- package/skills/commerce-b2b-open-code-components-replace/SKILL.md +16 -16
- package/skills/consumer-goods-accruals-datakit-deploy/SKILL.md +383 -0
- package/skills/consumer-goods-accruals-datakit-deploy/scripts/setup.js +324 -0
- package/skills/consumer-goods-accruals-datakit-deploy/scripts/steps/00-check-prerequisites.js +63 -0
- package/skills/consumer-goods-accruals-datakit-deploy/scripts/steps/01-download-static-resource.js +100 -0
- package/skills/consumer-goods-accruals-datakit-deploy/scripts/steps/02-replace-org-id.js +46 -0
- package/skills/consumer-goods-accruals-datakit-deploy/scripts/steps/03-deploy-metadata.js +46 -0
- package/skills/consumer-goods-accruals-datakit-deploy/scripts/steps/04-deploy-engine.js +198 -0
- package/skills/consumer-goods-accruals-datakit-deploy/scripts/steps/05-deploy-tpm-accruals.js +231 -0
- package/skills/consumer-goods-accruals-datakit-deploy/scripts/steps/06-create-dataspace.js +82 -0
- package/skills/consumer-goods-accruals-datakit-deploy/scripts/steps/07-deploy-accruals-reports.js +517 -0
- package/skills/consumer-goods-accruals-datakit-deploy/scripts/steps/08-deploy-ui.js +416 -0
- package/skills/consumer-goods-accruals-datakit-deploy/scripts/steps/09-completion.js +44 -0
- package/skills/consumer-goods-accruals-datakit-deploy/scripts/steps/utils.js +514 -0
- package/skills/consumer-goods-sync-management-configure/SKILL.md +137 -0
- package/skills/consumer-goods-sync-management-configure/examples/scenarios.md +294 -0
- package/skills/consumer-goods-sync-management-configure/references/act1-setup-sync.md +333 -0
- package/skills/consumer-goods-sync-management-configure/references/act2-assign-users.md +324 -0
- package/skills/consumer-goods-sync-management-configure/references/act3-plan-verify.md +113 -0
- package/skills/consumer-goods-sync-management-configure/references/readiness-and-enablement.md +164 -0
- package/skills/consumer-goods-sync-management-configure/references/sync-management-app-install-backbone.md +159 -0
- package/skills/consumer-goods-sync-management-configure/references/transports-and-namespace.md +220 -0
- package/skills/consumer-goods-sync-management-configure/references/verify-and-smoke.md +175 -0
- package/skills/dx-devops-project-manage/SKILL.md +1 -1
- package/skills/dx-org-analyze/SKILL.md +0 -1
- package/skills/dx-org-analyze/scripts/collect_org_data.py +2 -2
- package/skills/dx-org-analyze/scripts/compute_diff.py +2 -4
- package/skills/dx-org-analyze/scripts/introspect_org.py +4 -40
- package/skills/dx-org-manage/SKILL.md +6 -50
- package/skills/dx-org-manage/examples/README.md +10 -16
- package/skills/dx-org-manage/references/scratch-org-create.md +1 -1
- package/skills/dx-org-manage/references/scratch-org-operations.md +1 -1
- package/skills/dx-org-shape-manage/SKILL.md +4 -3
- package/skills/education-cloud-domain-configure/references/gotchas-extended.md +1 -0
- package/skills/experience-accessibility-validate/SKILL.md +8 -5
- package/skills/experience-accessibility-validate/references/reviewers/sc-1-1-1-non-text-content.md +1 -4
- package/skills/experience-accessibility-validate/references/reviewers/sc-1-3-1-i-lists.md +0 -4
- package/skills/experience-accessibility-validate/references/reviewers/sc-1-3-1-ii-tables.md +20 -85
- package/skills/experience-accessibility-validate/references/reviewers/sc-1-3-1-iii-form-labels.md +4 -4
- package/skills/experience-accessibility-validate/references/reviewers/sc-1-3-1-iv-regions.md +0 -4
- package/skills/experience-accessibility-validate/references/reviewers/sc-1-3-1-v-groups.md +2 -4
- package/skills/experience-accessibility-validate/references/reviewers/sc-1-3-5-identify-input.md +0 -4
- package/skills/experience-accessibility-validate/references/reviewers/sc-1-4-3-contrast.md +4 -14
- package/skills/experience-accessibility-validate/references/reviewers/sc-2-1-1-keyboard.md +9 -5
- package/skills/experience-accessibility-validate/references/reviewers/sc-2-4-4-link-purpose.md +1 -4
- package/skills/experience-accessibility-validate/references/reviewers/sc-2-4-6-headings-labels.md +0 -4
- package/skills/experience-accessibility-validate/references/reviewers/sc-2-5-1-pointer-gestures.md +0 -4
- package/skills/experience-accessibility-validate/references/reviewers/sc-2-5-2-pointer-cancellation.md +0 -4
- package/skills/experience-accessibility-validate/references/reviewers/sc-2-5-3-label-in-name.md +0 -4
- package/skills/experience-accessibility-validate/references/reviewers/sc-2-5-7-dragging-movement.md +0 -4
- package/skills/experience-accessibility-validate/references/reviewers/sc-3-2-1-on-focus.md +0 -4
- package/skills/experience-accessibility-validate/references/reviewers/sc-3-2-2-on-input.md +1 -4
- package/skills/experience-accessibility-validate/references/reviewers/sc-3-3-1-error-identification.md +1 -4
- package/skills/experience-accessibility-validate/references/reviewers/sc-3-3-2-labels-instructions.md +1 -4
- package/skills/experience-accessibility-validate/references/reviewers/sc-3-3-3-error-suggestion.md +1 -4
- package/skills/experience-accessibility-validate/references/reviewers/sc-4-1-2-i-name.md +4 -5
- package/skills/experience-accessibility-validate/references/reviewers/sc-4-1-2-ii-role.md +1 -4
- package/skills/experience-accessibility-validate/references/reviewers/sc-4-1-2-iii-value.md +0 -4
- package/skills/experience-cms-content-generate/SKILL.md +1 -1
- package/skills/experience-cms-content-render/SKILL.md +3 -3
- package/skills/experience-cms-content-render/assets/angular/MediaRenderer.component.ts +35 -7
- package/skills/experience-cms-content-render/assets/angular/cms-item.service.ts +13 -4
- package/skills/experience-cms-content-render/assets/react/MediaRenderer.tsx +30 -8
- package/skills/experience-cms-content-render/assets/react/useCmsItem.ts +14 -4
- package/skills/experience-cms-content-render/assets/shared/cmsCore.types.ts +11 -1
- package/skills/experience-cms-content-render/assets/shared/externalRefs.ts +1 -1
- package/skills/experience-cms-content-render/assets/shared/mediaLabels.ts +62 -0
- package/skills/experience-cms-content-render/references/init-scaffold.md +13 -6
- package/skills/experience-content-media-stock-image-search/SKILL.md +0 -1
- package/skills/experience-lwc-accessibility-jest-run/SKILL.md +104 -25
- package/skills/experience-lwc-accessibility-jest-run/assets/jest.config.js +4 -0
- package/skills/experience-lwc-accessibility-jest-run/assets/sa11y-jest-setup.js +5 -0
- package/skills/experience-lwc-design-generate/SKILL.md +1 -1
- package/skills/experience-lwc-legacy-migrate/SKILL.md +212 -0
- package/skills/experience-lwc-legacy-migrate/assets/lo20-host-page-template.html +192 -0
- package/skills/experience-lwc-legacy-migrate/references/aura-to-lwc-completeness-checklist.md +188 -0
- package/skills/experience-lwc-legacy-migrate/references/lightning-out-2-system-reference.md +495 -0
- package/skills/experience-lwc-legacy-migrate/references/lightning-out-beta-to-2-migration.md +824 -0
- package/skills/experience-lwc-legacy-migrate/scripts/convert-lo-names.py +94 -0
- package/skills/experience-lwc-legacy-migrate/scripts/validate-lo20-page.py +133 -0
- package/skills/experience-ui-bundle-app-coordinate/SKILL.md +5 -5
- package/skills/experience-ui-bundle-features-generate/SKILL.md +65 -36
- package/skills/experience-ui-bundle-features-generate/references/angular/features.md +74 -0
- package/skills/experience-ui-bundle-features-generate/references/react/features.md +59 -0
- package/skills/experience-ui-bundle-features-generate/scripts/detect-framework.sh +73 -0
- package/skills/experience-ui-bundle-frontend-generate/SKILL.md +2 -2
- package/skills/experience-ui-bundle-metadata-generate/SKILL.md +26 -14
- package/skills/experience-ui-bundle-metadata-generate/references/angular-metadata-generate.md +37 -0
- package/skills/experience-ui-bundle-metadata-generate/references/react-metadata-generate.md +32 -0
- package/skills/experience-ui-bundle-metadata-generate/scripts/detect-framework.sh +73 -0
- package/skills/experience-ui-bundle-metadata-generate/scripts/verify-bundle-location.sh +30 -8
- package/skills/experience-ui-bundle-project-generate/SKILL.md +1 -1
- package/skills/field-service-data-capture-migrate/SKILL.md +391 -0
- package/skills/field-service-data-capture-migrate/assets/sample-legacy-flow.flow-meta.xml +163 -0
- package/skills/field-service-data-capture-migrate/references/architecture-notes.md +40 -0
- package/skills/field-service-data-capture-migrate/references/component-mapping.md +278 -0
- package/skills/field-service-data-capture-migrate/references/converter-builder-contract.md +183 -0
- package/skills/field-service-data-capture-migrate/references/dc-platform-rules.md +130 -0
- package/skills/field-service-data-capture-migrate/references/fsm-dc-capability-catalog.md +215 -0
- package/skills/field-service-data-capture-migrate/references/known-deploy-errors.md +36 -0
- package/skills/field-service-data-capture-migrate/references/migration-checklist.md +121 -0
- package/skills/field-service-data-capture-migrate/references/transformer-rules.md +132 -0
- package/skills/field-service-data-capture-migrate/scripts/analyze_flow.py +277 -0
- package/skills/field-service-data-capture-migrate/scripts/convert_to_dc_spec.py +1311 -0
- package/skills/field-service-data-capture-migrate/scripts/cud_analysis.py +402 -0
- package/skills/field-service-data-capture-migrate/scripts/deploy_flow.sh +230 -0
- package/skills/field-service-data-capture-migrate/scripts/discover_subflow_tree.py +230 -0
- package/skills/field-service-data-capture-migrate/scripts/flow_input.py +186 -0
- package/skills/field-service-data-capture-migrate/scripts/flow_xml_utils.py +39 -0
- package/skills/field-service-data-capture-migrate/scripts/fsm_dc_catalog.py +413 -0
- package/skills/field-service-data-capture-migrate/scripts/generate_summary.py +199 -0
- package/skills/field-service-data-capture-migrate/scripts/json_to_flow_xml.py +146 -0
- package/skills/field-service-data-capture-migrate/scripts/manual_review_flags.py +42 -0
- package/skills/field-service-data-capture-migrate/scripts/retrieve_flow_rest.sh +155 -0
- package/skills/field-service-data-capture-migrate/scripts/subflow_names.py +49 -0
- package/skills/field-service-data-capture-migrate/scripts/transform_flow.py +1661 -0
- package/skills/field-service-data-capture-migrate/scripts/validate_flow.sh +147 -0
- package/skills/field-service-data-capture-migrate/scripts/vendor/build_flow.py +1258 -0
- package/skills/integration-connectivity-connected-app-configure/SKILL.md +5 -5
- package/skills/integration-connectivity-generate/SKILL.md +10 -10
- package/skills/integration-connectivity-generate/scripts/configure-named-credential.sh +2 -2
- package/skills/life-sciences-fieldsalesrep-coordinate/SKILL.md +1 -1
- package/skills/life-sciences-fieldsalesrep-coordinate/references/orchestration-flow.md +1 -1
- package/skills/life-sciences-kam-coordinate/references/stage-5-data-and-plan-templates-overview.md +14 -1
- package/skills/mobile-apps-create/SKILL.md +1 -1
- package/skills/{platform-agentsetup-categories-fetch → platform-agenticsetup-categories-get}/SKILL.md +7 -7
- package/skills/platform-apex-test-generate/SKILL.md +1 -1
- package/skills/platform-apex-test-run/SKILL.md +1 -1
- package/skills/platform-custom-field-generate/SKILL.md +1 -1
- package/skills/platform-custom-lightning-type-generate/SKILL.md +1 -1
- package/skills/platform-custom-metadata-type-generate/SKILL.md +1 -1
- package/skills/platform-custom-object-generate/SKILL.md +1 -1
- package/skills/platform-custom-report-type-generate/SKILL.md +1 -1
- package/skills/platform-custom-setting-generate/SKILL.md +1 -1
- package/skills/platform-data-and-tooling-api-context-get/SKILL.md +1 -1
- package/skills/platform-data-manage/SKILL.md +10 -10
- package/skills/platform-flexipage-generate/SKILL.md +1 -1
- package/skills/platform-lightning-app-coordinate/SKILL.md +1 -1
- package/skills/platform-metadata-api-context-get/SKILL.md +1 -1
- package/skills/platform-metadata-retrieve/SKILL.md +1 -1
- package/skills/platform-permission-set-generate/SKILL.md +1 -1
- package/skills/platform-report-generate/SKILL.md +1 -1
- package/skills/platform-salesforce-connect-adapter-generate/SKILL.md +4 -4
- package/skills/platform-sandbox-configure/SKILL.md +108 -133
- package/skills/platform-sandbox-configure/references/api-response-shapes.md +39 -0
- package/skills/platform-sandbox-configure/references/definition-file-approach.md +73 -0
- package/skills/platform-sharing-owd-configure/SKILL.md +1 -1
- package/skills/platform-sharing-rules-generate/SKILL.md +1 -1
- package/skills/platform-soql-query/SKILL.md +1 -1
- package/skills/platform-value-set-generate/SKILL.md +1 -1
- package/skills/platform-widget-generate/SKILL.md +26 -18
- package/skills/platform-widget-generate/examples/formulas.json +191 -0
- package/skills/platform-widget-generate/references/widget-formulas.md +123 -0
- package/skills/platform-widget-generate/references/widget-meta-directives.md +4 -4
- package/skills/sales-call-scoring-configure/SKILL.md +318 -0
- package/skills/sales-call-scoring-configure/assets/best-practice-competencies.json +67 -0
- package/skills/sales-call-scoring-configure/assets/ootb-competencies.json +58 -0
- package/skills/sales-call-scoring-configure/references/admin-communication.md +79 -0
- package/skills/sales-call-scoring-configure/references/competency-crud.md +130 -0
- package/skills/sales-call-scoring-configure/scripts/create-competency.sh +166 -0
- package/skills/sales-call-scoring-configure/scripts/create-custom-competency.sh +166 -0
- package/skills/sales-call-scoring-configure/scripts/edit-competency.sh +185 -0
- package/skills/sales-call-scoring-configure/scripts/edit-custom-competency.sh +190 -0
- package/skills/sales-call-scoring-configure/scripts/enable-call-scoring.sh +436 -0
- package/skills/sales-call-scoring-configure/scripts/get-competency.sh +72 -0
- package/skills/sales-call-scoring-configure/scripts/get-custom-competency.sh +78 -0
- package/skills/sales-call-scoring-configure/scripts/install-best-practice-competencies.sh +223 -0
- package/skills/sales-call-scoring-configure/scripts/install-ootb-competencies.sh +237 -0
- package/skills/sales-call-scoring-configure/scripts/list-competencies.sh +99 -0
- package/skills/sales-call-scoring-configure/scripts/shared/auth.sh +116 -0
- package/skills/sales-call-scoring-configure/scripts/shared/cap.sh +86 -0
- package/skills/sales-call-scoring-configure/scripts/shared/soap.sh +267 -0
- package/skills/sales-call-scoring-configure/scripts/shared/soql.sh +25 -0
- package/skills/sales-call-scoring-configure/scripts/toggle-competency.sh +112 -0
- package/skills/sales-call-scoring-configure/scripts/toggle-custom-competency.sh +125 -0
- package/skills/sales-call-scoring-configure/scripts/verify-ootb-competencies.sh +116 -0
- package/skills/service-agentforce-human-escalation-configure/SKILL.md +4 -0
- package/skills/service-agentforce-human-escalation-configure/scripts/tests/_bootstrap.py +26 -6
- package/skills/service-agentforce-human-escalation-configure/scripts/tests/test_escalation_contracts.py +5 -4
- package/skills/service-concierge-portal-generate/references/portal-deploy-runbook.md +1 -0
- package/skills/service-de-channel-activate/SKILL.md +6 -5
- package/skills/service-de-channel-create/SKILL.md +3 -3
- package/skills/service-de-channel-routing-configure/SKILL.md +3 -3
- package/skills/service-de-channel-settings-configure/SKILL.md +195 -0
- package/skills/service-de-channel-settings-configure/references/channel-settings-facets.md +152 -0
- package/skills/{service-de-channel-consent-configure → service-de-channel-settings-configure}/references/gotchas.md +3 -3
- package/skills/{service-de-channel-consent-configure → service-de-channel-settings-configure}/references/language-keywords.md +4 -4
- package/skills/{service-de-channel-consent-configure → service-de-channel-settings-configure}/references/worked-examples.md +14 -14
- package/skills/service-de-headless-channel-configure/SKILL.md +6 -6
- package/skills/service-de-headless-channel-configure/references/worked-examples.md +1 -1
- package/skills/service-de-waba-integrate/SKILL.md +2 -1
- package/skills/service-digital-engagement-deployment-configure/SKILL.md +2 -0
- package/skills/service-digital-engagement-deployment-configure/scripts/check-api-version.sh +29 -0
- package/skills/service-email-to-case-configure/SKILL.md +1 -1
- package/skills/service-helpagent-coordinate/SKILL.md +3 -2
- package/skills/service-helpagent-coordinate/references/channel-voice.md +15 -4
- package/skills/service-itsm-agentic-setup-agentforce-coordinate/SKILL.md +49 -31
- package/skills/service-itsm-agentic-setup-agentforce-coordinate/examples/output-templates.md +71 -6
- package/skills/service-itsm-agentic-setup-agentforce-coordinate/scripts/verify-child-verdict.mjs +26 -4
- package/skills/service-itsm-agentic-setup-cmdb-access-assign/SKILL.md +35 -10
- package/skills/service-itsm-agentic-setup-cmdb-access-assign/references/mcp-invocation.md +25 -5
- package/skills/service-itsm-agentic-setup-cmdb-bundle-deploy/SKILL.md +1 -1
- package/skills/service-itsm-agentic-setup-cmdb-configure/SKILL.md +5 -5
- package/skills/service-itsm-agentic-setup-cmdb-configure/references/mcp-invocation.md +1 -1
- package/skills/service-itsm-agentic-setup-cmdb-coordinate/SKILL.md +2 -2
- package/skills/service-itsm-agentic-setup-cmdb-coordinate/examples/output-templates.md +1 -1
- package/skills/service-itsm-agentic-setup-cmdb-discovery-configure/SKILL.md +25 -15
- package/skills/service-itsm-agentic-setup-employee-agent-configure/SKILL.md +8 -5
- package/skills/service-itsm-agentic-setup-employee-agent-configure/references/report-format.md +4 -2
- package/skills/service-itsm-agentic-setup-employee-agent-configure/references/workflow-detail.md +1 -1
- package/skills/service-itsm-agentic-setup-employee-agent-configure/scripts/render-report.mjs +29 -16
- package/skills/service-itsm-agentic-setup-fulfiller-agent-configure/SKILL.md +8 -5
- package/skills/service-itsm-agentic-setup-fulfiller-agent-configure/references/report-format.md +4 -2
- package/skills/service-itsm-agentic-setup-fulfiller-agent-configure/references/workflow-detail.md +1 -1
- package/skills/service-itsm-agentic-setup-fulfiller-agent-configure/scripts/render-report.mjs +29 -16
- package/skills/service-itsm-agentic-setup-incident-management/SKILL.md +138 -68
- package/skills/service-itsm-agentic-setup-incident-management/examples/output-templates.md +31 -15
- package/skills/service-itsm-agentic-setup-incident-management/references/incident-persona-psg.md +156 -0
- package/skills/service-itsm-agentic-setup-incident-management/references/incident-preferences.md +148 -0
- package/skills/service-itsm-agentic-setup-incident-management/references/major-incident-management.md +162 -0
- package/skills/service-itsm-agentic-setup-incident-management/references/service-mgmt-privilege.md +149 -0
- package/skills/service-itsm-agentic-setup-incident-sla-configure/SKILL.md +103 -89
- package/skills/service-itsm-agentic-setup-incident-sla-configure/assets/attach-milestone.json +2 -2
- package/skills/service-itsm-agentic-setup-incident-sla-configure/assets/predefined-incident-policy.json +21 -39
- package/skills/service-itsm-agentic-setup-incident-sla-configure/examples/milestone-patterns.md +3 -3
- package/skills/service-itsm-agentic-setup-incident-sla-configure/examples/output-templates.md +18 -1
- package/skills/service-itsm-agentic-setup-incident-sla-configure/references/mcp-invocation.md +63 -37
- package/skills/service-omni-attribute-routing-configure/SKILL.md +53 -0
- package/skills/service-omni-attribute-routing-configure/references/api-notes.md +7 -0
- package/skills/service-omni-attribute-routing-configure/scripts/configure-and-report.sh +224 -0
- package/skills/service-omni-attribute-routing-configure/scripts/tests/test_attribute_routing_contracts.py +137 -0
- package/skills/service-omni-channel-inventory-analyze/SKILL.md +96 -0
- package/skills/service-omni-channel-inventory-analyze/references/api-notes.md +52 -0
- package/skills/service-omni-channel-inventory-analyze/scripts/analyze.sh +185 -0
- package/skills/service-omni-channel-inventory-analyze/scripts/tests/_bootstrap.py +84 -0
- package/skills/service-omni-channel-inventory-analyze/scripts/tests/test_inventory_analyze_contracts.py +141 -0
- package/skills/service-omni-channel-limits-analyze/SKILL.md +70 -0
- package/skills/service-omni-channel-limits-analyze/references/api-notes.md +22 -0
- package/skills/service-omni-channel-limits-analyze/scripts/analyze.sh +159 -0
- package/skills/service-omni-channel-limits-analyze/scripts/tests/_bootstrap.py +87 -0
- package/skills/service-omni-channel-limits-analyze/scripts/tests/test_limits_analyze_contracts.py +99 -0
- package/skills/service-omni-channel-setup-coordinate/SKILL.md +12 -20
- package/skills/service-omni-channel-setup-coordinate/scripts/integration-driver.sh +55 -5
- package/skills/service-omni-channel-setup-coordinate/scripts/tests/test_omni_contracts.py +38 -0
- package/skills/service-omni-command-center-analyze/SKILL.md +2 -2
- package/skills/service-omni-command-center-analyze/scripts/analyze.sh +3 -3
- package/skills/dx-org-manage/examples/snapshots/error_output.json +0 -9
- package/skills/dx-org-manage/examples/snapshots/success_output.json +0 -15
- package/skills/dx-org-manage/references/cli_flags.md +0 -67
- package/skills/dx-org-manage/references/creating-snapshot.md +0 -103
- package/skills/dx-org-manage/references/snapshot_usage.md +0 -74
- package/skills/experience-accessibility-validate/scripts/contrast-ratio.py +0 -153
- package/skills/experience-lwc-accessibility-jest-run/references/running-sa11y-jest-tests.md +0 -205
- package/skills/experience-ui-bundle-features-generate/scripts/verify-react-bundle.sh +0 -14
- /package/skills/experience-ui-bundle-features-generate/references/{conflict-resolution-schema.json → common/conflict-resolution-schema.json} +0 -0
- /package/skills/{platform-agentsetup-categories-fetch → platform-agenticsetup-categories-get}/references/api-response-schema.md +0 -0
|
@@ -0,0 +1,318 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: sales-call-scoring-configure
|
|
3
|
+
description: "Configure, set up, or repair AI Call Scoring (a.k.a. Call Coaching / Coaching Competencies) on an ECI-enabled Salesforce org. Flips ECICallScoringEnabled via SOAP Metadata API, enables Einstein Generative AI Platform if off, and manages Coaching Competency records (EnablementCompetencyDef Tooling API): install the 6 OOTB set, the 7 Momentum best-practice prompts, or conversationally author/edit/activate/deactivate custom competencies (8-active + 16000/255-char caps). TRIGGER when: user wants to turn on AI Call Scoring or Call Coaching, install OOTB or best-practice competencies, create/edit custom competencies, re-enable after sandbox refresh, or verify/repair partial Call Coaching setup on a 68+ ECI org. DO NOT TRIGGER when: no ECI license (direct to Agentforce for Sales), user wants to enable ECI/Momentum themselves (out of scope — Setup), Pipeline Management (use sales-agentforce-pipeline-management-configure), or custom agent (use agentforce-generate)."
|
|
4
|
+
metadata:
|
|
5
|
+
version: "1.0"
|
|
6
|
+
domains: ["Sales"]
|
|
7
|
+
minApiVersion: "68.0"
|
|
8
|
+
relatedSkills:
|
|
9
|
+
- "sales-agentforce-pipeline-management-configure"
|
|
10
|
+
- "agentforce-generate"
|
|
11
|
+
cliTools:
|
|
12
|
+
- tool: ["sf"]
|
|
13
|
+
semver: ">=2.0.0"
|
|
14
|
+
- tool: ["jq"]
|
|
15
|
+
semver: ">=1.6.0"
|
|
16
|
+
- tool: ["curl"]
|
|
17
|
+
semver: ">=7.0.0"
|
|
18
|
+
accessCheck:
|
|
19
|
+
- type: "orgPref"
|
|
20
|
+
value: "ConversationPilotPref"
|
|
21
|
+
- type: "userPerm"
|
|
22
|
+
value: "ModifyAllData"
|
|
23
|
+
---
|
|
24
|
+
|
|
25
|
+
# Sales Call Scoring — Configure
|
|
26
|
+
|
|
27
|
+
Configure **Call Coaching** (a.k.a. AI Call Scoring / Coaching Competencies)
|
|
28
|
+
on a Salesforce org. Detects the org's current state, enables dependent
|
|
29
|
+
features it is authorized to enable, and flips the `ECICallScoringEnabled`
|
|
30
|
+
org preference via the SOAP Metadata API.
|
|
31
|
+
|
|
32
|
+
## Scope
|
|
33
|
+
|
|
34
|
+
**In scope**
|
|
35
|
+
- **ECI-enabled orgs only.** The skill supports orgs on the ECI (Einstein
|
|
36
|
+
Conversation Insights) arm (spike scope: ECI-only for MVP).
|
|
37
|
+
- Detect which of the 4 PRD-scoped org states the org is in.
|
|
38
|
+
- Enable **Einstein Generative AI Platform** if off (PRD-authorized dependency).
|
|
39
|
+
- Flip `enableECICallScoring` to `true` via SOAP Metadata API v68.
|
|
40
|
+
- Verify the change took effect.
|
|
41
|
+
- Idempotent — clean exit on states 3 and 4 (already enabled).
|
|
42
|
+
|
|
43
|
+
**Out of scope**
|
|
44
|
+
- **River Rush / Momentum detection.** Deferred until that arm goes live —
|
|
45
|
+
see Key Considerations. A Momentum-only org today is not distinguished
|
|
46
|
+
from any other ECI-off org; it gets the generic "ECI is not enabled"
|
|
47
|
+
message from Phase 3, not a Momentum-specific one.
|
|
48
|
+
- **Enabling ECI or Momentum themselves.** PRD-explicit out-of-scope; the skill
|
|
49
|
+
detects and messages the admin to enable ECI via Setup.
|
|
50
|
+
- **License provisioning.** Missing base licenses (Agentforce for Sales, ECI
|
|
51
|
+
license) require an account-team ticket.
|
|
52
|
+
- **Competency CRUD.** Handled by sibling scripts in this same skill — see "Competency CRUD workflow" below (§S3-§S10) and the "Execution sequence" matrix.
|
|
53
|
+
|
|
54
|
+
## Prerequisites
|
|
55
|
+
|
|
56
|
+
1. **`sf` CLI authenticated** — `sf org login web --alias <org-alias>`.
|
|
57
|
+
2. ECI arm licensed and enabled: `ConversationPilot` org permission (Phase 0
|
|
58
|
+
purchase gate) and `enableCallCoaching` pref (Phase 1, the
|
|
59
|
+
`ConversationPilotPref` preference). (River Rush/Momentum is a separate
|
|
60
|
+
arm covered by the same server-side gate but not checked by this skill
|
|
61
|
+
yet — see Key Considerations.)
|
|
62
|
+
3. Site gate `com.salesforce.eci.callScoringEnabled` open on the org's pod
|
|
63
|
+
(RelEng-controlled; not admin-toggleable).
|
|
64
|
+
|
|
65
|
+
Einstein GenAI Platform is a soft prerequisite — the skill enables it
|
|
66
|
+
automatically when off.
|
|
67
|
+
|
|
68
|
+
## Clarifying Questions
|
|
69
|
+
|
|
70
|
+
Ask the admin: target org alias? Sandbox refresh scenario? (The pref has
|
|
71
|
+
`disableOnSandboxCopy=true`, so it must be re-flipped after every refresh —
|
|
72
|
+
that's normal, not a failure.)
|
|
73
|
+
|
|
74
|
+
## Admin Communication Guidelines
|
|
75
|
+
|
|
76
|
+
**CRITICAL**: This skill serves admin users, not developers. The full 13-rule spec with rationale for each rule lives in [`references/admin-communication.md`](references/admin-communication.md) — consult it before your first response in this skill. Summary of the load-bearing rules:
|
|
77
|
+
|
|
78
|
+
1. **Run all bash commands in background** (`run_in_background: true`).
|
|
79
|
+
2. **Speak admin language, not entity language** — "Call Coaching", "Coaching Competency", "active/inactive". Never `EnablementCompetencyDef`, `enableECICallScoring`, `EvaluationInstructions`, `SourceCompetencyTemplate` in primary chat text.
|
|
80
|
+
3. **Hide technical details** — no record Ids, DeveloperNames, Template enum keys, HTTP codes, SOAP responses, curl/jq internals, script paths, or phase numbers. Exception: the S9 verify markdown table (see [`references/competency-crud.md`](references/competency-crud.md) §S9).
|
|
81
|
+
4. **Chain automatically** — when a script prints `Next: <script>`, run it in the same turn without asking. **Exception**: State 3 → rule #13.
|
|
82
|
+
5. **Ask OOTB-vs-custom once** — on first-time competency setup (State 3, unqualified intent), render `install-ootb-competencies.sh --list` and let the admin choose. Only checkpoint in this skill where Claude asks before writing.
|
|
83
|
+
6. **Idempotency is silent** — if already on/installed, say so briefly and move on.
|
|
84
|
+
|
|
85
|
+
See [`references/admin-communication.md`](references/admin-communication.md) for the full 13-rule spec, including error-surfacing, outcome-vs-steps reporting, and the S9 carve-out rationale.
|
|
86
|
+
|
|
87
|
+
## Workflow
|
|
88
|
+
|
|
89
|
+
### Phase 0 — Auth
|
|
90
|
+
|
|
91
|
+
Resolves org auth via the shared `scripts/shared/auth.sh` helper
|
|
92
|
+
(`resolve_org_auth "$ORG_ALIAS"`), which every script in this skill sources:
|
|
93
|
+
validate the alias format, call `sf org display` for `instanceUrl` and
|
|
94
|
+
`accessToken` (falling back to `sf org auth show-access-token` when the CLI
|
|
95
|
+
redacts the token), refuse a non-HTTPS instance URL, and fail closed with an
|
|
96
|
+
explicit `sf org login web --alias <alias>` instruction if the org isn't
|
|
97
|
+
reachable or no token can be extracted. If `ACCESS_TOKEN`/`INSTANCE_URL` are
|
|
98
|
+
already exported for the same alias — e.g. a parent shell already resolved
|
|
99
|
+
auth and is chaining multiple of these scripts in one session — resolution
|
|
100
|
+
is skipped and the cached values are reused. `orgId` is not part of this
|
|
101
|
+
helper; `enable-call-scoring.sh` fetches it separately (via its own
|
|
102
|
+
`sf org display`) purely for the status banner.
|
|
103
|
+
|
|
104
|
+
### Phase 0 — ECI purchase gate
|
|
105
|
+
|
|
106
|
+
Before any state detection, query the `ConversationPilot` OrgPermission via
|
|
107
|
+
Tooling API (`OrganizationSettingsDetail`, same pattern as the
|
|
108
|
+
`ECICallScoringAI` gate in Phase 3). This is a license/purchase check,
|
|
109
|
+
distinct from `enableCallCoaching` below (the admin's Setup toggle for an
|
|
110
|
+
org that's already licensed):
|
|
111
|
+
|
|
112
|
+
- **Not enabled:** exit with: "Call Coaching couldn't be turned on because
|
|
113
|
+
this org doesn't have Einstein Conversation Insights, which is required
|
|
114
|
+
to use Call Coaching. To proceed, an admin can go to Setup → Salesforce Go
|
|
115
|
+
→ Einstein Conversation Insights, or contact their sales representative,
|
|
116
|
+
to understand how to purchase ECI." Non-zero exit.
|
|
117
|
+
- **Enabled:** proceed to Phase 1's `enableCallCoaching` check.
|
|
118
|
+
|
|
119
|
+
### Phase 1 — State detection
|
|
120
|
+
|
|
121
|
+
SOAP `readMetadata` at `/services/Soap/m/68.0` against two settings types:
|
|
122
|
+
|
|
123
|
+
1. `ConversationalIntelligenceSettings` → read `enableCallCoaching` (ECI arm)
|
|
124
|
+
and `enableECICallScoring` (current Call Coaching state).
|
|
125
|
+
2. `EinsteinGptSettings` → read `enableEinsteinGptPlatform`.
|
|
126
|
+
|
|
127
|
+
(`RiverRushSettings`/`riverRushEnabled` — Momentum — is NOT read. That
|
|
128
|
+
detection is deferred until the River Rush arm goes live; see Key
|
|
129
|
+
Considerations for where to re-add it.)
|
|
130
|
+
|
|
131
|
+
Query existing competencies via Tooling API:
|
|
132
|
+
`SELECT COUNT() FROM EnablementCompetencyDef`.
|
|
133
|
+
|
|
134
|
+
Classify the org into one of 4 states:
|
|
135
|
+
|
|
136
|
+
| State | Detection |
|
|
137
|
+
|---|---|
|
|
138
|
+
| 1a. Not available (no ECI license) | Cannot read `ConversationalIntelligenceSettings` |
|
|
139
|
+
| 2. Available, not enabled | `enableCallCoaching=true` AND `enableECICallScoring=false` |
|
|
140
|
+
| 3. Enabled, no competencies | `enableECICallScoring=true` AND count = 0 |
|
|
141
|
+
| 4. Enabled, with competencies | `enableECICallScoring=true` AND count > 0 |
|
|
142
|
+
|
|
143
|
+
### Phase 2 — Route by state
|
|
144
|
+
|
|
145
|
+
- **State 1a:** Exit with PRD-verbatim message: "AI call coaching is not
|
|
146
|
+
available in this org and they need Agentforce for Sales." Non-zero exit.
|
|
147
|
+
- **State 3 / State 4:** Exit 0 with a ready-for-competency-setup message.
|
|
148
|
+
- **State 2:** Proceed.
|
|
149
|
+
|
|
150
|
+
### Phase 3 — Prerequisite enablement (State 2 only)
|
|
151
|
+
|
|
152
|
+
- **License gate (checked first):** query `OrganizationSettingsDetail`
|
|
153
|
+
(Tooling API) for the `ECICallScoringAI` OrgPermission. If it isn't
|
|
154
|
+
`true`, exit with: "AI call coaching is not available in this org and org
|
|
155
|
+
requires Agentforce for Sales license." Non-zero exit. This runs even
|
|
156
|
+
when `enableCallCoaching`/`enableECICallScoring` already read favorably,
|
|
157
|
+
since those settings don't by themselves confirm the org is licensed.
|
|
158
|
+
**Must run before the ECI-off check below** — a genuinely unlicensed org
|
|
159
|
+
and a licensed-but-toggled-off org both read `enableCallCoaching=false`,
|
|
160
|
+
so checking ECI first would misdiagnose a licensing gap as a self-serve
|
|
161
|
+
Setup toggle (the regression the `NoLicense` eval dataset guards against).
|
|
162
|
+
- If **ECI is off**: refuse with a Setup pointer, exit non-zero. This skill
|
|
163
|
+
does NOT enable ECI (PRD explicit). (A Momentum-only org lands here too,
|
|
164
|
+
since Momentum isn't detected separately — it gets this same generic
|
|
165
|
+
message, not a Momentum-specific one.)
|
|
166
|
+
- If **Einstein GenAI off**: SOAP `updateMetadata` on `EinsteinGptSettings`
|
|
167
|
+
with `enableEinsteinGptPlatform=true`. PRD explicitly authorizes this. If
|
|
168
|
+
it's already on, skip the `updateMetadata` call and tell the admin it's
|
|
169
|
+
already enabled. If the update fails because the org isn't licensed for
|
|
170
|
+
`EinsteinGptSettings` (or is explicitly refused with no fault): tell the
|
|
171
|
+
admin they need **Agentforce for Sales** to enable AI Call Scoring, and
|
|
172
|
+
that without it they can still set up **manual call scoring** via
|
|
173
|
+
Salesforce Go setup. A distinct auth/permission or network/timeout failure
|
|
174
|
+
gets its own message (check CLI session / retry) rather than the licensing
|
|
175
|
+
message, since those aren't licensing gaps.
|
|
176
|
+
|
|
177
|
+
### Phase 4 — Enable Call Coaching (State 2 only)
|
|
178
|
+
|
|
179
|
+
If `enableECICallScoring` already reads `true` (e.g. it changed out-of-band
|
|
180
|
+
between Phase 1's read and here), skip the update and tell the admin it's
|
|
181
|
+
already enabled. Otherwise SOAP `updateMetadata` on
|
|
182
|
+
`ConversationalIntelligenceSettings` with `enableECICallScoring=true`.
|
|
183
|
+
Require `<success>true</success>`.
|
|
184
|
+
|
|
185
|
+
### Phase 5 — Verify (State 2 only)
|
|
186
|
+
|
|
187
|
+
Re-read `enableECICallScoring`. Require `true`. Print SOAP response on failure.
|
|
188
|
+
|
|
189
|
+
## Key Considerations
|
|
190
|
+
|
|
191
|
+
- **API version is v68.0**, not v64.0. `enableECICallScoring` is not
|
|
192
|
+
present in the `ConversationalIntelligenceSettings` schema at lower API
|
|
193
|
+
versions on some builds — v68 is the safe minimum. The Pipeline skill uses
|
|
194
|
+
v64 because its target field (`SalesDealAgentSettings.enableDealAgent`) is
|
|
195
|
+
present there; Call Scoring is not.
|
|
196
|
+
- **Do NOT use `sf mdapi deploy`** for this pref. It has a silent failure
|
|
197
|
+
mode where the CLI reports success but the pref doesn't flip. Use raw
|
|
198
|
+
SOAP `updateMetadata` — the response's `<success>` boolean is authoritative.
|
|
199
|
+
- **The server-side gate is broader than this skill's scope.** The
|
|
200
|
+
`orgHasCallScoring` access check allows the ECI arm OR the River Rush
|
|
201
|
+
(Momentum) arm — see `CoachingCompetenciesFeature.isFeatureAvailableInOrg()`.
|
|
202
|
+
This skill deliberately narrows to the ECI arm (MVP scope per the spike).
|
|
203
|
+
- **River Rush (Momentum) detection is deliberately absent right now**, not
|
|
204
|
+
an oversight — the arm isn't live yet. `enable-call-scoring.sh` used to
|
|
205
|
+
read `RiverRushSettings.riverRushEnabled` and refuse Momentum-only orgs
|
|
206
|
+
with a distinct "State 1b" message / emit a Momentum-available-but-off
|
|
207
|
+
advisory; both were removed. Re-add them (the read, the State 1b branch,
|
|
208
|
+
and the Phase 3 advisory) once River Rush ships — the removed code is
|
|
209
|
+
recoverable from git history on this file.
|
|
210
|
+
- **`disableOnSandboxCopy=true`** — every sandbox refresh disables this pref.
|
|
211
|
+
Admins re-running the skill after a refresh is the expected pattern; the
|
|
212
|
+
idempotency check makes that safe.
|
|
213
|
+
- **Site switch** `com.salesforce.eci.callScoringEnabled` must be open on
|
|
214
|
+
the org's pod. It's not admin-toggleable and not readable via SOAP. If
|
|
215
|
+
closed, `updateMetadata` returns a well-formed response with
|
|
216
|
+
`<success>false</success>` and an `<errors><statusCode>…</statusCode></errors>`
|
|
217
|
+
block — it does NOT emit a SOAP `<Fault>`. `parse_soap_response` extracts
|
|
218
|
+
the statusCode and surfaces it via the `WRITE_ERROR:…` classification.
|
|
219
|
+
- **ECI provisioning is asynchronous.** For a short window after
|
|
220
|
+
`enableCallCoaching` flips on, the dependent `enableECICallScoring` field
|
|
221
|
+
is server-side read-only and `updateMetadata` returns
|
|
222
|
+
`INSUFFICIENT_ACCESS_OR_READONLY`. `enable-call-scoring.sh` maps this to a
|
|
223
|
+
transient "still finishing turning on — wait a few minutes and re-run"
|
|
224
|
+
message rather than a terminal failure (W-23968462).
|
|
225
|
+
- **Every SOAP call is bounded by a 30s timeout** (`CURL_TIMEOUT` in
|
|
226
|
+
`enable-call-scoring.sh`, matching the only existing timeout precedent in
|
|
227
|
+
this repo — the Pipeline skill's `setup-all.sh`) and classified via
|
|
228
|
+
`shared/soap.sh`'s `parse_soap_response` into `true` / `false` /
|
|
229
|
+
`AUTH_ERROR:...` / `TYPE_UNAVAILABLE:...` / `WRITE_ERROR:…` /
|
|
230
|
+
`NETWORK_ERROR`. This distinguishes "org isn't licensed for this setting"
|
|
231
|
+
from "auth/permission fault" from "server refused the write with a specific
|
|
232
|
+
statusCode" from "network/timeout error" — instead of collapsing them into
|
|
233
|
+
an empty string or dumping raw SOAP XML at the admin.
|
|
234
|
+
- **`enable-call-scoring.sh` uses raw SOAP, not `sf api request rest`.**
|
|
235
|
+
Every other script in this skill uses `sf api request rest` so the CLI
|
|
236
|
+
manages auth end-to-end. `enable-call-scoring.sh` is the sole exception:
|
|
237
|
+
it calls the SOAP Metadata API (`readMetadata`/`updateMetadata`) directly,
|
|
238
|
+
because no non-beta Salesforce CLI command exposes SOAP Metadata reads/
|
|
239
|
+
writes for `ConversationalIntelligenceSettings` et al., and `sf mdapi
|
|
240
|
+
deploy` has the silent-failure mode noted above for this exact field. This
|
|
241
|
+
is a deliberate, scoped exception, not an oversight.
|
|
242
|
+
|
|
243
|
+
## References
|
|
244
|
+
|
|
245
|
+
- **Reference skill** (canonical single-OrgPref pattern):
|
|
246
|
+
`skills/sales-agentforce-pipeline-management-configure/`
|
|
247
|
+
- **SOAP helpers**: `scripts/shared/soap.sh` (copied from the Pipeline skill —
|
|
248
|
+
`redact_token`, `parse_soap_response`)
|
|
249
|
+
- **Server-side gate** (declarative access check):
|
|
250
|
+
`core/conversation-udd/java/resources/udd/conversation-udd/ConversationalIntelligence.accessChecks.xml`
|
|
251
|
+
— `orgHasCallScoring` = ECI arm OR River Rush arm; `orgHasECICallScoringWithAI`
|
|
252
|
+
adds Einstein GenAI + `ECICallScoringAI` license perm on top.
|
|
253
|
+
- **Pref declaration**:
|
|
254
|
+
`core/conversation-udd/java/resources/udd/conversation-udd/ConversationalIntelligence.settings.xml`
|
|
255
|
+
— `<orgPreference name="ECICallScoringEnabled" mdApiName="enableECICallScoring" ...>`
|
|
256
|
+
- **Java feature registration** (would be the entry point if a
|
|
257
|
+
SetupDiscoveryService REST/MCP wrapper existed): `core/conversation-impl/java/src/conversation/features/CoachingCompetenciesFeature.java`
|
|
258
|
+
|
|
259
|
+
## Competency CRUD workflow
|
|
260
|
+
|
|
261
|
+
Once Phase 5 confirms Call Coaching is enabled (or Phase 1 detects State 3/4), Claude runs the `Next:` script directly, in the same turn. Records are managed via Tooling API on `EnablementCompetencyDef` (setup entity, keyPrefix `1nA`, module `conversation-udd`). Cap: **8 simultaneously active** per org (`CoachingCompetenciesFeature.MAX_ACTIVE_COMPETENCIES`).
|
|
262
|
+
|
|
263
|
+
All scripts share `shared/auth.sh` / `resolve_org_auth` — token propagates across chained invocations, no re-auth. Tooling API writes go through `sf api request rest` where practical; a subset (custom-CRUD variants, best-practice installer) drops to raw `curl` for finer request shape.
|
|
264
|
+
|
|
265
|
+
Scripts fall into **two parallel families**:
|
|
266
|
+
|
|
267
|
+
- **Generic** — `{create,edit,toggle,get}-competency.sh` — works on any competency.
|
|
268
|
+
- **Custom-CRUD variants** — `*-custom-competency.sh` — harden the write path with SpecificCallsOnly filter JSON and richer validation.
|
|
269
|
+
|
|
270
|
+
Prefer custom variants when the admin's intent is unambiguously custom (S5-created); fall back to generic on OOTB or unknown-provenance records.
|
|
271
|
+
|
|
272
|
+
**Full spec** — S3 through S10 script contracts, S5's Q1-Q4 conversational drafting sequence, the admin-intent × org-state execution matrix, and chaining checkpoints — is in [`references/competency-crud.md`](references/competency-crud.md). Consult it whenever the admin's ask touches competency records (list, install, create/edit, activate, verify, delete).
|
|
273
|
+
|
|
274
|
+
## Standalone Scripts (summary)
|
|
275
|
+
|
|
276
|
+
| Script | Purpose |
|
|
277
|
+
|---|---|
|
|
278
|
+
| `enable-call-scoring.sh <alias>` | Detect state, enable Einstein GenAI if off, flip the Call Coaching pref (Phase 0-5). |
|
|
279
|
+
| `list-competencies.sh <alias> [--verbose\|--json]` | List all competencies + status. Admin-safe by default; `--verbose` adds Ids/DeveloperNames; `--json` for the calling agent only. |
|
|
280
|
+
| `install-ootb-competencies.sh <alias> [--dry-run]` | Install the 6 PRD-canonical OOTB competencies. |
|
|
281
|
+
| `install-best-practice-competencies.sh <alias> [--dry-run] [--only "Name1,Name2"]` | Install the 7 Momentum best-practice reference prompts. `--only` filters by `MasterLabel`. |
|
|
282
|
+
| `create-competency.sh <alias> <payload.json>` | Create one competency (generic — usable on OOTB or custom). |
|
|
283
|
+
| `create-custom-competency.sh <alias> <payload.json>` | Create one custom competency (hardened variant — prefer for S5). |
|
|
284
|
+
| `edit-competency.sh <alias> <ident> ...` | Edit description / instructions (generic). |
|
|
285
|
+
| `edit-custom-competency.sh <alias> <ident> ...` | Edit description / instructions (custom-CRUD variant). |
|
|
286
|
+
| `toggle-competency.sh <alias> <ident> <activate\|deactivate>` | Activate / deactivate (generic). |
|
|
287
|
+
| `toggle-custom-competency.sh <alias> <ident> <activate\|deactivate>` | Activate / deactivate (custom-CRUD variant). |
|
|
288
|
+
| `get-competency.sh <alias> <ident> [--field <f>]` | Fetch a record or single field (generic). |
|
|
289
|
+
| `get-custom-competency.sh <alias> <ident> [--field <f>]` | Fetch a record or single field (custom-CRUD variant). |
|
|
290
|
+
| `verify-ootb-competencies.sh <alias> ["Name" ...]` | Confirm expected competencies exist and are active — outputs the S9 admin-visible markdown table. |
|
|
291
|
+
| _no delete script (yet)_ | Use `sf data delete record --sobject EnablementCompetencyDef --record-id <Id> --use-tooling-api` — see §S10. |
|
|
292
|
+
|
|
293
|
+
## Admin Verification
|
|
294
|
+
|
|
295
|
+
After a successful run, the admin can independently verify:
|
|
296
|
+
|
|
297
|
+
**Via UI** — Salesforce Go → Coaching Competencies should now be reachable
|
|
298
|
+
and show the feature as enabled with the configured competencies.
|
|
299
|
+
|
|
300
|
+
**Via CLI** — two Tooling API queries:
|
|
301
|
+
|
|
302
|
+
```bash
|
|
303
|
+
# Feature enabled?
|
|
304
|
+
sf data query --target-org <alias> --use-tooling-api \
|
|
305
|
+
--query "SELECT IsEciCallScoringEnabled FROM ConversationalIntelligenceSettings"
|
|
306
|
+
|
|
307
|
+
# Competencies configured?
|
|
308
|
+
sf data query --target-org <alias> --use-tooling-api \
|
|
309
|
+
--query "SELECT MasterLabel, IsActive, SourceCompetencyTemplate FROM EnablementCompetencyDef ORDER BY MasterLabel"
|
|
310
|
+
```
|
|
311
|
+
|
|
312
|
+
## Assets
|
|
313
|
+
|
|
314
|
+
- `assets/ootb-competencies.json` — 6 PRD-canonical OOTB prompt bodies
|
|
315
|
+
(installed by `install-ootb-competencies.sh`).
|
|
316
|
+
- `assets/best-practice-competencies.json` — 7 Momentum best-practice
|
|
317
|
+
prompt bodies (S5 authoring reference; also installable via
|
|
318
|
+
`create-competency.sh`).
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
{
|
|
2
|
+
"_meta": {
|
|
3
|
+
"source": "PRD 'Call Coaching Codey configure skill', section 'Momentum best practice agent instructions shared with customers' (Google Doc 1XKEDq9ig4du14qWOMv33mHcpBjF-bBwkVQhTTocnFS0, snapshot 2026-08-10). Extracted verbatim; do not paraphrase.",
|
|
4
|
+
"entity": "EnablementCompetencyDef",
|
|
5
|
+
"sobjectFamily": "TOOLING",
|
|
6
|
+
"count": 7,
|
|
7
|
+
"note": "These are REFERENCE prompts for the custom-competency conversational-authoring flow (S5). They are also directly installable as-is."
|
|
8
|
+
},
|
|
9
|
+
"competencies": [
|
|
10
|
+
{
|
|
11
|
+
"MasterLabel": "Business Problem Diagnosis",
|
|
12
|
+
"DeveloperNameBase": "CCH_BusinessProblemDiagnosis",
|
|
13
|
+
"SourceCompetencyTemplate": "BUSINESS_PROBLEM_DIAGNOSIS",
|
|
14
|
+
"Description": "Evaluate how effectively the sales rep diagnoses the business problems faced by the prospect, focusing on identifying pain points, quantifying impacts, probing for root causes, and framing problems in a way that resonates with the...",
|
|
15
|
+
"EvaluationInstructions": "**PURPOSE:** Evaluate how effectively the sales rep diagnoses the business problems faced by the prospect, focusing on identifying pain points, quantifying impacts, probing for root causes, and framing problems in a way that resonates with the prospect's priorities.\n\n**KEY AREAS TO EVALUATE:**\n\n**1. IDENTIFYING PAIN POINTS**\n**Positive Indicators:**\n- Proactively uncovers specific business challenges\n- Asks targeted questions to surface roadblocks and frustrations\n- Clarifies the impact of challenges on operations or teams\n- Demonstrates curiosity and active listening to explore deeper pain points\n\n**Negative Indicators:**\n- Fails to uncover or clarify key business challenges\n- Asks vague, surface-level questions\n- Misses opportunities to explore additional pain points\n- Does not connect challenges to broader business impacts\n\n**2. QUANTIFYING IMPACTS**\n**Positive Indicators:**\n- Ties pain points to measurable financial or operational outcomes\n- Quantifies the cost, inefficiency, or missed opportunities caused by the challenges\n- Uses metrics or prospect-specific benchmarks to convey impact\n- Highlights urgency by connecting problems to critical business goals\n\n**Negative Indicators:**\n- Fails to connect challenges to measurable outcomes\n- Provides qualitative statements without quantifiable detail\n- Overlooks opportunities to clarify financial or operational impact\n- Relies on assumptions instead of exploring specific data\n\n**3. PROBING FOR ROOT CAUSES**\n**Positive Indicators:**\n- Consistently asks follow-up questions to uncover the root causes behind challenges\n- Demonstrates strategic thinking by exploring underlying trends\n- Asks \"why\" or \"what's driving this\" to dig deeper\n- Aligns root cause exploration with prospect's business priorities\n\n**Negative Indicators:**\n- Does not explore the underlying causes of challenges\n- Stops after identifying surface-level problems\n- Misses opportunities to probe with follow-up questions\n- Fails to connect root causes to strategic solutions\n\n**4. FRAMING PROBLEMS**\n**Positive Indicators:**\n- Reframes challenges using the prospect's language and priorities\n- Summarizes and aligns problems with strategic business goals\n- Highlights the broader impact of challenges on business metrics\n- Positions problems as opportunities for improvement or change\n\n**Negative Indicators:**\n- Fails to reframe or summarize problems effectively\n- Uses generic or unclear language when discussing challenges\n- Misses opportunities to align problems with broader priorities\n- Overlooks the need to position problems as business opportunities\n\n**EXAMPLE STRATEGIC QUESTIONS:**\n- \"What are the top roadblocks preventing your team from hitting their goals this quarter?\"\n- \"How have these challenges impacted your ability to deliver on key initiatives?\"\n- \"What would resolving these issues mean for your business, both financially and operationally?\"\n- \"Can you walk me through what's driving this issue and any trends you've noticed?\"\n\n**EXAMPLE VALUE STATEMENTS:**\n- \"It sounds like the core challenge here is [restate problem], which is causing delays in your processes and limiting efficiency across teams.\"\n- \"This issue seems to be directly impacting your revenue goals, costing your team time and resources that could be redirected to higher-priority initiatives.\"\n- \"Addressing these bottlenecks would help you achieve [specific goal] faster, aligning with your overall priority of streamlining operations.\"\n- \"Based on what you shared, the root cause appears to stem from [specific challenge], creating downstream effects on [team productivity/cost efficiency].\"",
|
|
16
|
+
"EvaluationScope": "AllCalls"
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
"MasterLabel": "Change Management Navigation",
|
|
20
|
+
"DeveloperNameBase": "CCH_ChangeManagementNavigation",
|
|
21
|
+
"SourceCompetencyTemplate": "CHANGE_MANAGEMENT_NAVIGATION",
|
|
22
|
+
"Description": "Evaluate how effectively the sales rep navigates change management during the sales process, focusing on understanding resistance, fostering buy-in, aligning with organizational change goals, and guiding the prospect through uncertainty.",
|
|
23
|
+
"EvaluationInstructions": "**PURPOSE:** Evaluate how effectively the sales rep navigates change management during the sales process, focusing on understanding resistance, fostering buy-in, aligning with organizational change goals, and guiding the prospect through uncertainty.\n\n**KEY AREAS TO EVALUATE:**\n\n**1. UNDERSTANDING RESISTANCE**\n**Positive Indicators:**\n- Proactively uncovers potential sources of resistance\n- Asks targeted questions to explore concerns or hesitations\n- Acknowledges resistance with empathy and addresses it directly\n- Identifies key risks and mitigates them effectively\n\n**Negative Indicators:**\n- Fails to identify or address resistance\n- Dismisses or overlooks stated concerns\n- Provides generic responses that do not resolve hesitation\n- Misses opportunities to probe for deeper concerns\n\n**2. CREATING BUY-IN**\n**Positive Indicators:**\n- Engages key stakeholders to foster alignment and excitement\n- Proactively involves the customer's team in the change process\n- Develops a collaborative plan to ensure buy-in at all levels\n- Builds confidence by addressing concerns and highlighting value\n\n**Negative Indicators:**\n- Fails to involve stakeholders in the process\n- Misses opportunities to create alignment across teams\n- Provides limited or weak efforts to gain buy-in\n- Lacks clarity in building trust or commitment\n\n**3. ALIGNING WITH CHANGE GOALS**\n**Positive Indicators:**\n- Aligns the solution with the prospect's overarching change objectives\n- Demonstrates understanding of organizational priorities\n- Ties solution benefits to specific change goals\n- Highlights measurable outcomes that support change success\n\n**Negative Indicators:**\n- Fails to align the solution with stated change goals\n- Focuses on tactical features rather than organizational priorities\n- Provides a generic or misaligned narrative\n- Misses opportunities to connect solution outcomes to goals\n\n**4. GUIDING THROUGH UNCERTAINTY**\n**Positive Indicators:**\n- Provides clear and actionable steps to overcome uncertainty\n- Builds confidence through structured guidance and next steps\n- Suggests phased approaches (e.g., pilots, testing) to mitigate risk\n- Proactively offers support and resources to ensure success\n\n**Negative Indicators:**\n- Ignores or downplays uncertainty\n- Provides limited or vague guidance\n- Misses opportunities to suggest actionable strategies\n- Fails to build confidence through clear next steps\n\n**EXAMPLE STRATEGIC QUESTIONS:**\n- \"What challenges or resistance have you faced during similar transitions in the past?\"\n- \"Are there any particular concerns that might slow down adoption within your team?\"\n- \"How can we make this transition as smooth and collaborative as possible?\"\n- \"What would success look like for your team six months after implementing this change?\"\n\n**EXAMPLE NAVIGATION STATEMENTS:**\n- \"To address any pushback, we can work on a phased rollout to ensure your team feels confident and prepared.\"\n- \"You mentioned that streamlining operations is critical. This solution directly aligns with that goal and supports measurable change.\"\n- \"To overcome uncertainty, we can provide detailed training sessions and ongoing support to ensure successful adoption.\"\n- \"Let's map out a change plan together that includes key milestones, stakeholder involvement, and risk mitigation.\"",
|
|
24
|
+
"EvaluationScope": "AllCalls"
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
"MasterLabel": "Discovery Excellence",
|
|
28
|
+
"DeveloperNameBase": "CCH_DiscoveryExcellence",
|
|
29
|
+
"SourceCompetencyTemplate": "DISCOVERY_EXCELLENCE",
|
|
30
|
+
"Description": "Evaluate how effectively the sales rep uncovers customer needs, defines future state, and aligns solutions through discovery conversations.",
|
|
31
|
+
"EvaluationInstructions": "**PURPOSE:** Evaluate how effectively the sales rep uncovers customer needs, defines future state, and aligns solutions through discovery conversations.\n\n**KEY AREAS TO EVALUATE:**\n\n**1. CURRENT STATE EXPLORATION**\n**Positive Indicators:**\n- Asks detailed questions about current processes\n- Uncovers specific pain points and challenges\n- Gets quantifiable metrics about current problems\n- Explores impact on business/team/individual\n\n**Negative Indicators:**\n- Skips exploring current situation\n- Asks surface-level questions only\n- Misses obvious follow-up opportunities\n- Fails to quantify current challenges\n\n**2. FUTURE STATE DEFINITION**\n**Positive Indicators:**\n- Establishes clear success criteria\n- Uncovers specific desired outcomes\n- Explores timeline expectations\n- Links outcomes to business goals\n\n**Negative Indicators:**\n- Fails to discuss desired outcomes\n- Ignores timeline requirements\n- Misses success criteria\n- Skips business impact discussion\n\n**3. MEDDPICC FUNDAMENTALS**\n**Positive Indicators:**\n- Identifies key decision makers\n- Uncovers budget parameters\n- Establishes clear metrics\n- Finds potential champion\n\n**Negative Indicators:**\n- Misses decision process\n- Ignores budget discussion\n- Skips success metrics\n- Fails to identify champions\n\n**EXAMPLE STRONG QUESTIONS:**\n- \"Walk me through your current process for...\"\n- \"What metrics do you use to measure success?\"\n- \"What would solving this mean for your team?\"\n- \"Who else needs to be involved in this decision?\"",
|
|
32
|
+
"EvaluationScope": "AllCalls"
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
"MasterLabel": "Executive Vision Alignment",
|
|
36
|
+
"DeveloperNameBase": "CCH_ExecutiveVisionAlignment",
|
|
37
|
+
"SourceCompetencyTemplate": "EXECUTIVE_VISION_ALIGNMENT",
|
|
38
|
+
"Description": "Evaluate how effectively the sales rep aligns their solution with executive-level priorities and secures strategic buy-in during conversations.",
|
|
39
|
+
"EvaluationInstructions": "**PURPOSE:** Evaluate how effectively the sales rep aligns their solution with executive-level priorities and secures strategic buy-in during conversations.\n\n**KEY AREAS TO EVALUATE:**\n\n**1. EXECUTIVE GOALS & PRIORITIES**\n**Positive Indicators:**\n- Uncovers specific strategic priorities\n- Explores long-term business vision\n- Links initiatives to fiscal objectives\n- Discusses organizational impact\n\n**Negative Indicators:**\n- Focuses only on tactical details\n- Misses strategic objectives\n- Fails to explore business priorities\n- Ignores long-term vision\n\n**2. VALUE ARTICULATION**\n**Positive Indicators:**\n- Communicates strategic-level impact\n- Quantifies business outcomes\n- Aligns with executive priorities\n- Presents compelling ROI\n\n**Negative Indicators:**\n- Uses technical language\n- Focuses on features only\n- Misses business impact\n- Fails to quantify value\n\n**3. STRATEGIC ENGAGEMENT**\n**Positive Indicators:**\n- Secures executive commitment\n- Addresses high-level concerns\n- Creates strategic urgency\n- Builds executive sponsorship\n\n**Negative Indicators:**\n- Fails to gain commitment\n- Misses key concerns\n- Lacks executive focus\n- Ignores decision criteria\n\n**EXAMPLE STRATEGIC QUESTIONS:**\n- \"What are your top priorities for the next fiscal year?\"\n- \"How does this align with your growth strategy?\"\n- \"What would success look like at the board level?\"\n- \"How are you measuring strategic impact?\"\n\n**EXAMPLE STRATEGIC VALUE STATEMENTS:**\n- \"This initiative will reduce operational costs by 30%, directly impacting your bottom-line goal.\"\n- \"By automating these processes, we'll free up 25% of your team's capacity for strategic projects.\"\n- \"Our solution aligns with your digital transformation goals by providing enterprise-wide visibility.\"\n- \"This addresses your board's concern about scalability by enabling 3x growth without adding headcount.\"\n- \"We can accelerate your market expansion timeline by 6 months while reducing risk.\"",
|
|
40
|
+
"EvaluationScope": "AllCalls"
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
"MasterLabel": "Multi-Stakeholder Orchestration",
|
|
44
|
+
"DeveloperNameBase": "CCH_MultiStakeholderOrchestration",
|
|
45
|
+
"SourceCompetencyTemplate": "MULTI_STAKEHOLDER_ORCHESTRATION",
|
|
46
|
+
"Description": "Evaluate how effectively the sales rep manages and aligns multiple stakeholders throughout the sales process, focusing on identifying key players, engaging them, building consensus, and managing complex group dynamics to ensure...",
|
|
47
|
+
"EvaluationInstructions": "**PURPOSE:** Evaluate how effectively the sales rep manages and aligns multiple stakeholders throughout the sales process, focusing on identifying key players, engaging them, building consensus, and managing complex group dynamics to ensure collaboration and buy-in.\n\n**KEY AREAS TO EVALUATE:**\n\n**1. IDENTIFYING STAKEHOLDERS**\n**Positive Indicators:**\n- Proactively identifies all key stakeholders\n- Maps roles, priorities, and influence in the decision process\n- Asks clarifying questions about decision-making dynamics\n- Ensures no critical stakeholders are overlooked\n\n**Negative Indicators:**\n- Fails to identify key decision-makers or influencers\n- Relies on assumptions instead of confirming roles\n- Misses opportunities to clarify decision-making processes\n- Does not uncover hidden stakeholders\n\n**2. ENGAGING STAKEHOLDERS**\n**Positive Indicators:**\n- Actively engages identified stakeholders through tailored outreach\n- Involves relevant team members at appropriate stages\n- Ensures consistent communication and alignment\n- Addresses specific stakeholder needs and priorities\n\n**Negative Indicators:**\n- Fails to engage or interact with key stakeholders\n- Involves stakeholders inconsistently or too late\n- Provides generic outreach not tailored to individual priorities\n- Misses opportunities for proactive alignment\n\n**3. BUILDING CONSENSUS**\n**Positive Indicators:**\n- Aligns stakeholders by addressing concerns and priorities\n- Facilitates agreement on next steps and shared outcomes\n- Resolves conflicts or hesitations with finesse\n- Keeps focus on a unified decision-making path\n\n**Negative Indicators:**\n- Fails to align stakeholders on goals or next steps\n- Ignores conflicts or fails to address disagreements\n- Allows stakeholder misalignment to stall progress\n- Misses opportunities to build trust and secure consensus\n\n**4. MANAGING COMPLEX DYNAMICS**\n**Positive Indicators:**\n- Navigates conflicting priorities with strategic solutions\n- Balances the needs of multiple stakeholders effectively\n- Facilitates open communication to address challenges\n- Demonstrates poise and control in complex group settings\n\n**Negative Indicators:**\n- Struggles to manage conflicting stakeholder interests\n- Avoids addressing difficult group dynamics\n- Focuses on one stakeholder's priorities at the expense of others\n- Fails to provide solutions for navigating group conflicts\n\n**EXAMPLE STRATEGIC QUESTIONS:**\n- \"Who are the key stakeholders we should involve to ensure this decision moves forward seamlessly?\"\n- \"How are priorities across departments influencing this decision?\"\n- \"Is there anyone we haven't yet brought into the conversation who could provide critical input?\"\n- \"What concerns might other stakeholders have that we should address upfront?\"\n\n**EXAMPLE ORCHESTRATION STATEMENTS:**\n- \"To ensure everyone is aligned, let's schedule a working session with your finance and operations leads to address their priorities together.\"\n- \"It sounds like the IT team needs more clarity on integration. I'd be happy to coordinate a technical deep dive to get their input.\"\n- \"I understand marketing and operations have differing goals here. Let's outline how this solution supports both visibility and workflow efficiency.\"\n- \"Before we move forward, let's summarize where everyone stands and identify any open concerns we need to resolve.\"",
|
|
48
|
+
"EvaluationScope": "AllCalls"
|
|
49
|
+
},
|
|
50
|
+
{
|
|
51
|
+
"MasterLabel": "Product Knowledge",
|
|
52
|
+
"DeveloperNameBase": "CCH_ProductKnowledge",
|
|
53
|
+
"SourceCompetencyTemplate": "PRODUCT_KNOWLEDGE",
|
|
54
|
+
"Description": "Evaluate how effectively the sales rep demonstrates product knowledge during the sales process, focusing on understanding product features, articulating benefits, handling inquiries, and leveraging examples to align with customer needs.",
|
|
55
|
+
"EvaluationInstructions": "**PURPOSE:** Evaluate how effectively the sales rep demonstrates product knowledge during the sales process, focusing on understanding product features, articulating benefits, handling inquiries, and leveraging examples to align with customer needs.\n\n**KEY AREAS TO EVALUATE:**\n\n**1. UNDERSTANDING OF PRODUCT FEATURES**\n**Positive Indicators:**\n- Accurately describes core features of the product\n- Highlights unique selling propositions (USPs) effectively\n- Demonstrates a strong grasp of technical and functional capabilities\n- Tailors feature explanations to align with customer's specific needs\n\n**Negative Indicators:**\n- Provides inaccurate or incomplete descriptions of features\n- Misses opportunities to emphasize unique selling points\n- Offers generic explanations without customization\n- Demonstrates shallow understanding of the product's technical aspects\n\n**2. ARTICULATION OF PRODUCT BENEFITS**\n**Positive Indicators:**\n- Clearly explains how the product addresses customer pain points\n- Translates features into tangible business benefits\n- Aligns product benefits with the customer's goals and challenges\n- Uses language that resonates with the customer's industry or role\n\n**Negative Indicators:**\n- Focuses solely on features without connecting them to benefits\n- Provides unclear or irrelevant benefit statements\n- Misses opportunities to align benefits with customer needs\n- Uses overly technical or disconnected explanations\n\n**3. HANDLING CUSTOMER INQUIRIES**\n**Positive Indicators:**\n- Confidently and accurately answers customer questions\n- Demonstrates depth of product knowledge when addressing objections\n- Provides thoughtful responses to technical or challenging inquiries\n- Leverages additional resources (e.g., data, integrations) to support answers\n\n**Negative Indicators:**\n- Struggles to answer product-related questions confidently\n- Provides vague or inaccurate responses to inquiries\n- Fails to address technical questions or objections effectively\n- Overlooks opportunities to build credibility through knowledge\n\n**4. USE OF EXAMPLES AND CASE STUDIES**\n**Positive Indicators:**\n- Uses relevant examples or case studies to illustrate product benefits\n- Selects examples that resonate with the customer's industry and challenges\n- Highlights past successes, metrics, or use cases for credibility\n- Demonstrates the product's value through real-world applications\n\n**Negative Indicators:**\n- Fails to incorporate examples or case studies into the conversation\n- Uses irrelevant or generic examples that don't align with the customer\n- Misses opportunities to strengthen explanations with use cases\n- Overlooks metrics or tangible results in provided examples\n\n**5. OVERALL PRODUCT KNOWLEDGE IMPRESSION**\n**Positive Indicators:**\n- Demonstrates expert-level understanding of the product\n- Seamlessly weaves product knowledge into the conversation\n- Tailors explanations to customer needs with confidence\n- Builds trust and credibility through knowledge and articulation\n\n**Negative Indicators:**\n- Displays inadequate or surface-level product understanding\n- Struggles to connect product features and benefits\n- Lacks confidence or accuracy when discussing the product\n- Misses opportunities to differentiate or position the product effectively\n\n**EXAMPLE STRATEGIC QUESTIONS:**\n- \"What specific pain points are you trying to solve with your current solution?\"\n- \"Can you share what outcomes you're looking to achieve with a new platform?\"\n- \"How do integrations or customization capabilities factor into your decision-making process?\"\n- \"Are there specific examples of solutions you've seen work well—or fail—to meet your goals?\"\n\n**EXAMPLE VALUE STATEMENTS:**\n- \"This feature streamlines workflow automation, saving your team an average of 10 hours per week, which aligns with your goal of improving efficiency.\"\n- \"Our platform integrates seamlessly with existing tools like [specific software], reducing implementation time by 30%.\"\n- \"Companies in your industry have seen a 40% reduction in manual errors using our solution, translating directly to improved operational accuracy.\"\n- \"To address your need for scalability, this product ensures performance remains consistent as your team grows by 2x or 3x.\"",
|
|
56
|
+
"EvaluationScope": "AllCalls"
|
|
57
|
+
},
|
|
58
|
+
{
|
|
59
|
+
"MasterLabel": "Enterprise Value Articulation",
|
|
60
|
+
"DeveloperNameBase": "CCH_EnterpriseValueArticulation",
|
|
61
|
+
"SourceCompetencyTemplate": "ENTERPRISE_VALUE_ARTICULATION",
|
|
62
|
+
"Description": "Evaluate how effectively the sales rep articulates enterprise value during the sales process, focusing on clarity of the value proposition, strategic alignment, quantifiable impact, and competitive differentiation.",
|
|
63
|
+
"EvaluationInstructions": "**PURPOSE:** Evaluate how effectively the sales rep articulates enterprise value during the sales process, focusing on clarity of the value proposition, strategic alignment, quantifiable impact, and competitive differentiation.\n\n**KEY AREAS TO EVALUATE:**\n\n**1. CLARITY OF VALUE**\n**Positive Indicators:**\n- Clearly communicates the core value of the solution\n- Ties value to specific outcomes relevant to the prospect\n- Uses concise, compelling, and easy-to-understand language\n- Provides examples or metrics to clarify value\n\n**Negative Indicators:**\n- Fails to clearly communicate the solution's value\n- Provides vague or generic statements about benefits\n- Overuses jargon without clarifying the impact\n- Misses opportunities to tie value to specific outcomes\n\n**2. STRATEGIC ALIGNMENT**\n**Positive Indicators:**\n- Aligns the value proposition with the prospect's strategic priorities\n- Demonstrates understanding of the prospect's key initiatives\n- Ties solution benefits to specific organizational goals\n- Articulates how the solution addresses unique challenges\n\n**Negative Indicators:**\n- Does not align the solution with the prospect's strategic goals\n- Provides surface-level or disconnected alignment\n- Focuses on features instead of strategic outcomes\n- Misses opportunities to link solution benefits to priorities\n\n**3. QUANTIFIABLE IMPACT**\n**Positive Indicators:**\n- Articulates measurable outcomes tied to ROI, cost savings, or efficiency\n- Uses specific metrics to highlight financial or operational impact\n- Provides realistic, data-driven projections relevant to the prospect\n- Demonstrates how the solution delivers tangible business value\n\n**Negative Indicators:**\n- Fails to articulate measurable impacts\n- Provides vague or unquantified outcomes\n- Overpromises results without justification\n- Misses opportunities to highlight ROI or financial benefits\n\n**4. COMPETITIVE DIFFERENTIATION**\n**Positive Indicators:**\n- Clearly differentiates the solution from competitors\n- Highlights unique capabilities tied to the prospect's needs\n- Demonstrates a deep understanding of competitive offerings\n- Positions the solution as superior based on context or challenges\n\n**Negative Indicators:**\n- Fails to differentiate the solution from alternatives\n- Provides generic comparisons that lack relevance\n- Overlooks opportunities to highlight competitive strengths\n- Focuses solely on features without differentiating value\n\n**EXAMPLE STRATEGIC QUESTIONS:**\n- \"How do your current challenges align with your broader strategic initiatives this year?\"\n- \"What specific metrics or benchmarks are you looking to achieve with a solution like this?\"\n- \"What has been your experience with other solutions in this space, and where have they fallen short?\"\n- \"How critical is achieving measurable ROI to securing buy-in internally?\"\n\n**EXAMPLE VALUE STATEMENTS:**\n- \"Our solution aligns with your priority to reduce manual workloads by automating repetitive tasks, saving your team up to 15 hours weekly.\"\n- \"Unlike competitors, we deliver actionable insights in real-time and integrate directly into your workflows without additional customization costs.\"\n- \"By improving process efficiency by 30%, you'll not only cut operational costs but also achieve a faster time-to-value for your investment.\"\n- \"You mentioned a focus on scaling without additional headcount. Our platform enables your team to handle 50% more capacity with existing resources.\"",
|
|
64
|
+
"EvaluationScope": "AllCalls"
|
|
65
|
+
}
|
|
66
|
+
]
|
|
67
|
+
}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
{
|
|
2
|
+
"_meta": {
|
|
3
|
+
"source": "PRD 'Call Coaching Codey configure skill', section 'Current OOTB competency agent instructions' (Google Doc 1XKEDq9ig4du14qWOMv33mHcpBjF-bBwkVQhTTocnFS0, snapshot 2026-08-10). Extracted verbatim; do not paraphrase.",
|
|
4
|
+
"entity": "EnablementCompetencyDef",
|
|
5
|
+
"sobjectFamily": "TOOLING",
|
|
6
|
+
"count": 6
|
|
7
|
+
},
|
|
8
|
+
"competencies": [
|
|
9
|
+
{
|
|
10
|
+
"MasterLabel": "Active Listening Skills",
|
|
11
|
+
"DeveloperNameBase": "CCH_ActiveListening",
|
|
12
|
+
"SourceCompetencyTemplate": "ACTIVE_LISTENING",
|
|
13
|
+
"Description": "Evaluate the rep's active listening behaviors — reflective statements, paraphrasing, avoiding interruptions, follow-up questions.",
|
|
14
|
+
"EvaluationInstructions": "Evaluate the rep's active listening behaviors throughout the call. Look for reflective statements, paraphrasing of customer concerns, avoidance of interruptions, and follow-up questions that build on what the customer shared. Score based on how fully the rep engaged with and incorporated the customer's input.",
|
|
15
|
+
"EvaluationScope": "AllCalls"
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
"MasterLabel": "Relationship Building",
|
|
19
|
+
"DeveloperNameBase": "CCH_RelationshipBuilding",
|
|
20
|
+
"SourceCompetencyTemplate": "RELATIONSHIP_BUILDING",
|
|
21
|
+
"Description": "Evaluate personalization, active listening, empathy, and communication-style matching.",
|
|
22
|
+
"EvaluationInstructions": "Evaluate the rep's use of personalization, active listening, and empathy. Look for moments where the rep referenced prior conversations, showed genuine interest, or matched the customer's communication style. Score based on warmth and authenticity.",
|
|
23
|
+
"EvaluationScope": "AllCalls"
|
|
24
|
+
},
|
|
25
|
+
{
|
|
26
|
+
"MasterLabel": "Discovery Questioning",
|
|
27
|
+
"DeveloperNameBase": "CCH_DiscoveryQuestioning",
|
|
28
|
+
"SourceCompetencyTemplate": "DISCOVERY_QUESTIONING",
|
|
29
|
+
"Description": "Evaluate depth and quality of discovery questions — business challenges, budget, timeline, decision-making process.",
|
|
30
|
+
"EvaluationInstructions": "Evaluate the quality and depth of discovery questions asked by the rep. Look for open-ended questions that explore business challenges, budget, timeline, and decision-making process. Score based on how effectively the rep uncovered actionable insights.",
|
|
31
|
+
"EvaluationScope": "AllCalls"
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
"MasterLabel": "Objection Handling",
|
|
35
|
+
"DeveloperNameBase": "CCH_ObjectionHandling",
|
|
36
|
+
"SourceCompetencyTemplate": "OBJECTION_HANDLING",
|
|
37
|
+
"Description": "Evaluate acknowledgment, clarifying questions, reframing, and evidence-based responses to objections.",
|
|
38
|
+
"EvaluationInstructions": "Evaluate how the rep responded to objections. Look for acknowledgment of the concern, clarifying questions, reframing responses, and evidence-based answers. Score based on how effectively the rep turned objections into opportunities.",
|
|
39
|
+
"EvaluationScope": "AllCalls"
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
"MasterLabel": "Value Proposition Focus",
|
|
43
|
+
"DeveloperNameBase": "CCH_ValueProposition",
|
|
44
|
+
"SourceCompetencyTemplate": "VALUE_PROPOSITION_FOCUS",
|
|
45
|
+
"Description": "Evaluate whether the rep tailored the product/service to the customer's stated needs.",
|
|
46
|
+
"EvaluationInstructions": "Evaluate whether the rep tailored the product or service presentation to the customer's stated needs. Look for clear benefit articulation, use of relevant examples, and avoidance of irrelevant features. Score based on relevance and clarity of the value proposition.",
|
|
47
|
+
"EvaluationScope": "AllCalls"
|
|
48
|
+
},
|
|
49
|
+
{
|
|
50
|
+
"MasterLabel": "Closing Urgency",
|
|
51
|
+
"DeveloperNameBase": "CCH_ClosingUrgency",
|
|
52
|
+
"SourceCompetencyTemplate": "CLOSING_URGENCY",
|
|
53
|
+
"Description": "Evaluate close attempts and next-step commitment — trial closes, direct asks, urgency articulation.",
|
|
54
|
+
"EvaluationInstructions": "Evaluate whether the rep attempted to close or set a concrete next step. Look for trial closes, direct asks, and clear articulation of urgency and the next milestone. Score based on the quality and assertiveness of closing attempts.",
|
|
55
|
+
"EvaluationScope": "AllCalls"
|
|
56
|
+
}
|
|
57
|
+
]
|
|
58
|
+
}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
# Admin Communication Guidelines — Full Spec
|
|
2
|
+
|
|
3
|
+
**CRITICAL**: The `sales-call-scoring-configure` skill serves admin users, not developers. These 13 rules govern every chat response, script invocation, and error surfacing in this skill. The parent SKILL.md holds only the summary; the rationale for each rule lives here.
|
|
4
|
+
|
|
5
|
+
## Table of contents
|
|
6
|
+
|
|
7
|
+
- [Rule 1 — Run all bash commands in background](#rule-1--run-all-bash-commands-in-background)
|
|
8
|
+
- [Rule 2 — Monitor progress without showing commands](#rule-2--monitor-progress-without-showing-commands)
|
|
9
|
+
- [Rule 3 — Investigate errors silently](#rule-3--investigate-errors-silently)
|
|
10
|
+
- [Rule 4 — Narrate in plain language](#rule-4--narrate-in-plain-language)
|
|
11
|
+
- [Rule 5 — Hide technical details](#rule-5--hide-technical-details)
|
|
12
|
+
- [Rule 6 — Speak admin language, not entity language](#rule-6--speak-admin-language-not-entity-language)
|
|
13
|
+
- [Rule 7 — Report the outcome, not the steps](#rule-7--report-the-outcome-not-the-steps)
|
|
14
|
+
- [Rule 8 — Don't speculate about internals](#rule-8--dont-speculate-about-internals)
|
|
15
|
+
- [Rule 9 — Check exit codes](#rule-9--check-exit-codes)
|
|
16
|
+
- [Rule 10 — On failure, surface the SOAP fault text](#rule-10--on-failure-surface-the-soap-fault-text)
|
|
17
|
+
- [Rule 11 — Idempotency is silent](#rule-11--idempotency-is-silent)
|
|
18
|
+
- [Rule 12 — Chain automatically, don't hand the baton back](#rule-12--chain-automatically-dont-hand-the-baton-back)
|
|
19
|
+
- [Rule 13 — Ask OOTB-vs-custom once, on first-time competency setup](#rule-13--ask-ootb-vs-custom-once-on-first-time-competency-setup)
|
|
20
|
+
|
|
21
|
+
## Rule 1 — Run all bash commands in background
|
|
22
|
+
|
|
23
|
+
Every bash invocation MUST use `run_in_background: true`. Includes the enable script, competency CRUD scripts, and any log-tailing for progress monitoring.
|
|
24
|
+
|
|
25
|
+
## Rule 2 — Monitor progress without showing commands
|
|
26
|
+
|
|
27
|
+
You can tail script output to provide progress updates, but keep tails in background. Parse the output and show only friendly updates like "Call Coaching enabled" or "6 competencies installed". Never show the script name, curl command, jq parsing, or raw script output.
|
|
28
|
+
|
|
29
|
+
## Rule 3 — Investigate errors silently
|
|
30
|
+
|
|
31
|
+
When something fails, do your diagnosis (check state, retry queries, fix auth) in background without narrating each step. Only surface the conclusion and action: "The org isn't ready yet — Einstein GenAI needs to be turned on first. Doing that now..." NOT "The --json output has embedded control chars, jq is failing, let me try show-access-token instead..."
|
|
32
|
+
|
|
33
|
+
## Rule 4 — Narrate in plain language
|
|
34
|
+
|
|
35
|
+
Say "Turning on Call Coaching..." NOT "Running enable-call-scoring.sh Phase 4 SOAP updateMetadata".
|
|
36
|
+
|
|
37
|
+
## Rule 5 — Hide technical details
|
|
38
|
+
|
|
39
|
+
No record Ids (`1nA...`), DeveloperNames (`CCH_...`), `SourceCompetencyTemplate` enum values, HTTP codes, character counts, SOAP responses, curl commands, jq parsing, script paths, or phase numbers — unless the admin asks to debug or share with support.
|
|
40
|
+
|
|
41
|
+
**Exception:** the S9 `verify-ootb-competencies.sh` markdown table surfaces evaluation criteria (the actual prompt body values) to the admin by design — that's the "here's what got configured" moment. See `competency-crud.md` §S9 for the rationale.
|
|
42
|
+
|
|
43
|
+
## Rule 6 — Speak admin language, not entity language
|
|
44
|
+
|
|
45
|
+
"Call Coaching", "Coaching Competency", "active/inactive". Never say `EnablementCompetencyDef`, `IsActive`, `enableECICallScoring`, `EvaluationInstructions`, `SourceCompetencyTemplate` in the primary message.
|
|
46
|
+
|
|
47
|
+
Same S9 exception applies — the verify table's column labels ("Competency", "Evaluation Instructions") are admin-readable English, and the values shown are the prompt bodies themselves (which are content the admin needs to see, not entity metadata).
|
|
48
|
+
|
|
49
|
+
## Rule 7 — Report the outcome, not the steps
|
|
50
|
+
|
|
51
|
+
"3 competencies installed" not "ran install-ootb, parsed 6 records, filtered by template, POSTed each".
|
|
52
|
+
|
|
53
|
+
## Rule 8 — Don't speculate about internals
|
|
54
|
+
|
|
55
|
+
If a state disagrees with what you expected, translate it into an admin-visible outcome ("Executive Vision Alignment is currently inactive — do you want to reactivate it?"), not a meta-analysis about which query returned what.
|
|
56
|
+
|
|
57
|
+
## Rule 9 — Check exit codes
|
|
58
|
+
|
|
59
|
+
Always parse success/failure and translate technical errors to admin-friendly messages ("The org's on the wrong sales-cloud arm for this skill — needs ECI").
|
|
60
|
+
|
|
61
|
+
## Rule 10 — On failure, surface the SOAP fault text
|
|
62
|
+
|
|
63
|
+
So the admin can share it with support if needed. Redact session tokens (the `soap.sh` library does this).
|
|
64
|
+
|
|
65
|
+
## Rule 11 — Idempotency is silent
|
|
66
|
+
|
|
67
|
+
If the feature is already on or a competency is already installed, say so briefly and move on — do not re-run the write.
|
|
68
|
+
|
|
69
|
+
## Rule 12 — Chain automatically, don't hand the baton back
|
|
70
|
+
|
|
71
|
+
When `enable-call-scoring.sh` exits 0 it prints a `Next: <script>` hint (State 3 → competency setup, State 4 → `list-competencies.sh`, fresh enable → same as State 3). Run that next script yourself, in the same turn, without telling the admin to run it and without asking permission to continue — the admin should never need to manually invoke a script in this skill.
|
|
72
|
+
|
|
73
|
+
**Exception: the State 3 "Next" hint is not a green light to install the OOTB set unasked.** First-time competency setup requires the OOTB-vs-custom choice below (rule #13) — that's the one checkpoint in this skill where Claude asks before writing.
|
|
74
|
+
|
|
75
|
+
## Rule 13 — Ask OOTB-vs-custom once, on first-time competency setup
|
|
76
|
+
|
|
77
|
+
When state detection lands on State 3 (Call Coaching enabled, zero competencies) and the admin's intent is "set up competencies" / "install competencies" / an unqualified continuation of the enable flow (not an explicit "install the OOTB set" or "create a custom competency" ask), run `install-ootb-competencies.sh --list` to render the 6-competency table, show it to the admin, and ask whether they want the OOTB set installed as-is or want to build custom competencies instead (S5).
|
|
78
|
+
|
|
79
|
+
If the admin's original request already named OOTB or custom explicitly, skip the question and proceed — this checkpoint exists for the ambiguous "set this up for me" case, not to re-litigate an explicit ask.
|