Agent skill
sf-datacloud-harmonize
Salesforce Data Cloud Harmonize phase. TRIGGER when: user works with DMOs, mappings, relationships, identity resolution, unified profiles, data graphs, or universal IDs. DO NOT TRIGGER when: the task is only about streams/DLOs (use sf-datacloud-prepare), segments/insights (use sf-datacloud-segment), retrieval/search (use sf-datacloud-retrieve), or STDM/session tracing (use sf-ai-agentforce-observability).
Install this agent skill to your Project
npx add-skill https://github.com/Jaganpro/sf-skills/tree/main/skills/sf-datacloud-harmonize
Metadata
Additional technical details for this skill
- phase
- Harmonize
- author
- Gnanasekaran Thoppae
- version
- 1.0.0
SKILL.md
sf-datacloud-harmonize: Data Cloud Harmonize Phase
Use this skill when the user needs schema harmonization and unification work: DMOs, field mappings, relationships, identity resolution, unified profiles, data graphs, or universal ID lookup.
When This Skill Owns the Task
Use sf-datacloud-harmonize when the work involves:
sf data360 dmo *sf data360 identity-resolution *sf data360 data-graph *sf data360 profile *sf data360 universal-id lookup
Delegate elsewhere when the user is:
- still ingesting streams or building DLOs → sf-datacloud-prepare
- working on segment logic or calculated insights → sf-datacloud-segment
- running SQL, describe, or search-index workflows → sf-datacloud-retrieve
Required Context to Gather First
Ask for or infer:
- source DLO and target DMO names
- whether the task is schema creation, mapping, IR, or graph-related
- target org alias
- whether a ruleset already exists
- the user’s desired unified entity model
Core Operating Rules
- Inspect DMO schema before creating mappings.
- Run the shared readiness classifier before mutating harmonization assets:
node ~/.claude/skills/sf-datacloud/scripts/diagnose-org.mjs -o <org> --phase harmonize --json. - Prefer
dmo list --allwhen browsing the catalog, but use first-pagedmo listfor fast readiness checks. - Use
query describeordmo get --jsoninstead of inventing unsupported describe flows. - Treat identity resolution runs as asynchronous and verify results after execution.
- Keep unified-profile work separate from STDM/session tracing work.
Recommended Workflow
1. Classify readiness for harmonize work
node ~/.claude/skills/sf-datacloud/scripts/diagnose-org.mjs -o <org> --phase harmonize --json
2. Inspect the catalog
sf data360 dmo list --all -o <org> 2>/dev/null
sf data360 identity-resolution list -o <org> 2>/dev/null
3. Inspect schema before mapping
sf data360 query describe -o <org> --table ssot__Individual__dlm 2>/dev/null
sf data360 dmo get -o <org> --name ssot__Individual__dlm --json 2>/dev/null
4. Create or review mappings intentionally
sf data360 dmo mapping-list -o <org> --source Contact_Home__dll --target ssot__Individual__dlm 2>/dev/null
sf data360 dmo map-to-canonical -o <org> --dlo Contact_Home__dll --dmo ssot__Individual__dlm --dry-run 2>/dev/null
5. Run IR only after mappings are trustworthy
sf data360 identity-resolution create -o <org> -f ir-ruleset.json 2>/dev/null
sf data360 identity-resolution run -o <org> --name Main 2>/dev/null
High-Signal Gotchas
dmo listshould usually use--all.- Use
query describeordmo get --json; there is nodmo describecommand. - Mapping and related commands can be sensitive to API-version differences.
- Unified DMO names are ruleset-specific rather than generic.
- Data graph definitions are sensitive to field selection and relationship shape.
- If
dmo listworks butidentity-resolution listis gated, treat that as a phase-specific gap rather than a full Data Cloud outage.
Output Format
Harmonize task: <dmo / mapping / relationship / ir / data-graph>
Source/target: <dlo → dmo or ruleset/graph names>
Target org: <alias>
Artifacts: <json files / commands>
Verification: <passed / partial / blocked>
Next step: <segment / retrieve / follow-up>
References
- README.md
- ../sf-datacloud/assets/definitions/dmo.template.json
- ../sf-datacloud/assets/definitions/mapping.template.json
- ../sf-datacloud/assets/definitions/relationship.template.json
- ../sf-datacloud/assets/definitions/identity-resolution.template.json
- ../sf-datacloud/assets/definitions/data-graph.template.json
- ../sf-datacloud/references/feature-readiness.md
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
sf-diagram-mermaid
Salesforce architecture diagrams using Mermaid with ASCII fallback. TRIGGER when: user says "diagram", "visualize", "ERD", or asks for sequence diagrams, flowcharts, class diagrams, or architecture visualizations in Mermaid. DO NOT TRIGGER when: user wants PNG/SVG image output (use sf-diagram-nanobananapro), or asks about non-Salesforce systems.
sf-integration
Salesforce integration architecture with 120-point scoring. TRIGGER when: user sets up Named Credentials, External Services, REST/SOAP callouts, Platform Events, CDC, or touches .namedCredential-meta.xml files. DO NOT TRIGGER when: Connected App/OAuth config (use sf-connected-apps), Apex-only logic (use sf-apex), or data import/export (use sf-data).
sf-deploy
Salesforce DevOps automation using sf CLI v2. TRIGGER when: user deploys metadata, creates/manages scratch orgs or sandboxes, sets up CI/CD pipelines, or troubleshoots deployment errors with sf project deploy. DO NOT TRIGGER when: writing Apex/LWC code (use sf-apex/sf-lwc), creating metadata XML (use sf-metadata), or querying org data (use sf-data).
sf-industry-commoncore-omnistudio-analyze
Cross-cutting OmniStudio analysis skill for namespace detection, dependency visualization, and impact analysis across OmniScripts, FlexCards, Integration Procedures, and Data Mappers. TRIGGER when: user asks about OmniStudio dependencies, wants namespace detection (Core vs vlocity_cmt vs vlocity_ins), needs impact analysis, or requests dependency diagrams. DO NOT TRIGGER when: authoring OmniScripts (use sf-industry-commoncore-omniscript), building FlexCards (use sf-industry-commoncore-flexcard), creating Integration Procedures (use sf-industry-commoncore-integration-procedure), or configuring Data Mappers (use sf-industry-commoncore-datamapper).
sf-industry-commoncore-callable-apex
Salesforce Industries Common Core (OmniStudio/Vlocity) Apex callable generation and review with 120-point scoring. TRIGGER when: user creates or reviews System.Callable classes, migrates `VlocityOpenInterface` / `VlocityOpenInterface2`, or builds Industries callable extensions used by OmniStudio, Integration Procedures, or DataRaptors. DO NOT TRIGGER when: generic Apex classes/triggers (use sf-apex), building Integration Procedures (use sf-industry-commoncore-integration-procedure), authoring OmniScripts (use sf-industry-commoncore-omniscript), configuring Data Mappers (use sf-industry-commoncore-datamapper), or analyzing namespace/dependency issues (use sf-industry-commoncore-omnistudio-analyze).
sf-datacloud-act
Salesforce Data Cloud Act phase. TRIGGER when: user manages activations, activation targets, data actions, or downstream delivery of Data Cloud audiences and data. DO NOT TRIGGER when: the task is segment creation (use sf-datacloud-segment), data retrieval/search work (use sf-datacloud-retrieve), or STDM/session tracing (use sf-ai-agentforce-observability).
Didn't find tool you were looking for?