jaganpro/sf-skills · Archived

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).

First seen Mar 21, 2026

Installation

$ npx skills add jaganpro/sf-skills --skill sf-datacloud-harmonize

Stronger alternatives

This repository is archived — consider an actively maintained alternative.

Similar popular skills

Related neighbors and high-traction skills in the same topics — useful to compare before installing.

Also in this package

Other skills from jaganpro/sf-skills · top by installs.

npx skills add jaganpro/sf-skills

Browse all from jaganpro/sf-skills

More details

Agent compatibility

Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.

Claude Code Declared
Cursor Not declared
Codex Not declared
GitHub Copilot Not declared
Windsurf Not declared
Gemini CLI Not declared
Cline Not declared
OpenCode Not declared

Repository health

Stars 423
License LICENSE
Default branch main
Open issues 1
Status Archived

Skill metadata

Parsed from SKILL.md frontmatter.

Version1.0.0
LicenseMIT
CompatibilityRequires an external community sf data360 CLI plugin and a Data Cloud-enabled org
Declared agents claude-code
More metadata
version
1.0.0
author
Gnanasekaran Thoppae
phase
Harmonize

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 4,984 B
  • docs README.md 1,377 B
  • docs SUMMARY.md 438 B

History

  1. First seen on skills.sh
  2. First recorded snapshot · 971 installs

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](../sf-datacloud-prepare/SKILL.md)
  • working on segment logic or calculated insights → [sf-datacloud-segment](../sf-datacloud-segment/SKILL.md)
  • running SQL, describe, or search-index workflows → [sf-datacloud-retrieve](../sf-datacloud-retrieve/SKILL.md)

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 --all when browsing the catalog, but use first-page dmo list for fast readiness checks.
  • Use query describe or dmo get --json instead 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 list should usually use --all.
  • Use query describe or dmo get --json; there is no dmo describe command.
  • 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 list works but identity-resolution list is 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](README.md)
  • [../sf-datacloud/assets/definitions/dmo.template.json](../sf-datacloud/assets/definitions/dmo.template.json)
  • [../sf-datacloud/assets/definitions/mapping.template.json](../sf-datacloud/assets/definitions/mapping.template.json)
  • [../sf-datacloud/assets/definitions/relationship.template.json](../sf-datacloud/assets/definitions/relationship.template.json)
  • [../sf-datacloud/assets/definitions/identity-resolution.template.json](../sf-datacloud/assets/definitions/identity-resolution.template.json)
  • [../sf-datacloud/assets/definitions/data-graph.template.json](../sf-datacloud/assets/definitions/data-graph.template.json)
  • [../sf-datacloud/references/feature-readiness.md](../sf-datacloud/references/feature-readiness.md)