Agent skill

Yida Data Management

by openyida in openyida/openyida

宜搭数据管理。表单实例/子表/流程实例/任务中心的查询、新增、更新,以及普通表单单实例的精确删除。表单走 /v1/form/,流程走 /v1/process/,不能混用。

MITAuto-check passed

Install Yida Data Management

skills CLI
$ npx skills add openyida/openyida --skill yida-data-management -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install openyida/openyida yida-data-management --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/openyida/openyida.git skills-src && mkdir -p .claude/skills && cp -r skills-src/yida-skills/skills/yida-data-management .claude/skills/yida-data-management && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
yida-data-management
GitHub stars
220
Token cost
~3.8k tokens
SKILL.md length
806 words
Files
4 (incl. references)
Skills in repo
58
Repo updated
First seen
Licence
MIT

At a glance

宜搭数据管理。表单实例/子表/流程实例/任务中心的查询、新增、更新,以及普通表单单实例的精确删除。表单走 /v1/form/,流程走 /v1/process/,不能混用。

  • Works in 5 steps: 只读预检:先确认目标… → 类型分流:普通表单写操作固定传 --expect-form-name… → 写入即提交:小 JSON 可直接用 --data-json '';长 JSON… → …
  • SKILL.md covers 创建/录入数据强制闭环, 完整应用默认 seed records, 严格禁止 (NEVER DO) and 严格要求 (MUST DO), plus 12 more sections
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

Yida Data Management is an agent skill from openyida/openyida. 宜搭数据管理。表单实例/子表/流程实例/任务中心的查询、新增、更新,以及普通表单单实例的精确删除。表单走 /v1/form/,流程走 /v1/process/,不能混用。

Its SKILL.md is about 3.8k tokens, which your agent loads only when the skill is triggered. The skill folder holds 4 other files, including reference files (for example `references/api-matrix.md`, `references/data-format-guide.md` and `references/verified-endpoints.md`).

The repository describes itself as: Your own personal YiDA AI assistant! The licence is MIT.

Example prompts

  • “/yida-data-management”

Requirements

  • Python 3

Workflow steps

5 steps, taken from the first numbered list in SKILL.md.

  1. 只读预检:先确认目标 appType、资源名称、formUuid、formType;执行 openyida get-schema --field-map-json 获取真实 fieldId,必要时先 query 确认资源可读。
  2. 类型分流:普通表单写操作固定传 --expect-form-name <真实名称> --expect-form-type receipt;流程写操作固定传 --expect-form-name <真实名称> --expect-form-type process。名称、UUID…
  3. 写入即提交:小 JSON 可直接用 --data-json '';长 JSON 或批量造数先用结构化文件写入工具创建到 .cache/openyida/<项目名或任务名>/data-import/.json,创建后必须立刻调用对应 openyida data create…
  4. 批量逐条创建:openyida data create form/process 每次只创建一条实例;多条记录按单次不超过 30 条循环/分批逐条调用。不要把多条实例数组塞进一个 --data-file,除非该数组是某个子表字段的字段值。
  5. 写后验收:create/update 返回无报错后,必须执行 openyida data query form|process ... 抽查至少 1 条新记录,确认 formData 非空且包含本次写入字段值;流程记录可再用返回的 processInstanceId 执行…

What it can do on your machine

Read from SKILL.md and the folder at commit 3dd4693. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md (its code samples are bash and json).

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Yida Data Management loads about 3.8k tokens when it runs, and up to ~6.8k if it reads all its reference files. Until then it costs about 27 tokens; SKILL.md has 806 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~27
When it runs · the whole SKILL.md, loaded when a task matches
~3.8k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~6.8k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from openyida/openyida at commit 3dd4693, republished under its MIT licence (© openyida). 806 words, ~3,828 tokens.

