PluginBench
Skill
Fail
Audit score 45

data360-orchestrate

forcedotcom/sf-skills

Multi-phase Salesforce Data Cloud orchestrator for connect→prepare→harmonize→segment→act pipelines.

What is data360-orchestrate?

Orchestrates end-to-end Salesforce Data Cloud workflows across multiple phases: connect, prepare, harmonize, segment, and act. Use this skill when you need cross-phase pipeline setup, data space and data kit management, or troubleshooting that spans multiple Data Cloud phases rather than isolated single-phase work.

  • Route multi-phase Data Cloud tasks to the correct phase-specific skill or handle cross-phase orchestration
  • Manage data spaces and data kits across the unified data platform
  • Run health checks and org readiness classification before mutation-heavy work
  • Discover existing state with read-only inspection commands (connectors, DMOs, segments, activations)
  • Design CRM-to-unified-profile pipelines and decide data flow across phases
  • Troubleshoot cross-phase issues where root cause spans connect, prepare, harmonize, segment, or act

How to install data360-orchestrate

npx skills add https://github.com/forcedotcom/sf-skills --skill data360-orchestrate
Prerequisites
  • Salesforce CLI (sf) version ≥2.0.0 installed
  • Salesforce Data Cloud plugin linked to the sf CLI
  • Authenticated org with Data Cloud provisioned
  • Node.js ≥18.0.0 and Python 3.10+ for diagnostic scripts (optional but recommended)
Claude Code
Cursor
Windsurf
Cline

How to use data360-orchestrate

  1. 1.Verify the runtime: confirm sf CLI, the Data Cloud plugin, and org authentication are ready
  2. 2.Run the org classifier to assess readiness: `node ./scripts/diagnose-org.mjs -o <org> --json`
  3. 3.Use read-only inspection commands to discover existing state: `sf data360 data-space list`, `sf data360 dmo list`, `sf data360 segment list`, etc.
  4. 4.Identify which phase owns the task (connect, prepare, harmonize, segment, act, or retrieve) and delegate to the phase-specific skill if work is isolated to one phase
  5. 5.For multi-phase work, design the pipeline flow, create or update data spaces and data kits, and coordinate mutations across phases using deterministic JSON definition files

Use cases

Good for
  • Set up an end-to-end pipeline from CRM ingestion through identity resolution to audience activation
  • Diagnose and remediate failures that span multiple Data Cloud phases using the classifier and health checks
  • Manage and organize data spaces and data kits for multi-tenant or multi-project scenarios
  • Inspect existing Data Cloud state (connectors, streams, DMOs, segments, activations) before making changes
  • Design data flow architecture: decide which sources go to which streams, how to harmonize identity, and where to activate
Who it's for
  • Salesforce Data Cloud architects designing multi-phase pipelines
  • Data engineers troubleshooting cross-phase integration issues
  • Admins managing data spaces and data kits
  • Teams migrating CRM data into unified profiles for segmentation and activation

data360-orchestrate FAQ

When should I use data360-orchestrate vs. a phase-specific skill?

Use data360-orchestrate for multi-phase setup, cross-phase troubleshooting, data space/kit management, or pipeline design. Delegate to a phase-specific skill (data360-connect, data360-prepare, data360-harmonize, data360-segment, data360-activate, data360-query) when work is isolated to a single phase.

What does the org classifier do?

The classifier (`scripts/diagnose-org.mjs`) assesses Data Cloud readiness by checking feature enablement, module provisioning, query-plane health, and auth status. Run it before mutation-heavy work to avoid guessing from a single failing command.

Is `sf data360 doctor` a complete readiness check?

No. The doctor command only checks the search-index surface. Use it as a broad health signal, but rely on the classifier for comprehensive readiness assessment, especially on partially provisioned orgs.

Should I use Data Cloud SQL or CRM SOQL?

Use Data Cloud SQL (via data360-query) to query unified profiles, DMOs, and segments. Use CRM SOQL (via platform-soql-query) only for CRM objects. This skill helps you decide which is appropriate for your task.

What if I need to create missing CRM schema or implement downstream Apex?

Delegate to platform-custom-object-generate, platform-custom-field-generate, or platform-apex-generate. This skill focuses on Data Cloud orchestration, not CRM schema or Apex logic.

Full instructions (SKILL.md)

Source of truth, from forcedotcom/sf-skills.


