sfdmu-data-plans

Author and review SFDMU v5 export.json data plans and CSV files for Salesforce Revenue Cloud.

33|12|Updated Sep 24, 2024
One-click install
npx skills add https://github.com/bgaldino/rlm-base-dev --skill sfdmu-data-plans-bgaldino
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: sfdmu-data-plans
Source: https://github.com/bgaldino/rlm-base-dev/tree/main/.cursor/skills/sfdmu-data-plans
Command: npx skills add https://github.com/bgaldino/rlm-base-dev --skill sfdmu-data-plans-bgaldino

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve? Writing SFDMU v5 data plans for Revenue Cloud involves subtle rules around externalId syntax, operation selection, deleteOldData safety, and known plugin bugs; mistakes can silently duplicate records or wipe org data. This Skill encodes the v5 rules, the one live bug (Bug 4), and review checklists so plans are authored and audited correctly. ## Core Features & Use Cases - v5 Authoring Rules: Enforces ;-delimited externalIds, correct Upsert/Insert/Update/Readonly operation selection, parent-to-child object ordering, and empty-CSV excluded: true handling. - Bug-Aware Guidance: Documents that Bugs 1/2/3/5 are fixed on the 5.6.4+ floor while Bug 4 ($$ composite notation in lookup reference columns) remains live, with concrete broken-vs-working examples. - Safety Gates: Blocks changing Upsert to Insert+deleteOldData without approval and explains the risks of re-running plans into live orgs versus surgical record loads. - Use Case: When reviewing a qb-pricing export.json that uses Insert+deleteOldData citing Bug 3, the Skill flags it as a pre-5.6.4 workaround and directs migration under the gated sfdmu-v5-optimization initiative. ## Quick Start Ask the agent to review my export.json and CSV files in the data plan directory for SFDMU v5 compliance and flag any unsafe operations.

Frequently Asked Questions about sfdmu-data-plans

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I write an externalId in SFDMU v5 export.json?

Use semicolon-delimited field names like "Field1;Field2", not the v4 "$$Field1$Field2" syntax. Relationship traversals such as Parent.Field or GrandParent.Parent.Field are supported, and $$ composite columns remain valid only in CSV headers for source-record matching.

When should I use Insert with deleteOldData in SFDMU?

Only with explicit user approval and a concrete current reason, since deleteOldData wipes all existing records before inserting. On the 5.6.4+ floor, the historical traversal-matching bugs are fixed, so Upsert is the correct operation for relationship-traversal externalIds.

Why do SFDMU lookup reference columns with $$ composite notation fail?

This is the still-live Bug 4: SFDMU cannot decompose a composite $$ value in a lookup reference column, for both self-referential and cross-object relationships, leaving lookups null. Use a simple single-field reference such as ParentGroup.Code instead.

What happens if I re-run an SFDMU data plan into a live org?

Upsert and Update plans match on externalId without duplicating, but Insert without deleteOldData duplicates every row, and Insert with deleteOldData can be blocked by live records referencing design-time rows. Load individual records surgically instead, then commit the rows to the plan CSVs.

How do I handle an empty CSV file in an SFDMU data plan?

If the object should load, restore the header row; if the object genuinely has no data in a wired plan, set excluded: true to prevent a destructive wipe; if the whole plan is unwired and unmaintained, delete the plan rather than masking it with excluded flags.