Download SKILL.mdSave it as .claude/skills/yida-data-management/SKILL.md (or your agent's skills folder). This skill also uses 3 other files; get the full folder from GitHub.
name
yida-data-management
description
宜搭数据管理。表单实例/子表/流程实例/任务中心的查询、新增、更新,以及普通表单单实例的精确删除。表单走 /v1/form/,流程走 /v1/process/,不能混用。

数据管理

创建/录入数据强制闭环

涉及新增记录、生成测试数据、批量导入或发起流程时,必须连续完成下面 5 步;任一步断开都不算完成。

  1. 只读预检:先确认目标 appType、资源名称、formUuid、formType;执行 openyida get-schema <appType> <formUuid> --field-map-json 获取真实 fieldId,必要时先 query 确认资源可读。
  2. 类型分流:普通表单写操作固定传 --expect-form-name <真实名称> --expect-form-type receipt;流程写操作固定传 --expect-form-name <真实名称> --expect-form-type process。名称、UUID 或类型不一致时必须停止,不能改写成当前上下文里的其他资源。
  3. 写入即提交:小 JSON 可直接用 --data-json '<json>';长 JSON 或批量造数先用结构化文件写入工具创建到 .cache/openyida/<项目名或任务名>/data-import/<name>.json,创建后必须立刻调用对应 openyida data create ... --data-file <path>。
  4. 批量逐条创建:openyida data create form/process 每次只创建一条实例;多条记录按单次不超过 30 条循环/分批逐条调用。不要把多条实例数组塞进一个 --data-file,除非该数组是某个子表字段的字段值。
  5. 写后验收:create/update 返回无报错后,必须执行 openyida data query form|process <appType> <formUuid> ... 抽查至少 1 条新记录,确认 formData 非空且包含本次写入字段值;流程记录可再用返回的 processInstanceId 执行 get process 复核。

完整应用默认 seed records

yida-app 从零生成完整应用时,表单创建完成后默认加载本技能,为核心业务普通表单写入 1-3 条业务化示例记录,再让自定义页面读取这些真实表单记录。

执行规则:

  • 只对本轮新建或页面 dataBinding.mode=form 依赖的核心普通表单默认写入;配置字典表、权限表、敏感个人数据表、纯附件表或用户明确说不要造数时跳过,并在 final 说明原因。
  • 记录数量默认 1-3 条:单对象轻应用写 1 条;列表/工作台写 2 条;看板/排行/状态分布写 3 条。不要为了展示效果批量灌入大量数据。
  • 示例记录必须是当前业务语义,不写“测试1 / demo / mock”;例如客户、订单、学生、商品、工单、活动等对象要有合理名称、状态、金额、数量、负责人或日期。
  • 先执行 openyida get-schema <appType> <formUuid> --field-map-json 获取真实 fieldId;保存数据使用真实 fieldId 或 --resolve-aliases 可解析别名,禁止猜测字段 ID。
  • 单个日期传毫秒时间戳数字,日期范围传时间戳数组;单选/多选必须使用表单已配置选项;成员/部门字段只有可安全确认 userId/deptId 时才填,否则留空或跳过该字段。
  • 每条实例单独执行一次 openyida data create form;不要把 1-3 条记录作为顶层数组塞进一个 --data-file。
  • 写完必须 openyida data query form 抽查至少 1 条,并把写入数量和抽查结果交给 yida-app 页面阶段使用。

严格禁止 (NEVER DO)

  • 不要混用表单接口和流程接口,两套接口完全独立,参数和返回结构不同
  • 不要省略写操作的 --expect-form-name / --expect-form-type;create form 不会自动改为发起流程
  • 不要编造 formInstId 或 processInstanceId,必须从查询结果中提取
  • 不要用此命令修改表单结构(字段增删改),应使用 yida-create-form-page
  • 绝对禁止猜测或编造字段 ID(fieldId),宜搭字段 ID 由平台随机生成(如 textField_eftt1aa5m),无法预测,必须通过 openyida get-schema 获取
  • 不要用 shell heredoc、cat/echo/printf/tee 或重定向生成 --data-file、--search-file、CSV 或一次性脚本
  • 不要把顶层 JSON 数组当作 openyida data create form/process 的批量实例导入;顶层数组只适用于子表字段值等字段内部结构

严格要求 (MUST DO)

  • 操作前先用 query 命令确认目标数据存在
  • 所有 create/update/delete/execute 写操作必须携带只读预检确认的资源名称和类型;CLI 校验不一致时停止,不得换目标重试
  • 新增记录、生成测试数据、批量导入或发起流程必须遵守上方“创建/录入数据强制闭环”
  • 批量操作单次不超过 30 条记录;多条实例必须逐条/分批执行 openyida data create ...
  • 删除普通表单记录前,必须先执行 openyida data get form <appType> --inst-id <formInstId> --form-uuid <formUuid> --json,核对返回实例 ID 与目标表单,并向用户展示记录数量、标题/关键字段和实例 ID。宿主支持并会在执行删除命令前触发 runtime permission/approval 时,直接发起一次带 --confirm 的受保护删除命令,由该唯一权限卡完成用户确认;无需且不得预先调用 ask_human 或其他业务确认工具。宿主不支持 runtime permission/approval 时,必须先通过 ask_human 或等价交互工具获得用户明确确认;只有用户确认后才能执行删除,用户拒绝或未确认时不得执行
  • 删除完成只以 deleted=true && readbackVerified=true 为准;alreadyAbsent=true 表示本次未再次发删除请求,可按幂等成功处理
  • 当前不支持删除流程实例;禁止生成 openyida data delete process,禁止在 CLI 报不支持后探索一次性脚本、浏览器私有请求或底层 API 绕过正式能力
  • 录入/更新数据前,必须先执行 openyida get-schema 获取真实字段 ID,并将字段 ID 映射记录到 .cache/<项目名>-schema.json
  • 生成测试数据或录入/更新数据时,DateField 传毫秒时间戳数字(如 1719705600000),CascadeDateField 传毫秒时间戳数组;不要传日期字符串。转换方法见 日期字段格式
  • 录入数据后,必须执行 openyida data query 抽查至少 1 条记录,确认 formData 中字段有实际值(非空),否则说明字段 ID 有误,需重新排查
  • 读取子表明细超过 50 行时,必须使用 openyida data query subform 或 listTableDataByFormInstIdAndTableId 分页查询完整子表;不要把 searchFormDatas.currentPage 当作子表分页
  • 本技能不读写 memory:数据操作通过 CLI 命令写入宜搭平台,不依赖跨会话的 memory 状态
  • 一次性造数、旧数据修正、字段迁移脚本可以使用 Python 或 JS,优先选择更快更清晰的实现;脚本、导入数据、查询条件文件必须由结构化文件写入工具创建到 <projectRoot>/.cache/openyida/<项目名或任务名>/ 下,并复用真实查询到的 appType/formUuid/fieldId/formInstId
  • 禁止在仓库根目录、系统临时目录或 .cache/ 顶层生成导入用的 *.json、*.js、*.py、*.csv 临时文件;推荐使用 <projectRoot>/.cache/openyida/<项目名或任务名>/data-import/ 存放数据文件,<projectRoot>/.cache/openyida/<项目名或任务名>/scripts/ 存放一次性执行脚本

不可停在这些中间态 (NOT DONE)

  • 只执行 mkdir 或只创建 .cache/openyida/.../*.json
  • 只写了 .json、.js、.py 或 CSV 脚本/数据文件,但未执行 openyida data create ...
  • 只跑了 openyida auth status、openyida login --check-only、openyida agent-capabilities 或 openyida get-schema
  • 只把导入命令交给用户自行运行,自己没有执行并拿到结果
  • openyida data create ... 报错、无返回,或未对每条实例执行 create
  • 未执行 openyida data query ... 抽查,或抽查结果的 formData 为空

完成检查清单

  • 已确认登录态、appType、formUuid;流程表单已确认 processCode
  • 已通过 schema/field map 使用真实 fieldId
  • 如使用 --data-file,文件位于 .cache/openyida/<项目名或任务名>/data-import/,且创建后已立即调用 openyida data create ... --data-file ...
  • 每条实例都实际执行了 openyida data create form/process,且命令返回无报错
  • 已用 openyida data query form|process ... 抽查至少 1 条,确认 formData 非空且字段值正确
  • 已向用户报告创建/更新数量、验收命令与结果摘要;未完成项必须如实说明

适用场景

用户需要"查询数据"、"新增记录"、"更新数据"、"查看表单实例"、"发起流程"时使用。

关键区分:

  • 操作表单数据记录(增删改查)→ 本技能
  • 修改表单结构(字段增删改)→ yida-create-form-page
  • 自定义页面调用连接器或外部 API 数据源 → yida-data-source-connectors
  • 表单接口(/v1/form/)vs 流程接口(/v1/process/)不能混用

触发条件

正向触发:

  • "查询数据"、"新增记录"、"更新数据"
  • "查看表单实例"、"发起流程"
  • "录入数据"、"批量导入"、"查询待办任务"

⚠️ 表单接口(/v1/form/)和流程接口(/v1/process/)不能混用。

危险操作确认

删除数据记录为不可逆操作,执行前必须:

  1. 展示将删除的记录摘要(数量 + 关键字段)
  2. 根据宿主是否支持 runtime permission/approval,只选择以下一条确认路径:
    • 宿主支持并会在执行删除命令前触发 runtime permission/approval:直接发起一次受保护的删除命令,由该唯一权限卡完成用户确认;无需且不得预先调用 ask_human
    • 宿主不支持 runtime permission/approval:必须先通过 ask_human 或等价交互工具获得用户明确确认;只有用户确认后才能执行删除,用户拒绝或未确认时不得执行
<!-- data-delete-contract:start -->
json
{
  "supportedDeleteCommand": "data delete form",
  "requiredTarget": ["appType", "formUuid", "formInstId", "formName", "formType"],
  "preflightCommand": "data get form",
  "businessConfirmationRequired": true,
  "runtimePermissionPreferred": true,
  "runtimePermissionPreconfirmation": "forbidden",
  "confirmationFallback": "ask_human_or_equivalent",
  "executionFlag": "--confirm",
  "successCondition": "deleted=true && readbackVerified=true",
  "repeatResult": "alreadyAbsent=true && mutationPerformed=false",
  "processDeleteSupported": false,
  "privateApiFallbackAllowed": false
}
<!-- data-delete-contract:end -->

表单与流程是两套独立接口,主键、参数、返回结构都不同,不能混用。

命令

data create/update 的 --data-json 和 --data-file 中,DateField 传毫秒时间戳数字,CascadeDateField 传毫秒时间戳数组;不要传日期字符串或秒级时间戳。按业务时区转换,示例见 日期字段格式。--resolve-aliases 只转换字段名,不转换日期值。

表单实例
bash
openyida data query form <appType> <formUuid> [--page 1 --size 20] [--search-json '<json>'|--search-file .cache/openyida/<项目名或任务名>/data-import/search.json] [--dynamic-order '{"fieldId":"+"}'] [--resolve-aliases]
openyida data get form <appType> --inst-id <formInstId>
openyida data create form <appType> <formUuid> --expect-form-name <name> --expect-form-type receipt --data-json '<json>' [--resolve-aliases]
openyida data create form <appType> <formUuid> --expect-form-name <name> --expect-form-type receipt --data-file .cache/openyida/<项目名或任务名>/data-import/record.json [--resolve-aliases]
openyida data update form <appType> --inst-id <formInstId> --form-uuid <formUuid> --expect-form-name <name> --expect-form-type receipt --data-json '<json>' [--resolve-aliases]
openyida data update form <appType> --inst-id <formInstId> --form-uuid <formUuid> --expect-form-name <name> --expect-form-type receipt --data-file .cache/openyida/<项目名或任务名>/data-import/patch.json [--resolve-aliases]
openyida data delete form <appType> <formUuid> --inst-id <formInstId> --expect-form-name <name> --expect-form-type receipt --confirm --json
openyida data query subform <appType> <formUuid> --inst-id <formInstId> --table-field-id <fieldId|alias> [--page 1 --size 100] [--resolve-aliases]

--data-file / --search-file 指向的文件先用 create_file / Write / file edit tool 创建。上方路径默认从 OpenYida project 工作目录执行;从 workspace 根执行命令时路径加 project/ 前缀。

当 JSON 使用宜搭组件别名作为 key 时,追加 --resolve-aliases,OpenYida 会先读取表单 Schema 中的 componentAlias.items,再将别名转换为真实 fieldId 后调用数据接口。更新类命令若要解析别名,必须额外传 --form-uuid <formUuid>。

子表超过 50 行

当 searchFormDatas 或 getFormDataById 返回的 formData.tableField_xxx 刚好是 50 行时,优先判断为详情接口对子表内嵌数据做了截断,不要直接下结论为"没有更多数据"。

正确处理流程:

  1. 先确认主记录的 formInstId 和子表真实 tableFieldId;如果只有别名,先执行 openyida get-schema 或给 query subform 追加 --resolve-aliases。
  2. 使用 openyida data query subform <appType> <formUuid> --inst-id <formInstId> --table-field-id <tableFieldId> --page 1 --size 100 查询子表第一页。
  3. 如果返回 totalCount 大于 data.length,继续按 currentPage/pageSize 翻页,或在脚本中复用 listTableDataByFormInstIdAndTableId 拉全量。
  4. 不要通过 DOM、虚拟滚动列表、页面全局变量抓取子表全量数据;这类方式依赖页面实现,不能作为稳定数据管理方案。

注意:searchFormDatas.currentPage 分页的是主表实例列表,不是某条实例里的子表行。把 currentPage 改为 2 后返回空,只能说明主表第二页没有记录,不能证明子表不支持分页。

不要把"创建自定义数据源"作为解决宜搭表单/子表 50 行截断的首选方案;只有在确实需要调用 HTTP 连接器、第三方接口或外部系统数据时,才切换到 yida-data-source-connectors。

Show full SKILL.md (310 more words)Show less
流程实例
bash
openyida data query process <appType> <formUuid> [--instance-status RUNNING] [--search-file .cache/openyida/<项目名或任务名>/data-import/process-search.json] [--resolve-aliases]
openyida data get process <appType> --process-inst-id <processInstanceId>
openyida data create process <appType> <formUuid> --process-code <processCode> --expect-form-name <name> --expect-form-type process --data-json '<json>' [--resolve-aliases]
openyida data create process <appType> <formUuid> --process-code <processCode> --expect-form-name <name> --expect-form-type process --data-file .cache/openyida/<项目名或任务名>/data-import/process-record.json [--resolve-aliases]
openyida data update process <appType> --process-inst-id <processInstanceId> --form-uuid <formUuid> --expect-form-name <name> --expect-form-type process --data-json '<json>' [--resolve-aliases]
openyida data update process <appType> --process-inst-id <processInstanceId> --form-uuid <formUuid> --expect-form-name <name> --expect-form-type process --data-file .cache/openyida/<项目名或任务名>/data-import/process-patch.json [--resolve-aliases]
openyida data query operation-records <appType> --process-inst-id <processInstanceId>
openyida data execute task <appType> --task-id <taskId> --process-inst-id <processInstanceId> --form-uuid <formUuid> --expect-form-name <name> --expect-form-type process --out-result AGREE --remark '同意' [--data-file .cache/openyida/<项目名或任务名>/data-import/task-data.json] [--resolve-aliases]
任务中心
bash
openyida data query tasks <appType> --type todo|done|submitted|cc [--page 1 --size 20]

接口总览

表单实例
接口方法说明
searchFormDatasGET查询列表
searchFormDataIdsGET查询 ID 列表
getFormDataByIdGET查询详情
saveFormDataPOST新增
updateFormDataPOST更新
deleteFormDataPOST删除单个普通表单实例;CLI 删除后必须回读不存在
listTableDataByFormInstIdAndTableIdGET查询子表数据
流程实例

当前 CLI 仅支持流程实例的查询、发起和更新,不支持删除。不要尝试 data delete process;收到 DATA_PROCESS_DELETE_UNSUPPORTED 后停止并交付能力缺口,不得改用脚本或私有 API。

接口方法说明
startProcessInstancePOST发起流程
getInstanceIdsGET查询 ID 列表
getInstancesGET查询列表
getInstanceByIdGET查询详情
updateInstancePOST更新
getOperationRecordsGET审批记录
executeTaskPOST执行任务
任务中心
接口说明
getTodoTasksInApp待办
getDoneTasksInApp已完成
getMySubmitInApp已提交
getNotifyMeTasksInApp抄送

数据格式

查询条件 searchFieldJson

必须传字符串:

json
[{"key":"textField_xxx","value":"测试","type":"TEXT","operator":"eq","componentName":"TextField"}]
保存/更新数据
json
{"textField_xxx":"文本","numberField_xxx":10,"dateField_xxx":1719705600000,"employeeField_xxx":["userId"]}

当 JSON 较长或用于批量导入时,使用结构化文件写入工具写入 <projectRoot>/.cache/openyida/<项目名或任务名>/data-import/<name>.json,再使用 --data-file 或 --search-file;不要为了拼接命令在仓库根目录、系统临时目录或 .cache/ 顶层生成临时脚本。openyida data create form/process 单次只提交一个实例 JSON,多条实例必须逐条/分批调用;不要把实例数组作为一个 --data-file 提交。

常见字段格式
组件类型查询格式保存格式
文本"文本""文本"
数字["1","10"] 或单值1
单选"选项一""选项一"
多选["选项一"]["选项一","选项二"]
日期[开始毫秒时间戳,结束毫秒时间戳]13 位毫秒时间戳
成员["userId"]["userId"]
部门["deptId"]["deptId"]
子表"模糊搜索"[{"textField_xxx":"值"}]
关联表单不支持直接查询[{"appType":"xxx","formUuid":"xxx","formType":"receipt","instanceId":"xxx","title":"关联记录标题"}]
日期字段写入约定
  • DateField 保存/更新值必须是 13 位毫秒时间戳,例如 1719705600000。
  • CascadeDateField 保存/更新值必须是毫秒时间戳数组,例如 [1719705600000,1722384000000]。
  • 生成测试数据时,先用 new Date('2024-06-30T00:00:00+08:00').getTime() 或等价方式转换,不要直接写 "2024-06-30"。
  • 日期字符串可能导致保存失败、字段为空,或后续报表/筛选异常。
bash
openyida data create form APP_xxx FORM-xxx --expect-form-name 合同信息 --expect-form-type receipt --data-json '{
  "textField_xxx": "测试记录",
  "dateField_xxx": 1719705600000,
  "cascadeDateField_xxx": [1719705600000,1722384000000]
}'
关联表单字段

关联表单字段保存时必须使用数组对象格式,每项包含五个必填字段;subTitle 可选,省略时 CLI 会补为空字符串:

bash
# 示例:创建带关联客户的商机
openyida data create form APP_xxx FORM-商机表 --expect-form-name 商机表 --expect-form-type receipt --data-json '{
  "textField_xxx": "商机名称",
  "associationFormField_xxx": [{"appType":"APP_xxx","formUuid":"FORM-客户表","formType":"receipt","instanceId":"FINST-xxx","title":"客户名称","subTitle":""}]
}'

注意:字段名是 instanceId(不是 formInstId)。appType、formUuid、formType、instanceId、title 五个字段缺一不可。

查询结果中的 associationFormField_xxx_id 是只读派生字段,只用于读取关联 ID;保存和更新必须写原始的 associationFormField_xxx 字段。

实现前准备

按字段设计结果创建结构化表单配置,再执行表单创建、更新或数据写入命令。字段 ID 和关联记录 ID 都来自真实 Schema 或查询结果。

注意事项

  • pageSize 一般写 50,最大 100,QPS 限制约 40 次/秒
  • searchFieldJson 和 dynamicOrder 必须传字符串
  • 需要稳定顺序的分页、比对或配对必须显式传 --dynamic-order '{"fieldId":"+"}'(升序)或 --dynamic-order '{"fieldId":"-"}'(降序);未传时不得依赖默认返回顺序
  • 字段 ID 通过 openyida get-schema 获取,不要手写猜测
  • 批量脚本可以用 Python subprocess 调用 openyida data ...,也可以用 JS 复用 Node 工具;脚本必须由结构化文件写入工具创建到 <projectRoot>/.cache/openyida/<项目名或任务名>/scripts/,导入数据放在 <projectRoot>/.cache/openyida/<项目名或任务名>/data-import/

异常处理

异常场景处理方式
查询返回空结果确认 formUuid 正确,检查查询条件是否过于严格
子表只返回 50 行不要翻 searchFormDatas.currentPage;使用 query subform / listTableDataByFormInstIdAndTableId 按 formInstId + tableFieldId 分页查询
新增数据后字段值为空字段 ID 有误,先执行 openyida get-schema 获取真实 fieldId
更新失败(formInstId 不存在)先用 query 命令确认记录存在,不要猜测 formInstId
接口返回 401/未登录执行 openyida login 重新登录
QPS 超限(429)降低请求频率,批量操作单次不超过 30 条
删除操作误删删除前必须展示操作摘要并获得用户明确确认,不可逆操作
流程接口用了表单接口路径检查接口路径:表单用 /v1/form/,流程用 /v1/process/

Agent 错误处理策略

当 Agent 执行本技能遇到错误时,必须遵循以下默认行为:

错误类型默认处理策略
命令执行失败停止执行,向用户展示错误信息,询问是否重试或调整参数
参数缺失(appType/formUuid/fieldId 等)主动询问用户补充,或引导用户使用 yida-get-schema 获取
权限不足 / 登录态失效停止执行,提示用户执行 openyida login 重新登录
字段 ID 无效停止执行,引导用户执行 openyida get-schema 获取真实字段 ID
删除操作前必须先展示操作摘要(数量 + 关键字段);宿主支持 runtime permission/approval 时直接发起一次受保护命令,不得预先调用 ask_human;宿主不支持时,必须先通过 ask_human 或等价交互工具获得用户明确确认
QPS 超限降低请求频率,单次批量操作不超过 30 条,间隔 1 秒重试
表单/流程接口混用停止执行,提示用户检查接口类型(表单用 /v1/form/,流程用 /v1/process/)
网络超时重试 1 次,仍失败则停止并提示用户检查网络
未知错误停止执行,完整展示错误信息,建议用户反馈问题

© openyida, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 3 other files (references) in yida-skills/skills/yida-data-management of openyida/openyida.

  • SKILL.md
  • references/api-matrix.md
  • references/data-format-guide.md
  • references/verified-endpoints.md

Open the folder on GitHubat commit 3dd4693

Compare with similar skills

Yida Data Management next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Yida Data Management compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Yida Data Management this skillopenyida/openyida220—~3.8kAutomated safety check: PassMIT
Yida DevLeoYeAI/openclaw-master-skills2.2k—~5kAutomated safety check: PassMIT
Yida Dashboardopenyida/openyida220—~1.4kAutomated safety check: PassMIT
Yida Appopenyida/openyida220—~2.2kAutomated safety check: PassMIT
Yida I18nopenyida/openyida220—~909Automated safety check: PassMIT
Yida Tingjiopenyida/openyida220—~283Automated safety check: PassMIT

Similar skills

  • Yida Dev

    LeoYeAI/openclaw-master-skills

    钉钉宜搭低代码开发助手。用于创建表单和自定义页面、编写 JS 动作面板、使用 JS-API、配置数据源、设计流程自动化。适用于宜搭表单开发、JS 代码调试、API 集成等场景。

    2.2k GitHub stars~5k tokensUpdated 2 mo ago
    Auto-check passed
  • Yida Dashboard

    openyida/openyida

    经营分析看板/驾驶舱/数据大屏产品化交付;用于指标判断、趋势分析或投屏监控,不用于普通待办工作台和办事门户。含真实数据、筛选联动、卡片截图、组织内短链和钉钉待办闭环。常规图表使用 yida-rechart;明确 ECharts、复杂 ECharts option 或维护旧图表时使用 yida-chart。普通统计优先 yida-report。

    220 GitHub stars~1.4k tokensUpdated 8 days ago
    Frontend & DesignAuto-check passed
  • Yida App

    openyida/openyida

    创建完整宜搭应用,或补齐已有应用时使用。先确认核心功能和实际用法;Fast 直接搭建,Plan 先确认方案。由 yida-prd 和 yida-design 同时准备业务与基础视觉,校验后创建或复用资源;表单/流程先于自定义页面。页面 UI 按已确认设计实现,代码示例按需参考;前后台都规划菜单顺序与默认页面,发布后分别验收实际入口。

    220 GitHub stars~2.2k tokensUpdated 8 days ago
    Product & Project ManagementAuto-check passed
  • Yida I18n

    openyida/openyida

    应用多语言管理。查询和维护宜搭应用的语言配置、文案词条、翻译状态、一键翻译和多语言升级。适用于全球化设置 / 多语言管理页面;需要应用已开通国际化能力包,或运行在 Global YiDA 环境(默认入口为 www.yidaapps.com,且支持客户自定义二级域名)。

    220 GitHub stars~909 tokensUpdated 8 days ago
    Frontend & DesignAuto-check passed
  • Yida Tingji

    openyida/openyida

    按 taskUuid 获取钉钉听记、会议录音转写、会议纪要或 AI 听记的完整详情;只负责读取内容。若用户要求转 PRD,先用本技能取内容,再交给 yida-flash-note-to-prd。

    220 GitHub stars~283 tokensUpdated 8 days ago
    Product & Project ManagementAuto-check passed
  • Yida Chart

    openyida/openyida

    ECharts 高级可视化报表。依赖宜搭原生报表 getDataAsync.json 接口获取聚合数据,禁止前端聚合。触发词:「更美观」「ECharts」「大屏」「定制化」。普通「报表」「统计」需求默认由 yida-report 处理。

    220 GitHub stars~1.7k tokensUpdated 8 days ago
    Auto-check passed

More from openyida/openyida

All 58 skills in this repo
  • Yida Canvas Custom Page

    openyida/openyida

    宜搭自定义页面开发规范,使用 YidaCodeCanvas 组件实现现代 React18 自定义页面。用于官网、看板、工作台、列表、详情、门户壳、可视化、hooks 交互、表单入口,以及需要门户组件、数据管理视图、成员、部门或上传组件的场景;发布层自动注入 yida/utils window 桥。

    220 GitHub stars~4.3k tokensUpdated 8 days ago
    Auto-check passed
  • Openyida Release

    openyida/openyida

    快速发布 OpenYida npm 正式版或测试版。用户说“发布正式版”“发布测试版”“发 beta”或要求按当天日期生成版本 tag 时使用;不用于宜搭应用或自定义页面发布。

    220 GitHub stars~520 tokensUpdated 8 days ago
    Auto-check passed
  • Yida Design Plan

    openyida/openyida

    Plan 模式的视觉设计分支。基于需求选择视觉方向,再结合业务页面规划维护 build-plan.json 的 visualStyle,供 CLI 派生 design.md。

    220 GitHub stars~756 tokensUpdated 8 days ago
    Auto-check passed
  • Prevent stale local OpenYida custom page source from overwriting live designer edits.

    220 GitHub stars~1.2k tokensUpdated 8 days ago
    Auto-check passed
  • Codemap

    openyida/openyida

    Generate, update, or drift-check agent-facing CodeMaps as progressive code terrain indexes for projects, features, capabilities, functions, modules, or bug chains.

    220 GitHub stars~1k tokensUpdated 8 days ago
    Auto-check passed
  • Sdd Riper One Light

    openyida/openyida

    面向 GPT-5.5 等强模型和熟练用户的轻量 AI Agent Harness / checkpoint-driven coding skill。默认用户已经把任务切到基本可执行的最小混沌单元;模型自行分解、探索与推进,人类通过最终目标、最小 spec、复述、checkpoint、证据验证与回写来低干扰控盘。

    220 GitHub stars~1.5k tokensUpdated 8 days ago
    Auto-check passed

Questions about Yida Data Management

What does Yida Data Management do?

宜搭数据管理。表单实例/子表/流程实例/任务中心的查询、新增、更新,以及普通表单单实例的精确删除。表单走 /v1/form/,流程走 /v1/process/,不能混用。. Yida Data Management is an agent skill from openyida/openyida.

How do I install Yida Data Management in Claude Code?

Run `npx skills add openyida/openyida --skill yida-data-management -a claude-code`. Or copy the skill folder (yida-skills/skills/yida-data-management in openyida/openyida) into .claude/skills/yida-data-management in your project. Claude Code loads it when a task matches its description.

How do I install Yida Data Management in Codex?

Run `npx skills add openyida/openyida --skill yida-data-management -a codex`. Or copy the skill folder (yida-skills/skills/yida-data-management in openyida/openyida) into .agents/skills/yida-data-management in your project. Codex loads it when a task matches its description.

Can I use Yida Data Management in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add openyida/openyida --skill yida-data-management -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/yida-data-management, .gemini/skills/yida-data-management, .github/skills/yida-data-management and .opencode/skills/yida-data-management in your project.

What does Yida Data Management need to run?

SKILL.md names no scripts, command-line tools or credentials: Yida Data Management is instructions for the agent only. Our summary lists: Python 3.

Does Yida Data Management access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Yida Data Management safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Yida Data Management use?

Yida Data Management is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Yida Data Management use?

About 3.8k tokens (SKILL.md is roughly 15k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 2.9k tokens, read only when the agent opens those files.

What are the alternatives to Yida Data Management?

Skills that share tags, products or a category with Yida Data Management: Yida Dev (LeoYeAI/openclaw-master-skills, 2.2k stars), Yida Dashboard (openyida/openyida, 220 stars), Yida App (openyida/openyida, 220 stars) and Yida I18n (openyida/openyida, 220 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Yida Data Management?

openyida (a GitHub organization) maintains it in openyida/openyida, which has 220 GitHub stars. The repository holds 58 skills in this directory. The repository was last updated on September 30, 2026.

Source: openyida/openyida on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.