odt-authoring

Design, validate, execute, and debug OmniDataTransform Extract and Transform mappers in Salesforce.

Updated Sep 23, 2026
One-click install
npx skills add https://github.com/drgaciw/rlm-base-dev-fork --skill odt-authoring-drgaciw
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: odt-authoring
Source: https://github.com/drgaciw/rlm-base-dev-fork/tree/main/.cursor/skills/odt-authoring
Command: npx skills add https://github.com/drgaciw/rlm-base-dev-fork --skill odt-authoring-drgaciw

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? OmniDataTransform (ODT) mappers fail silently when items lack OutputObjectName, use dot notation, or form depth-uneven hierarchies, producing empty output or malformed arrays that are hard to diagnose. This Skill provides the rules, validation scripts, and debugging workflow to author correct Extract and Transform ODTs. ## Core Features & Use Cases - ODT Design Rules: Enforces colon-path notation, mandatory OutputObjectName, and separation of object-query hierarchy from field-mapping output shape. - Validation and Inspection: Runs scripts to catch null fields, duplicate sequences, dot-notation misuse, and visualize hierarchy trees with depth-uniformity checks. - Execution and Comparison: Executes Extract ODTs against live records and compares ODT revisions before wiring them into document templates. - Use Case: When a Quote proposal extract returns empty JSON, use the inspect-hierarchy and execute scripts to locate the malformed item, fix the mapping, and confirm the output shape. ## Quick Start Ask the agent to validate and execute the ODT named RLMQuoteProposalExtract against a record in your dev-scratch org and report any hierarchy or mapping errors.

Frequently Asked Questions about odt-authoring

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

FAQPage Schema
How do I create an OmniDataTransform Extract mapper in Salesforce?▼

Define object query items with InputFieldName and FilterGroup to build the internal hierarchy, then add field mapping items using colon paths like Quote:Name. Every OmniDataTransformItem must include OutputObjectName, and metadata should be committed via .rpt-meta.xml files.

Why does my OmniDataTransform return empty output?▼

Empty output usually results from missing OutputObjectName on items, which the engine silently drops, or from dot notation breaking SOQL generation. Run docgen_odt_validate.py to catch null fields and notation misuse, then docgen_odt_execute.py against a live record to confirm output shape.

Should I use dot notation or colon paths in ODT field mappings?▼

Use colon paths such as Parent:Child:Field in InputFieldName and OutputFieldName. Dot notation like Parent.Child.Field breaks SOQL generation and must be avoided in all ODT mappings.

When should I use odt-authoring versus document-generation?▼

Use odt-authoring for designing and debugging Extract/Transform mappers, hierarchy analysis, and output JSON issues. Use document-generation when the primary task is .docx template authoring, DocumentTemplate lifecycle, token rendering, or final output verification.

Can I create ODTs programmatically via the REST API?▼

Yes, the data-mapper-authoring reference covers programmatic ODT creation via REST API, including cloning patterns and shell escaping pitfalls. However, REST writes should be limited to scratch-org experimentation; commit ODT metadata via .rpt-meta.xml for real work.