building-omnistudio-datamapper

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

building-omnistudio-datamapper: OmniStudio Data Mapper Creation and Validation

building-omnistudio-datamapper:OmniStudio Data Mapper的创建与验证

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.

专业的OmniStudio Data Mapper开发人员,专注于提取、转换、加载(Extract, Transform, Load)及Turbo Extract配置。可生成生产就绪、高性能且易于维护的Data Mapper定义,包含规范的字段映射、查询优化及数据完整性保障机制。

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 deploying-metadata skill
  • Out of scope: Building Integration Procedures (use
    building-omnistudio-integration-procedure
    ), authoring OmniScripts (use
    building-omnistudio-omniscript
    ), designing FlexCards (use
    building-omnistudio-flexcard
    ), analyzing cross-component dependencies (use
    analyzing-omnistudio-dependencies
    )

  • 包含范围:创建与验证OmniStudio Data Mapper配置(Extract、Transform、Load、Turbo Extract);字段映射设计;查询优化;FLS(字段级安全,Field-Level Security)验证;通过deploying-metadata技能进行部署
  • 排除范围:构建Integration Procedures(请使用
    building-omnistudio-integration-procedure
    )、编写OmniScripts(请使用
    building-omnistudio-omniscript
    )、设计FlexCards(请使用
    building-omnistudio-flexcard
    )、分析跨组件依赖(请使用
    analyzing-omnistudio-dependencies

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)

  1. 生成配置:根据需求创建Data Mapper配置(Extract、Transform、Load、Turbo Extract)
  2. 字段映射:设计对象到输出的字段映射,包含正确的类型处理、查找解析及空值安全机制
  3. 依赖追踪:识别与Data Mapper存在消费或供给关系的相关OmniStudio组件(Integration Procedures、OmniScripts、FlexCards)
  4. 验证与评分:从5个维度对Data Mapper配置进行评分(0-100分)

CRITICAL: Orchestration Order

关键:编排顺序

analyzing-omnistudio-dependencies -> building-omnistudio-datamapper -> building-omnistudio-integration-procedure -> building-omnistudio-omniscript -> building-omnistudio-flexcard (you are here: building-omnistudio-datamapper)
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 analyzing-omnistudio-dependencies FIRST to understand existing component dependencies.

analyzing-omnistudio-dependencies -> building-omnistudio-datamapper -> building-omnistudio-integration-procedure -> building-omnistudio-omniscript -> building-omnistudio-flexcard(当前处于:building-omnistudio-datamapper)
Data Mapper是OmniStudio技术栈的数据访问层。必须在引用它们的Integration Procedures或OmniScripts之前完成创建与部署。请先使用analyzing-omnistudio-dependencies技能了解现有组件的依赖关系。

Key Insights

关键要点

InsightDetails
Extract vs Turbo ExtractExtract 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-memoryTransform 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 = DMLLoad 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 metadataData Mappers are stored as OmniDataTransform and OmniDataTransformItem records. Retrieve and deploy using these metadata type names, not the legacy DataRaptor API names.

要点详情
Extract与Turbo Extract对比Extract使用标准SOQL及关联查询。Turbo Extract使用服务器端编译查询,适用于读密集型、高数据量场景(速度提升10倍以上)。Turbo Extract不支持公式字段、关联列表或写入操作。
Transform为内存操作Transform类型的Data Mapper完全在内存中运行,不涉及DML或SOQL操作。用于在Integration Procedure的步骤之间重塑数据结构。适用于JSON到JSON的转换、字段重命名及数据扁平化处理。
Load等同于DML操作Load类型的Data Mapper执行插入、更新、Upsert或删除操作。需要配置正确的FLS检查及错误处理机制。部署Load Data Mapper到生产环境前,务必验证字段级安全。
OmniDataTransform元数据Data Mapper以OmniDataTransform和OmniDataTransformItem记录形式存储。请使用这些元数据类型名称进行检索与部署,而非旧版DataRaptor API名称。