name: data360-orchestrate description: "Salesforce Data Cloud product orchestrator for connect→prepare→harmonize→segment→act workflows. Use this skill when the user needs a multi-step Data Cloud pipeline, cross-phase troubleshooting, or data space and data kit management. TRIGGER when: user needs a multi-step Data Cloud pipeline, asks to set up or troubleshoot Data Cloud across phases, manages data spaces or data kits, or wants a cross-phase sf data360 workflow. DO NOT TRIGGER when: work is isolated to a single phase (use the matching phase-specific skill), the task is STDM/session tracing/parquet telemetry (use agentforce-observe), standard CRM SOQL (use platform-soql-query), or Apex implementation (use platform-apex-generate)." metadata: cliTools: - tool: ["curl"] semver: ">=7.0.0" - tool: ["git"] semver: ">=2.0.0" - tool: ["node"] semver: ">=18.0.0" - tool: ["npx"] semver: ">=9.0.0" - tool: ["python3"] semver: ">=3.10.0" - tool: ["sf"] semver: ">=2.0.0" - tool: ["yarn"] semver: ">=1.22.0" relatedSkills: - "agentforce-observe" - "automation-flow-generate" - "data360-activate" - "data360-connect" - "data360-harmonize" - "data360-prepare" - "data360-query" - "data360-segment" - "platform-apex-generate" - "platform-custom-field-generate" - "platform-custom-object-generate" - "platform-data-manage" - "platform-metadata-deploy" - "platform-soql-query" version: "1.0" domains: ["Data 360"]

data360-orchestrate: Salesforce Data Cloud Orchestrator

Use this skill when the user needs product-level Data Cloud workflow guidance rather than a single isolated command family: pipeline setup, cross-phase troubleshooting, data spaces, data kits, or deciding whether a task belongs in Connect, Prepare, Harmonize, Segment, Act, or Retrieve.

This skill intentionally follows sf-skills house style while using the external sf data360 command surface as the runtime. The plugin is not vendored into this repo.


When This Skill Owns the Task

Use data360-orchestrate when the work involves:

  • multi-phase Data Cloud setup or remediation
  • data spaces (sf data360 data-space *)
  • data kits (sf data360 data-kit *)
  • health checks (sf data360 doctor)
  • CRM-to-unified-profile pipeline design
  • deciding how to move from ingestion → harmonization → segmentation → activation
  • cross-phase troubleshooting where the root cause is not yet clear

Delegate to a phase-specific skill when the user is focused on one area:

PhaseUse this skillTypical scope
Connectdata360-connectconnections, connectors, source discovery
Preparedata360-preparedata streams, DLOs, transforms, DocAI
Harmonizedata360-harmonizeDMOs, mappings, identity resolution, data graphs
Segmentdata360-segmentsegments, calculated insights
Actdata360-activateactivations, activation targets, data actions
Retrievedata360-querySQL, search indexes, vector search, async query

Delegate outside the family when the user is:

  • extracting Session Tracing / STDM telemetry → agentforce-observe
  • writing CRM SOQL only → platform-soql-query
  • loading CRM source data → platform-data-manage
  • creating missing CRM schema → platform-custom-object-generate or platform-custom-field-generate
  • implementing downstream Apex or Flow logic → platform-apex-generate, automation-flow-generate

Required Context to Gather First

Ask for or infer:

  • target org alias
  • whether the plugin is already installed and linked
  • whether the user wants design guidance, read-only inspection, or live mutation
  • data sources involved: CRM objects, external databases, file ingestion, knowledge, etc.
  • desired outcome: unified profiles, segments, activations, vector search, analytics, or troubleshooting
  • whether the user is working in the default data space or a custom one
  • whether the org has already been classified with scripts/diagnose-org.mjs
  • which command family is failing today, if any

If plugin availability or org readiness is uncertain, start with:


Core Operating Rules

  • Use the external sf data360 plugin runtime; do not reimplement or vendor the command layer.
  • Prefer the smallest phase-specific skill once the task is localized.
  • Run readiness classification before mutation-heavy work. Prefer scripts/diagnose-org.mjs over guessing from one failing command.
  • For sf data360 commands, suppress linked-plugin warning noise with 2>/dev/null unless the stderr output is needed for debugging.
  • Distinguish Data Cloud SQL from CRM SOQL.
  • Do not treat sf data360 doctor as a full-product readiness check; the current upstream command only checks the search-index surface.
  • Do not treat query describe as a universal tenant probe; only use it with a known DMO/DLO table after broader readiness is confirmed.
  • Preserve Data Cloud-specific API-version workarounds when they matter.
  • Prefer generic, reusable JSON definition files over org-specific workshop payloads.

Recommended Workflow

1. Verify the runtime and auth

