How to install harmonizing-datacloud
npx skills add https://github.com/forcedotcom/sf-skills --skill harmonizing-datacloudFull instructions (SKILL.md)
Source of truth, from forcedotcom/sf-skills.
name: harmonizing-datacloud description: "Salesforce Data Cloud Harmonize phase. Use this skill when the user works with DMOs, mappings, relationships, identity resolution, unified profiles, data graphs, or universal IDs. 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 preparing-datacloud), segments/insights (use segmenting-datacloud), retrieval/search (use retrieving-datacloud), or STDM/session tracing (use observing-agentforce)." compatibility: "Requires an external community sf data360 CLI plugin and a Data Cloud-enabled org" metadata: version: "1.0"
harmonizing-datacloud: 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 harmonizing-datacloud 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 → preparing-datacloud
- working on segment logic or calculated insights → segmenting-datacloud
- running SQL, describe, or search-index workflows → retrieving-datacloud
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 ../orchestrating-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 ../orchestrating-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
- ../orchestrating-datacloud/assets/definitions/dmo.template.json
- ../orchestrating-datacloud/assets/definitions/mapping.template.json
- ../orchestrating-datacloud/assets/definitions/relationship.template.json
- ../orchestrating-datacloud/assets/definitions/identity-resolution.template.json
- ../orchestrating-datacloud/assets/definitions/data-graph.template.json
- ../orchestrating-datacloud/references/feature-readiness.md
Related skills
More from forcedotcom/sf-skills and the wider catalog.
generating-apex
Primary Apex authoring skill for class generation, refactoring, and review. ALWAYS ACTIVATE when the user mentions Apex, .cls, triggers, or asks to create/refactor a class (service, selector, domain, batch, queueable, schedulable, invocable, DTO, utility, interface, abstract, exception, REST resource). Use this skill for requests involving SObject CRUD, mapping collections, fetching related records, scheduled jobs, batch jobs, trigger design, @AuraEnabled controllers, @RestResource endpoints, custom REST APIs, or code review of existing Apex.
generating-apex-test
Generate and validate Apex test classes with TestDataFactory patterns, bulk testing (251+ records), mocking strategies, assertion best practices, and disciplined test-fix loops. Use this skill when creating new Apex test classes, improving test coverage, debugging and fixing failing Apex tests, running test execution and coverage analysis, or implementing testing patterns for triggers, services, controllers, batch jobs, queueables, and integrations. Triggers on *Test.cls, *_Test.cls files, sf apex run test workflows, coverage reports, test-fix loops. Do NOT trigger for production Apex code (use generating-apex) or Jest/LWC tests.
generating-lwc-components
Lightning Web Components with PICKLES methodology and 165-point scoring. Use this skill when the user creates or edits LWC components, builds wire service patterns, or writes Jest tests for LWC. TRIGGER when: user creates/edits LWC components, touches lwc/**/*.js, .html, .css, .js-meta.xml files, or asks about wire service, SLDS, or Jest LWC tests. DO NOT TRIGGER when: Apex classes (use generating-apex), Aura components, or Visualforce.
generating-flow
Generate Salesforce Flows using the MCP tool execute_metadata_action. Use when the user asks to create, build, or generate a flow — including Screen, Autolaunched, Record-Triggered (before/after-save), Scheduled. Also trigger for flow-like requests such as \"when a record is created\", \"trigger daily at\", \"send an email when\", \"update the field when\", \"automate\", \"workflow\", or \"flow XML/metadata\". This is the only skill for Salesforce Flow generation.
querying-soql
SOQL query generation, optimization, and analysis with 100-point scoring. Use this skill when the user needs SOQL/SOSL authoring or optimization: natural-language-to-query generation, relationship queries, aggregates, query-plan analysis, and performance or safety improvements for Salesforce queries. TRIGGER when: user writes, optimizes, or debugs SOQL/SOSL queries, touches .soql files, or asks about relationship queries, aggregates, or query performance. DO NOT TRIGGER when: bulk data operations (use handling-sf-data), Apex DML logic (use generating-apex), or report/dashboard queries.
generating-custom-object
Use this skill when users need to create, generate, or validate Salesforce Custom Object metadata. Trigger when users mention custom objects, creating objects, object metadata, .object files, sharing models, name fields, or validation rules on objects. Also use when users say things like \"create a custom object\", \"generate object metadata\", \"set up an object for...\", or when they're troubleshooting object deployment errors especially around sharing models and Master-Detail relationships. Always use this skill for any custom object metadata work.