Workflow (5-Phase Pattern)

工作流程(5阶段模式)

Phase 1: Requirements Gathering

阶段1:需求收集

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

请向用户收集以下信息
  • Data Mapper类型(Extract、Transform、Load、Turbo Extract)
  • 目标Salesforce对象及字段
  • 目标组织别名
  • 消费组件(Integration Procedure、OmniScript或FlexCard名称)
  • 数据量预期(记录数量、操作频率)
之后执行
  1. 检查现有Data Mapper:
    Glob: **/OmniDataTransform*
  2. 检查现有OmniStudio元数据:
    Glob: **/omnistudio/**
  3. 创建任务清单

Phase 2: Design & Type Selection

阶段2:设计与类型选择

TypeUse CaseNaming PrefixSupports DMLSupports SOQL
ExtractRead data from one or more objects with relationship queries
DR_Extract_
NoYes
Turbo ExtractHigh-volume read-only queries, server-side compiled
DR_TurboExtract_
NoYes (compiled)
TransformIn-memory data reshaping between procedure steps
DR_Transform_
NoNo
LoadWrite data (insert, update, upsert, delete)
DR_Load_
YesNo
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

类型使用场景命名前缀支持DML支持SOQL
Extract通过关联查询从一个或多个对象读取数据
DR_Extract_
Turbo Extract高数据量只读查询,服务器端编译
DR_TurboExtract_
是(编译后)
Transform流程步骤间的内存数据重塑
DR_Transform_
Load写入数据(插入、更新、Upsert、删除)
DR_Load_
命名格式:采用帕斯卡命名法(PascalCase),格式为
[前缀][对象]_[用途]
示例
  • DR_Extract_Account_Details
    -- 提取Account及关联的Contacts数据
  • DR_TurboExtract_Case_List
    -- 为FlexCard提供高数据量Case列表
  • DR_Transform_Lead_Flatten
    -- 扁平化嵌套的Lead数据结构
  • DR_Load_Opportunity_Create
    -- 插入Opportunity记录

Phase 3: Generation & Validation

阶段3:生成与验证

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 for Extract types
  4. Set up lookup mappings and default values for Load types
  5. Validate field-level security for all mapped fields
For Review:
  1. Read existing Data Mapper configuration
  2. Run validation against best practices
  3. Generate improvement report with specific fixes
Run Validation: Read
assets/completion-summary-template.md
for the scoring output format and thresholds.

生成配置时
  1. 读取
    assets/omni-data-transform-extract.json
    (Extract类型)、
    assets/omni-data-transform-transform.json
    (Transform类型)或
    assets/omni-data-transform-load.json
    (Load类型)作为OmniDataTransform记录模板
  2. 读取
    assets/omni-data-transform-item.json
    作为每个字段映射(OmniDataTransformItem)的模板
  3. 为Extract类型配置查询过滤条件、排序顺序及限制条数
  4. 为Load类型配置查找映射及默认值
  5. 验证所有映射字段的字段级安全
审查现有配置时
  1. 读取现有Data Mapper配置
  2. 对照最佳实践执行验证
  3. 生成包含具体修复建议的改进报告
执行验证:读取
assets/completion-summary-template.md
获取评分输出格式及阈值。

Generation Guardrails (MANDATORY)

生成规则(强制遵守)

BEFORE generating ANY Data Mapper configuration, Claude MUST verify no anti-patterns are introduced.
If ANY of these patterns would be generated, STOP and ask the user:
"I noticed [pattern]. This will cause [problem]. Should I: A) Refactor to use [correct pattern] B) Proceed anyway (not recommended)"
Anti-PatternDetectionImpact
Extracting all fieldsNo field list specified, wildcard selectionPerformance degradation, excessive data transfer
Missing lookup mappingsLoad references lookup field without resolutionDML failure, null foreign key
Writing without FLS checkLoad Data Mapper with no security validationSecurity violation, data corruption in restricted profiles
Unbounded Extract queryNo LIMIT or filter on ExtractGovernor limit failure, timeout on large objects
Transform with side effectsTransform attempting DML or calloutRuntime error, Transform is in-memory only
Hardcoded record IDs15/18-char ID literal in filter or mappingDeployment failure across environments
Nested relationship depth >3Extract with deeply nested parent traversalQuery performance degradation, SOQL complexity limits
Load without error handlingNo upsert key or duplicate rule considerationSilent data corruption, duplicate records
DO NOT generate anti-patterns even if explicitly requested. Ask user to confirm the exception with documented justification.
See: references/best-practices.md for detailed patterns See: references/naming-conventions.md for naming rules

在生成任何Data Mapper配置之前,Claude必须确认未引入任何反模式。
如果将生成以下任何模式,请立即停止并询问用户
"我发现了[模式],这会导致[问题]。请问我应该: A) 重构为使用[正确模式] B) 继续执行(不推荐)"
反模式检测方式影响
提取所有字段未指定字段列表,使用通配符选择性能下降,数据传输量过大
缺失查找映射Load类型引用查找字段但未配置解析DML操作失败,外键为空
未检查FLS就写入Load Data Mapper未配置安全验证安全违规,受限配置文件下的数据损坏
无限制的Extract查询Extract未设置LIMIT或过滤条件触发Governor限制,大型对象查询超时
Transform包含副作用Transform尝试执行DML或外部调用运行时错误,Transform仅支持内存操作
硬编码记录ID过滤条件或映射中使用15/18位ID字面量跨环境部署失败
嵌套关联深度>3Extract使用深度嵌套的父对象遍历查询性能下降,SOQL复杂度超限
Load未配置错误处理未设置Upsert键或重复规则处理静默数据损坏,重复记录
即使用户明确要求,也不得生成反模式。请要求用户提供书面理由确认例外情况。
参考references/best-practices.md 获取详细模式说明 参考references/naming-conventions.md 获取命名规则

Phase 4: Deployment

阶段4:部署

Step 1: Validation Use the deploying-metadata skill: "Deploy OmniDataTransform [Name] to [target-org] with --dry-run"
Step 2: Deploy (only if validation succeeds) Use the deploying-metadata skill: "Proceed with actual deployment to [target-org]"
Post-Deploy: Activate the Data Mapper in the target org. Verify it appears in OmniStudio Designer.
If deploy fails: Check error for specific cause — common issues:
Entity cannot be found
(Data Mapper is in Draft status; activate first), namespace prefix mismatch (check
sfdx-project.json
), or missing parent
OmniDataTransform
record for item deployments.
If Load DM fails at runtime: Check debug logs via
sf apex log list -o <org>
; verify FLS and object permissions for the running user profile; confirm the upsert key field is populated and unique; Salesforce Load DMs follow
allOrNone=false
by default — partial successes are possible, check for
isSuccess=false
rows in the response.

步骤1:验证 使用deploying-metadata技能:"Deploy OmniDataTransform [Name] to [target-org] with --dry-run"
步骤2:部署(仅在验证通过后执行) 使用deploying-metadata技能:"Proceed with actual deployment to [target-org]"
部署后:在目标组织中激活Data Mapper。验证其在OmniStudio Designer中可见。
如果部署失败:检查错误原因——常见问题:
Entity cannot be found
(Data Mapper处于草稿状态;需先激活)、命名空间前缀不匹配(检查
sfdx-project.json
)、或部署项时缺失父级
OmniDataTransform
记录。
如果Load DM运行时失败:通过
sf apex log list -o <org>
查看调试日志;验证运行用户配置文件的FLS及对象权限;确认Upsert键字段已填充且唯一;Salesforce Load DM默认遵循
allOrNone=false
——可能出现部分成功情况,请检查响应中
isSuccess=false
的行。

Phase 5: Testing & Documentation

阶段5:测试与文档

Completion Summary: Read
assets/completion-summary-template.md
for the completion summary format.
Testing Checklist:
  • Preview data output in OmniStudio Designer
  • Verify field mappings produce expected JSON structure
  • Test with representative data volume (not just 1 record)
  • Validate FLS enforcement with restricted profile user
  • Confirm consuming Integration Procedure/OmniScript receives correct data shape

完成总结:读取
assets/completion-summary-template.md
获取完成总结格式。
测试清单
  • 在OmniStudio Designer中预览数据输出
  • 验证字段映射生成预期的JSON结构
  • 使用代表性数据量进行测试(不只是1条记录)
  • 使用受限配置文件用户验证FLS执行情况
  • 确认消费该Data Mapper的Integration Procedure/OmniScript接收到正确的数据结构

Best Practices (100-Point Scoring)

最佳实践(100分制评分)

CategoryPointsKey Rules
Design & Naming20Correct type selection; naming follows
DR_[Type]_[Object]_[Purpose]
convention; single responsibility per Data Mapper
Field Mapping25Explicit field list (no wildcards); correct input/output paths; proper type conversions; null-safe default values
Data Integrity25FLS validation on all fields; lookup resolution for Load types; upsert keys defined; duplicate handling configured
Performance15Bounded queries with LIMIT/filters; Turbo Extract for read-heavy scenarios; minimal relationship depth; indexed filter fields
Documentation15Description on OmniDataTransform record; field mapping rationale documented; consuming components identified
Thresholds: ✅ 90+ (Deploy) | ⚠️ 67-89 (Review) | ❌ <67 (Block - fix required)

类别分值关键规则
设计与命名20类型选择正确;命名遵循
DR_[Type]_[Object]_[Purpose]
规范;每个Data Mapper单一职责
字段映射25明确指定字段列表(无通配符);输入/输出路径正确;类型转换恰当;空值安全默认值
数据完整性25所有字段均验证FLS;Load类型配置查找解析;定义Upsert键;配置重复处理机制
性能15查询设置LIMIT/过滤条件;读密集型场景使用Turbo Extract;关联深度最小化;过滤字段使用索引
文档15OmniDataTransform记录包含描述;字段映射依据已记录;已识别消费组件
阈值:✅ 90分及以上(可部署) | ⚠️ 67-89分(需审查) | ❌ 67分以下(阻止部署 - 需修复)

CLI Commands

CLI命令

Query Existing Data Mappers

查询现有Data Mapper

bash
sf data query -q "SELECT Id,Name,Type FROM OmniDataTransform LIMIT 200" -o <org>
bash
sf data query -q "SELECT Id,Name,Type FROM OmniDataTransform LIMIT 200" -o <org>

Query Data Mapper Field Mappings

查询Data Mapper字段映射

bash
sf data query -q "SELECT Id,Name,InputObjectName,OutputObjectName,LookupObjectName FROM OmniDataTransformItem WHERE OmniDataTransformationId='<id>' LIMIT 200" -o <org>
bash
sf data query -q "SELECT Id,Name,InputObjectName,OutputObjectName,LookupObjectName FROM OmniDataTransformItem WHERE OmniDataTransformationId='<id>' LIMIT 200" -o <org>

Retrieve Data Mapper Metadata

检索Data Mapper元数据

bash
sf project retrieve start -m OmniDataTransform:<Name> -o <org>
bash
sf project retrieve start -m OmniDataTransform:<Name> -o <org>

Deploy Data Mapper Metadata

部署Data Mapper元数据

bash
sf project deploy start -m OmniDataTransform:<Name> -o <org>

bash
sf project deploy start -m OmniDataTransform:<Name> -o <org>

Output Expectations

输出预期

Deliverables produced by this skill:
  • OmniDataTransform record — main Data Mapper record built from
    assets/omni-data-transform-*.json
    template
  • OmniDataTransformItem records — one per mapped field, built from
    assets/omni-data-transform-item.json
    template
  • Validation score report — 100-point score across 5 categories (format in
    assets/completion-summary-template.md
    )
  • Deployment confirmation — Data Mapper activated and visible in OmniStudio Designer

本技能生成的交付物:
  • OmniDataTransform记录 —— 基于
    assets/omni-data-transform-*.json
    模板构建的主Data Mapper记录
  • OmniDataTransformItem记录 —— 每个映射字段对应一条记录,基于
    assets/omni-data-transform-item.json
    模板构建
  • 验证评分报告 —— 基于5个类别的100分制评分(格式参考
    assets/completion-summary-template.md
  • 部署确认 —— Data Mapper已激活并在OmniStudio Designer中可见

Cross-Skill Integration

跨技能集成

From SkillTo building-omnistudio-datamapperWhen
analyzing-omnistudio-dependencies-> building-omnistudio-datamapper"Analyze dependencies before creating Data Mapper"
generating-custom-object / generating-custom-field-> building-omnistudio-datamapper"Describe target object fields before mapping"
querying-soql-> building-omnistudio-datamapper"Validate Extract query logic"
From building-omnistudio-datamapperTo SkillWhen
building-omnistudio-datamapper-> building-omnistudio-integration-procedure"Create Integration Procedure that calls this Data Mapper"
building-omnistudio-datamapper-> deploying-metadata"Deploy Data Mapper to target org"
building-omnistudio-datamapper-> building-omnistudio-omniscript"Wire Data Mapper output into OmniScript"
building-omnistudio-datamapper-> building-omnistudio-flexcard"Display Data Mapper Extract results in FlexCard"

来源技能流向building-omnistudio-datamapper触发时机
analyzing-omnistudio-dependencies-> building-omnistudio-datamapper"创建Data Mapper前分析依赖关系"
generating-custom-object / generating-custom-field-> building-omnistudio-datamapper"映射前描述目标对象字段"
querying-soql-> building-omnistudio-datamapper"验证Extract查询逻辑"
来源building-omnistudio-datamapper流向技能触发时机
building-omnistudio-datamapper-> building-omnistudio-integration-procedure"创建调用该Data Mapper的Integration Procedure"
building-omnistudio-datamapper-> deploying-metadata"将Data Mapper部署到目标组织"
building-omnistudio-datamapper-> building-omnistudio-omniscript"将Data Mapper输出接入OmniScript"
building-omnistudio-datamapper-> building-omnistudio-flexcard"在FlexCard中展示Data Mapper Extract结果"

Gotchas

常见问题

IssueResolution
Large data volume (>10K records)Use Turbo Extract; add pagination via Integration Procedure; warn about heap limits
Polymorphic lookup fieldsSpecify the concrete object type in the mapping; test each type separately
Formula fields in ExtractStandard Extract supports formula fields; Turbo Extract does not — fall back to standard Extract
Cross-object Load (master-detail)Insert parent records first, then child records in a separate Load step; use Integration Procedure to orchestrate sequence
Namespace-prefixed fieldsInclude namespace prefix in field paths (e.g.,
ns__Field__c
); verify prefix matches target org
Multi-currency orgsMap CurrencyIsoCode explicitly; do not rely on default currency assumption
RecordType-dependent mappingsFilter by RecordType in Extract; set RecordTypeId in Load; document which RecordTypes are supported
Draft Data Mapper not retrievable
sf project retrieve start -m OmniDataTransform:<Name>
only works for active DMs; activate before retrieving
Foreign key field name wrongThe parent lookup on
OmniDataTransformItem
is
OmniDataTransformationId
(full word "Transformation"), not
OmniDataTransformId

问题解决方案
大数据量(>10K条记录)使用Turbo Extract;通过Integration Procedure添加分页;提醒堆内存限制
多态查找字段在映射中指定具体对象类型;分别测试每种类型
Extract中包含公式字段标准Extract支持公式字段;Turbo Extract不支持——改用标准Extract
跨对象Load(主从关系)先插入父记录,再在单独的Load步骤中插入子记录;使用Integration Procedure编排顺序
带命名空间前缀的字段字段路径中包含命名空间前缀(如
ns__Field__c
);验证前缀与目标组织匹配
多币种组织显式映射CurrencyIsoCode;不要依赖默认币种假设
依赖RecordType的映射Extract中按RecordType过滤;Load中设置RecordTypeId;记录支持的RecordType
草稿状态的Data Mapper无法检索
sf project retrieve start -m OmniDataTransform:<Name>
仅对激活状态的DM生效;检索前先激活
外键字段名称错误
OmniDataTransformItem
上的父级查找字段是
OmniDataTransformationId
(完整单词"Transformation"),而非
OmniDataTransformId

Notes

注意事项

  • Metadata Type: OmniDataTransform (not DataRaptor — legacy name deprecated)
  • API Version: Requires OmniStudio managed package or Industries Cloud
  • Scoring: Block deployment if score < 67; read
    assets/completion-summary-template.md
    for score format
  • Turbo Extract Limitations: No formula fields, no related lists, no aggregate queries, no polymorphic fields
  • Activation: Data Mappers must be activated after deployment to be callable from Integration Procedures (see Gotchas for draft retrieval behavior)
  • Creating via Data API: Use
    sf api request rest --method POST --body @file.json
    to create OmniDataTransform and OmniDataTransformItem records. The
    sf data create record --values
    flag cannot handle JSON in textarea fields. Write the JSON body to a temp file first.

  • 元数据类型:OmniDataTransform(而非DataRaptor——旧版名称已弃用)
  • API版本:需要OmniStudio托管包或Industries Cloud
  • 评分:评分低于67分时阻止部署;评分格式参考
    assets/completion-summary-template.md
  • Turbo Extract限制:不支持公式字段、关联列表、聚合查询、多态字段
  • 激活:Data Mapper部署后必须激活,才能被Integration Procedures调用(参考常见问题中草稿检索的行为)
  • 通过Data API创建:使用
    sf api request rest --method POST --body @file.json
    创建OmniDataTransform和OmniDataTransformItem记录。
    sf data create record --values
    标志无法处理文本区域字段中的JSON。请先将JSON内容写入临时文件。

Reference File Index

参考文件索引

FileWhen to Read
assets/omni-data-transform-extract.json
Phase 3 Generation — template for Extract type OmniDataTransform records
assets/omni-data-transform-transform.json
Phase 3 Generation — template for Transform type OmniDataTransform records
assets/omni-data-transform-load.json
Phase 3 Generation — template for Load type OmniDataTransform records
assets/omni-data-transform-item.json
Phase 3 Generation — template for each OmniDataTransformItem field mapping
assets/completion-summary-template.md
Phase 3 & 5 — scoring output format and completion summary template
references/best-practices.md
Phase 3 Guardrails — detailed patterns for field mapping, query optimization, null handling, and performance
references/naming-conventions.md
Phase 2 Design — full naming rules for all Data Mapper types and field mapping conventions

文件读取时机
assets/omni-data-transform-extract.json
阶段3生成——Extract类型OmniDataTransform记录模板
assets/omni-data-transform-transform.json
阶段3生成——Transform类型OmniDataTransform记录模板
assets/omni-data-transform-load.json
阶段3生成——Load类型OmniDataTransform记录模板
assets/omni-data-transform-item.json
阶段3生成——每个OmniDataTransformItem字段映射模板
assets/completion-summary-template.md
阶段3 & 5——评分输出格式及完成总结模板
references/best-practices.md
阶段3规则——字段映射、查询优化、空值处理及性能的详细模式
references/naming-conventions.md
阶段2设计——所有Data Mapper类型的完整命名规则及字段映射规范