/omnistudio-datamapper-generate
OmniStudio Data Mapper (formerly DataRaptor) creation and validation with 100-point scoring. Use when building Extract, Transform, Load, or Turbo Extract Data Mappers, mapping Salesforce object fields, or reviewing existing Data Mapper configurations. TRIGGER when: user creates
$ npx -y skills add forcedotcom/sf-skills --skill omnistudio-datamapper-generate --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
- Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
- You can call itInvoke it directly when you want it.
- Slash command
/omnistudio-datamapper-generate
Context preview
The summary Claude sees to decide when to auto-load this skill.
OmniStudio Data Mapper (formerly DataRaptor) creation and validation with 100-point scoring. Use when building Extract, Transform, Load, or Turbo Extract Data Mappers, mapping Salesforce object fields, or reviewing existing Data Mapper configurations. TRIGGER when: user creates
SKILL.md
omnistudio-datamapper-generate.SKILL.mdname: omnistudio-datamapper-generate
description: "OmniStudio Data Mapper (formerly DataRaptor) creation and validation with 100-point scoring. Use when building Extract, Transform, Load, or Turbo Extract Data Mappers, mapping Salesforce object fields, or reviewing existing Data Mapper configurations. TRIGGER when: user creates Data Mappers, configures field mappings, works with OmniDataTransform metadata, or asks about DataRaptor/Data Mapper patterns. DO NOT TRIGGER when: building Integration Procedures (use omnistudio-integration-procedure-generate), authoring OmniScripts (use omnistudio-omniscript-generate), or analyzing cross-component dependencies (use omnistudio-dependencies-analyze)."
metadata:
cliTools:
- tool: ["sf"]
semver: ">=2.0.0"
relatedSkills:
- "omnistudio-dependencies-analyze"
- "omnistudio-flexcard-generate"
- "omnistudio-integration-procedure-generate"
- "omnistudio-omniscript-generate"
- "platform-custom-field-generate"
- "platform-custom-object-generate"
- "platform-metadata-deploy"
- "platform-soql-query"
version: "1.0"
minApiVersion: "60.0"omnistudio-datamapper-generate: OmniStudio Data Mapper Creation and Validation
Expert OmniStudio Data Mapper developer specializing in Extract, Transform, Load, and Turbo Extract configurations. Generate production-ready, performant, and maintainable Data Mapper definitions with proper field mappings, query optimization, and data integrity safeguards.
---
Scope
- **In scope**: Creating and validating OmniStudio Data Mapper configurations (Extract, Transform, Load, Turbo Extract); field mapping design; query optimization; FLS (Field-Level Security) validation; deployment via platform-metadata-deploy skill
- **Out of scope**: Building Integration Procedures (use `omnistudio-integration-procedure-generate`), authoring OmniScripts (use `omnistudio-omniscript-generate`), designing FlexCards (use `omnistudio-flexcard-generate`), analyzing cross-component dependencies (use `omnistudio-dependencies-analyze`)
---
Core Responsibilities
1. **Generation**: Create Data Mapper configurations (Extract, Transform, Load, Turbo Extract) from requirements 2. **Field Mapping**: Design object-to-output field mappings with proper type handling, lookup resolution, and null safety 3. **Dependency Tracking**: Identify related OmniStudio components (Integration Procedures, OmniScripts, FlexCards) that consume or feed Data Mappers 4. **Validation & Scoring**: Score Data Mapper configurations against 5 categories (0-100 points)
---
CRITICAL: Orchestration Order
**omnistudio-dependencies-analyze -> omnistudio-datamapper-generate -> omnistudio-integration-procedure-generate -> omnistudio-omniscript-generate -> omnistudio-flexcard-generate** (you are here: omnistudio-datamapper-generate)
Data Mappers are the data access layer of the OmniStudio stack. They must be created and deployed before Integration Procedures or OmniScripts that reference them. Use omnistudio-dependencies-analyze FIRST to understand existing component dependencies.
---
Key Insights
| Insight | Details | |---------|---------| | **Extract vs Turbo Extract** | Extract uses standard SOQL with relationship queries. Turbo Extract uses server-side compiled queries for read-heavy, high-volume scenarios (10x+ faster). Turbo Extract does not support formula fields, related lists, or write operations. | | **Transform is in-memory** | Transform Data Mappers operate entirely in memory with no DML or SOQL. They reshape data structures between steps in an Integration Procedure. Use for JSON-to-JSON transformations, field renaming, and data flattening. | | **Load = DML** | Load Data Mappers perform insert, update, upsert, or delete operations. They require proper FLS checks and error handling. Always validate field-level security before deploying Load Data Mappers to production. | | **OmniDataTransform metadata** | Data Mappers are stored as OmniDataTransform and OmniDataTransformItem records. Retrieve and deploy using these metadata type names, not the legacy DataRaptor API names. |
---
Workflow (5-Phase Pattern)
Phase 1: Requirements Gathering
**Ask the user** to gather:
- Data Mapper type (Extract, Transform, Load, Turbo Extract)
- Target Salesforce object(s) and fields
- Target org alias
- Consuming component (Integration Procedure, OmniScript, or FlexCard name)
- Data volume expectations (record counts, frequency)
**Then**: 1. Check existing Data Mappers: `Glob: **/OmniDataTransform*` 2. Check existing OmniStudio metadata: `Glob: **/omnistudio/**` 3. Create a task list
---
Phase 2: Design & Type Selection
| Type | Use Case | Naming Prefix | Supports DML | Supports SOQL | |------|----------|---------------|--------------|---------------| | **Extract** | Read data from one or more objects with relationship queries | `DR_Extract_` | No | Yes | | **Turbo Extract** | High-volume read-only queries, server-side compiled | `DR_TurboExtract_` | No | Yes (compiled) | | **Transform** | In-memory data reshaping between procedure steps | `DR_Transform_` | No | No | | **Load** | Write data (insert, update, upsert, delete) | `DR_Load_` | Yes | No |
**Naming Format**: `[Prefix][Object]_[Purpose]` using PascalCase
**Examples**:
- `DR_Extract_Account_Details` -- Extract Account with related Contacts
- `DR_TurboExtract_Case_List` -- High-volume Case list for FlexCard
- `DR_Transform_Lead_Flatten` -- Flatten nested Lead data structure
- `DR_Load_Opportunity_Create` -- Insert Opportunity records
---
Phase 3: Generation & Validation
**For Generation**: 1. Read `assets/omni-data-transform-extract.json` (Extract), `assets/omni-data-transform-transform.json` (Transform), or `assets/omni-data-transform-load.json` (Load) for the OmniDataTransform record template 2. Read `assets/omni-data-transform-item.json` for each field mapping (OmniDataTransformItem) template 3. Configure query filters, sort order, and limits
Read more
name: omnistudio-datamapper-generate
description: "OmniStudio Data Mapper (formerly DataRaptor) creation and validation with 100-point scoring. Use when building Extract, Transform, Load, or Turbo Extract Data Mappers, mapping Salesforce object fields, or reviewing existing Data Mapper configurations. TRIGGER when: user creates Data Mappers, configures field mappings, works with OmniDataTransform metadata, or asks about DataRaptor/Data Mapper patterns. DO NOT TRIGGER when: building Integration Procedures (use omnistudio-integration-procedure-generate), authoring OmniScripts (use omnistudio-omniscript-generate), or analyzing cross-component dependencies (use omnistudio-dependencies-analyze)."
metadata:
cliTools:
- tool: ["sf"]
semver: ">=2.0.0"
relatedSkills:
- "omnistudio-dependencies-analyze"
- "omnistudio-flexcard-generate"
- "omnistudio-integration-procedure-generate"
- "omnistudio-omniscript-generate"
- "platform-custom-field-generate"
- "platform-custom-object-generate"
- "platform-metadata-deploy"
- "platform-soql-query"
version: "1.0"
minApiVersion: "60.0"omnistudio-datamapper-generate: OmniStudio Data Mapper Creation and Validation
Expert OmniStudio Data Mapper developer specializing in Extract, Transform, Load, and Turbo Extract configurations. Generate production-ready, performant, and maintainable Data Mapper definitions with proper field mappings, query optimization, and data integrity safeguards.
---
Scope
- **In scope**: Creating and validating OmniStudio Data Mapper configurations (Extract, Transform, Load, Turbo Extract); field mapping design; query optimization; FLS (Field-Level Security) validation; deployment via platform-metadata-deploy skill
- **Out of scope**: Building Integration Procedures (use `omnistudio-integration-procedure-generate`), authoring OmniScripts (use `omnistudio-omniscript-generate`), designing FlexCards (use `omnistudio-flexcard-generate`), analyzing cross-component dependencies (use `omnistudio-dependencies-analyze`)
---
Core Responsibilities
1. **Generation**: Create Data Mapper configurations (Extract, Transform, Load, Turbo Extract) from requirements 2. **Field Mapping**: Design object-to-output field mappings with proper type handling, lookup resolution, and null safety 3. **Dependency Tracking**: Identify related OmniStudio components (Integration Procedures, OmniScripts, FlexCards) that consume or feed Data Mappers 4. **Validation & Scoring**: Score Data Mapper configurations against 5 categories (0-100 points)
---
CRITICAL: Orchestration Order
**omnistudio-dependencies-analyze -> omnistudio-datamapper-generate -> omnistudio-integration-procedure-generate -> omnistudio-omniscript-generate -> omnistudio-flexcard-generate** (you are here: omnistudio-datamapper-generate)
Data Mappers are the data access layer of the OmniStudio stack. They must be created and deployed before Integration Procedures or OmniScripts that reference them. Use omnistudio-dependencies-analyze FIRST to understand existing component dependencies.
---
Key Insights
| Insight | Details | |---------|---------| | **Extract vs Turbo Extract** | Extract uses standard SOQL with relationship queries. Turbo Extract uses server-side compiled queries for read-heavy, high-volume scenarios (10x+ faster). Turbo Extract does not support formula fields, related lists, or write operations. | | **Transform is in-memory** | Transform Data Mappers operate entirely in memory with no DML or SOQL. They reshape data structures between steps in an Integration Procedure. Use for JSON-to-JSON transformations, field renaming, and data flattening. | | **Load = DML** | Load Data Mappers perform insert, update, upsert, or delete operations. They require proper FLS checks and error handling. Always validate field-level security before deploying Load Data Mappers to production. | | **OmniDataTransform metadata** | Data Mappers are stored as OmniDataTransform and OmniDataTransformItem records. Retrieve and deploy using these metadata type names, not the legacy DataRaptor API names. |
---
Workflow (5-Phase Pattern)
Phase 1: Requirements Gathering
**Ask the user** to gather:
- Data Mapper type (Extract, Transform, Load, Turbo Extract)
- Target Salesforce object(s) and fields
- Target org alias
- Consuming component (Integration Procedure, OmniScript, or FlexCard name)
- Data volume expectations (record counts, frequency)
**Then**: 1. Check existing Data Mappers: `Glob: **/OmniDataTransform*` 2. Check existing OmniStudio metadata: `Glob: **/omnistudio/**` 3. Create a task list
---
Phase 2: Design & Type Selection
| Type | Use Case | Naming Prefix | Supports DML | Supports SOQL | |------|----------|---------------|--------------|---------------| | **Extract** | Read data from one or more objects with relationship queries | `DR_Extract_` | No | Yes | | **Turbo Extract** | High-volume read-only queries, server-side compiled | `DR_TurboExtract_` | No | Yes (compiled) | | **Transform** | In-memory data reshaping between procedure steps | `DR_Transform_` | No | No | | **Load** | Write data (insert, update, upsert, delete) | `DR_Load_` | Yes | No |
**Naming Format**: `[Prefix][Object]_[Purpose]` using PascalCase
**Examples**:
- `DR_Extract_Account_Details` -- Extract Account with related Contacts
- `DR_TurboExtract_Case_List` -- High-volume Case list for FlexCard
- `DR_Transform_Lead_Flatten` -- Flatten nested Lead data structure
- `DR_Load_Opportunity_Create` -- Insert Opportunity records
---
Phase 3: Generation & Validation
**For Generation**: 1. Read `assets/omni-data-transform-extract.json` (Extract), `assets/omni-data-transform-transform.json` (Transform), or `assets/omni-data-transform-load.json` (Load) for the OmniDataTransform record template 2. Read `assets/omni-data-transform-item.json` for each field mapping (OmniDataTransformItem) template 3. Configure query filters, sort order, and limits
This repository provides a curated collection of Salesforce agent skills for building applications.
Repo: forcedotcom/sf-skills
Other skills on sf-skills.
- /agentforce-generate
Build, modify, optimize, debug, and deploy agents with Agentforce Agent Script. TRIGGER when: user creates, modifies, optimizes, or asks about .agent files or aiAuthoringBundle metadata; changes agent behavior, responses, or conversation logic; designs agent actions, tools,
Open skill - /agentforce-observe
Analyze production Agentforce agent behavior using session traces and Data Cloud. TRIGGER when: user queries STDM session data or Data Cloud trace records; investigates production agent failures, regressions, or performance issues; asks about session traces, conversation logs,
Open skill - /agentforce-test
Write, run, and analyze structured test suites for Agentforce agents — functional AND security. TRIGGER when: user writes or modifies test spec YAML (AiEvaluationDefinition); runs sf agent test create, run, run-eval, or results commands; asks about test coverage strategy, metric
Open skill - /automation-flow-generate
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
Open skill - /dx-code-analyzer-configure
Set up, configure, and troubleshoot Salesforce Code Analyzer for any project. Handles installation, prerequisite checks, diagnosing broken setups, creating and editing code-analyzer.yml overrides, engine-specific settings, ignore patterns, severity overrides, and CI/CD pipeline
Open skill - /dx-code-analyzer-custom-rule-create
Create custom Code Analyzer rules for Regex (pattern matching), PMD (XPath/AST for Apex and metadata XML), and ESLint (LWC/JavaScript/TypeScript). Use when users want to enforce coding standards, ban patterns, detect hardcoded values, govern metadata, or add rules not in the
Open skill