Confirm:

  • sf is installed
  • the community Data Cloud plugin is linked
  • the target org is authenticated

Recommended checks:

sf data360 man
sf org display -o <alias>
bash ./scripts/verify-plugin.sh <alias>

Treat sf data360 doctor as a broad health signal, not the sole gate. On partially provisioned orgs it can fail even when read-only command families like connectors, DMOs, or segments still work.

2. Classify readiness before changing anything

Run the shared classifier first:

node ./scripts/diagnose-org.mjs -o <org> --json

Only use a query-plane probe after you know the table name is real:

node ./scripts/diagnose-org.mjs -o <org> --phase retrieve --describe-table MyDMO__dlm --json

Use the classifier to distinguish:

  • empty-but-enabled modules
  • feature-gated modules
  • query-plane issues
  • runtime/auth failures

3. Discover existing state with read-only commands

Use targeted inspection after classification:

sf data360 doctor -o <org> 2>/dev/null
sf data360 data-space list -o <org> 2>/dev/null
sf data360 data-stream list -o <org> 2>/dev/null
sf data360 dmo list -o <org> 2>/dev/null
sf data360 identity-resolution list -o <org> 2>/dev/null
sf data360 segment list -o <org> 2>/dev/null
sf data360 activation platforms -o <org> 2>/dev/null

4. Localize the phase

Route the task:

  • source/connector issue → Connect
  • ingestion/DLO/stream issue → Prepare
  • mapping/IR/unified profile issue → Harmonize
  • audience or insight issue → Segment
  • downstream push issue → Act
  • SQL/search/index issue → Retrieve

5. Choose deterministic artifacts when possible

Prefer JSON definition files and repeatable scripts over one-off manual steps. Generic templates live in:

  • assets/definitions/data-stream.template.json
  • assets/definitions/dmo.template.json
  • assets/definitions/mapping.template.json
  • assets/definitions/relationship.template.json
  • assets/definitions/identity-resolution.template.json
  • assets/definitions/data-graph.template.json
  • assets/definitions/calculated-insight.template.json
  • assets/definitions/segment.template.json
  • assets/definitions/activation-target.template.json
  • assets/definitions/activation.template.json
  • assets/definitions/data-action-target.template.json
  • assets/definitions/data-action.template.json
  • assets/definitions/search-index.template.json

6. Verify after each phase

Typical verification:

  • stream/DLO exists
  • DMO/mapping exists
  • identity resolution run completed
  • unified records or segment counts look correct
  • activation/search index status is healthy

High-Signal Gotchas

  • connection list requires --connector-type.
  • dmo list --all is useful when you need the full catalog, but first-page dmo list is often enough for readiness checks and much faster.
  • Segment creation may need --api-version 64.0.
  • segment members returns opaque IDs; use SQL joins for human-readable details.
  • sf data360 doctor can fail on partially provisioned orgs even when some read-only commands still work; fall back to targeted smoke checks.
  • query describe errors such as Couldn't find CDP tenant ID or DataModelEntity ... not found are query-plane clues, not automatic proof that the whole product is disabled.
  • Many long-running jobs are asynchronous in practice even when the command returns quickly.
  • Some Data Cloud operations still require UI setup outside the CLI runtime.

Output Format

When finishing, report in this order:

  1. Task classification
  2. Runtime status
  3. Readiness classification
  4. Phase(s) involved
  5. Commands or artifacts used
  6. Verification result
  7. Next recommended step

Suggested shape:

Data Cloud task: <setup / inspect / troubleshoot / migrate>
Runtime: <plugin ready / missing / partially verified>
Readiness: <ready / ready_empty / partial / feature_gated / blocked>
Phases: <connect / prepare / harmonize / segment / act / retrieve>
Artifacts: <json files, commands, scripts>
Verification: <passed / partial / blocked>
Next step: <next phase, setup guidance, or cross-skill handoff>

Cross-Skill Integration

NeedDelegate toReason
load or clean CRM source dataplatform-data-manageseed or fix source records before ingestion
create missing CRM schemaplatform-custom-object-generate, platform-custom-field-generateData Cloud expects existing objects/fields
deploy permissions or bundlesplatform-metadata-deployenvironment preparation
write Apex against Data Cloud outputsplatform-apex-generatecode implementation
Flow automation after segmentation/activationautomation-flow-generatedeclarative orchestration
session tracing / STDM / parquet analysisagentforce-observedifferent Data Cloud use case

Reference Map

Start here

Phase skills

  • data360-connect
  • data360-prepare
  • data360-harmonize
  • data360-segment
  • data360-activate
  • data360-query

Deterministic helpers