Yida Dev
LeoYeAI/openclaw-master-skills
钉钉宜搭低代码开发助手。用于创建表单和自定义页面、编写 JS 动作面板、使用 JS-API、配置数据源、设计流程自动化。适用于宜搭表单开发、JS 代码调试、API 集成等场景。
宜搭数据管理。表单实例/子表/流程实例/任务中心的查询、新增、更新,以及普通表单单实例的精确删除。表单走 /v1/form/,流程走 /v1/process/,不能混用。
$ npx skills add openyida/openyida --skill yida-data-management -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install openyida/openyida yida-data-management --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ 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-srcUse ~/.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/
Install the "yida-data-management" agent skill from https://github.com/openyida/openyida/tree/main/yida-skills/skills/yida-data-management into .claude/skills/yida-data-management/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "yida-data-management", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/openyida/openyida/tree/main/yida-skills/skills/yida-data-managementType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add openyida/openyida --skill yida-data-management -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install openyida/openyida yida-data-management --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/openyida/openyida.git skills-src && mkdir -p .agents/skills && cp -r skills-src/yida-skills/skills/yida-data-management .agents/skills/yida-data-management && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "yida-data-management" agent skill from https://github.com/openyida/openyida/tree/main/yida-skills/skills/yida-data-management into .agents/skills/yida-data-management/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "yida-data-management", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add openyida/openyida --skill yida-data-management -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install openyida/openyida yida-data-management --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/openyida/openyida.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/yida-skills/skills/yida-data-management .cursor/skills/yida-data-management && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "yida-data-management" agent skill from https://github.com/openyida/openyida/tree/main/yida-skills/skills/yida-data-management into .cursor/skills/yida-data-management/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "yida-data-management", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/openyida/openyida.git --path yida-skills/skills/yida-data-management--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add openyida/openyida --skill yida-data-management -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install openyida/openyida yida-data-management --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/openyida/openyida.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/yida-skills/skills/yida-data-management .gemini/skills/yida-data-management && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "yida-data-management" agent skill from https://github.com/openyida/openyida/tree/main/yida-skills/skills/yida-data-management into .gemini/skills/yida-data-management/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "yida-data-management", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install openyida/openyida yida-data-managementInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add openyida/openyida --skill yida-data-management -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/openyida/openyida.git skills-src && mkdir -p .github/skills && cp -r skills-src/yida-skills/skills/yida-data-management .github/skills/yida-data-management && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "yida-data-management" agent skill from https://github.com/openyida/openyida/tree/main/yida-skills/skills/yida-data-management into .github/skills/yida-data-management/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "yida-data-management", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add openyida/openyida --skill yida-data-management -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install openyida/openyida yida-data-management --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/openyida/openyida.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/yida-skills/skills/yida-data-management .opencode/skills/yida-data-management && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "yida-data-management" agent skill from https://github.com/openyida/openyida/tree/main/yida-skills/skills/yida-data-management into .opencode/skills/yida-data-management/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "yida-data-management", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
yida-data-management宜搭数据管理。表单实例/子表/流程实例/任务中心的查询、新增、更新,以及普通表单单实例的精确删除。表单走 /v1/form/,流程走 /v1/process/,不能混用。
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.
5 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 3dd4693. It shows what the files ask for, not the result of running them.
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.
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.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
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.
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.
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.
The full file from openyida/openyida at commit 3dd4693, republished under its MIT licence (© openyida). 806 words, ~3,828 tokens.
.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.涉及新增记录、生成测试数据、批量导入或发起流程时,必须连续完成下面 5 步;任一步断开都不算完成。
appType、资源名称、formUuid、formType;执行 openyida get-schema <appType> <formUuid> --field-map-json 获取真实 fieldId,必要时先 query 确认资源可读。--expect-form-name <真实名称> --expect-form-type receipt;流程写操作固定传 --expect-form-name <真实名称> --expect-form-type process。名称、UUID 或类型不一致时必须停止,不能改写成当前上下文里的其他资源。--data-json '<json>';长 JSON 或批量造数先用结构化文件写入工具创建到 .cache/openyida/<项目名或任务名>/data-import/<name>.json,创建后必须立刻调用对应 openyida data create ... --data-file <path>。openyida data create form/process 每次只创建一条实例;多条记录按单次不超过 30 条循环/分批逐条调用。不要把多条实例数组塞进一个 --data-file,除非该数组是某个子表字段的字段值。openyida data query form|process <appType> <formUuid> ... 抽查至少 1 条新记录,确认 formData 非空且包含本次写入字段值;流程记录可再用返回的 processInstanceId 执行 get process 复核。yida-app 从零生成完整应用时,表单创建完成后默认加载本技能,为核心业务普通表单写入 1-3 条业务化示例记录,再让自定义页面读取这些真实表单记录。
执行规则:
dataBinding.mode=form 依赖的核心普通表单默认写入;配置字典表、权限表、敏感个人数据表、纯附件表或用户明确说不要造数时跳过,并在 final 说明原因。openyida get-schema <appType> <formUuid> --field-map-json 获取真实 fieldId;保存数据使用真实 fieldId 或 --resolve-aliases 可解析别名,禁止猜测字段 ID。openyida data create form;不要把 1-3 条记录作为顶层数组塞进一个 --data-file。openyida data query form 抽查至少 1 条,并把写入数量和抽查结果交给 yida-app 页面阶段使用。--expect-form-name / --expect-form-type;create form 不会自动改为发起流程yida-create-form-pagetextField_eftt1aa5m),无法预测,必须通过 openyida get-schema 获取cat/echo/printf/tee 或重定向生成 --data-file、--search-file、CSV 或一次性脚本openyida data create form/process 的批量实例导入;顶层数组只适用于子表字段值等字段内部结构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.jsonDateField 传毫秒时间戳数字(如 1719705600000),CascadeDateField 传毫秒时间戳数组;不要传日期字符串。转换方法见 日期字段格式openyida data query 抽查至少 1 条记录,确认 formData 中字段有实际值(非空),否则说明字段 ID 有误,需重新排查openyida data query subform 或 listTableDataByFormInstIdAndTableId 分页查询完整子表;不要把 searchFormDatas.currentPage 当作子表分页<projectRoot>/.cache/openyida/<项目名或任务名>/ 下,并复用真实查询到的 appType/formUuid/fieldId/formInstId.cache/ 顶层生成导入用的 *.json、*.js、*.py、*.csv 临时文件;推荐使用 <projectRoot>/.cache/openyida/<项目名或任务名>/data-import/ 存放数据文件,<projectRoot>/.cache/openyida/<项目名或任务名>/scripts/ 存放一次性执行脚本mkdir 或只创建 .cache/openyida/.../*.json.json、.js、.py 或 CSV 脚本/数据文件,但未执行 openyida data create ...openyida auth status、openyida login --check-only、openyida agent-capabilities 或 openyida get-schemaopenyida data create ... 报错、无返回,或未对每条实例执行 createopenyida data query ... 抽查,或抽查结果的 formData 为空appType、formUuid;流程表单已确认 processCodefieldId--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-pageyida-data-source-connectors/v1/form/)vs 流程接口(/v1/process/)不能混用正向触发:
⚠️ 表单接口(
/v1/form/)和流程接口(/v1/process/)不能混用。
删除数据记录为不可逆操作,执行前必须:
ask_humanask_human 或等价交互工具获得用户明确确认;只有用户确认后才能执行删除,用户拒绝或未确认时不得执行<!-- data-delete-contract:start -->
{
"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 只转换字段名,不转换日期值。
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>。
当 searchFormDatas 或 getFormDataById 返回的 formData.tableField_xxx 刚好是 50 行时,优先判断为详情接口对子表内嵌数据做了截断,不要直接下结论为"没有更多数据"。
正确处理流程:
formInstId 和子表真实 tableFieldId;如果只有别名,先执行 openyida get-schema 或给 query subform 追加 --resolve-aliases。openyida data query subform <appType> <formUuid> --inst-id <formInstId> --table-field-id <tableFieldId> --page 1 --size 100 查询子表第一页。totalCount 大于 data.length,继续按 currentPage/pageSize 翻页,或在脚本中复用 listTableDataByFormInstIdAndTableId 拉全量。注意:searchFormDatas.currentPage 分页的是主表实例列表,不是某条实例里的子表行。把 currentPage 改为 2 后返回空,只能说明主表第二页没有记录,不能证明子表不支持分页。
不要把"创建自定义数据源"作为解决宜搭表单/子表 50 行截断的首选方案;只有在确实需要调用 HTTP 连接器、第三方接口或外部系统数据时,才切换到 yida-data-source-connectors。
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]openyida data query tasks <appType> --type todo|done|submitted|cc [--page 1 --size 20]| 接口 | 方法 | 说明 |
|---|---|---|
searchFormDatas | GET | 查询列表 |
searchFormDataIds | GET | 查询 ID 列表 |
getFormDataById | GET | 查询详情 |
saveFormData | POST | 新增 |
updateFormData | POST | 更新 |
deleteFormData | POST | 删除单个普通表单实例;CLI 删除后必须回读不存在 |
listTableDataByFormInstIdAndTableId | GET | 查询子表数据 |
当前 CLI 仅支持流程实例的查询、发起和更新,不支持删除。不要尝试 data delete process;收到
DATA_PROCESS_DELETE_UNSUPPORTED 后停止并交付能力缺口,不得改用脚本或私有 API。
| 接口 | 方法 | 说明 |
|---|---|---|
startProcessInstance | POST | 发起流程 |
getInstanceIds | GET | 查询 ID 列表 |
getInstances | GET | 查询列表 |
getInstanceById | GET | 查询详情 |
updateInstance | POST | 更新 |
getOperationRecords | GET | 审批记录 |
executeTask | POST | 执行任务 |
| 接口 | 说明 |
|---|---|
getTodoTasksInApp | 待办 |
getDoneTasksInApp | 已完成 |
getMySubmitInApp | 已提交 |
getNotifyMeTasksInApp | 抄送 |
searchFieldJson必须传字符串:
[{"key":"textField_xxx","value":"测试","type":"TEXT","operator":"eq","componentName":"TextField"}]{"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"。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 会补为空字符串:
# 示例:创建带关联客户的商机
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":"-"}'(降序);未传时不得依赖默认返回顺序openyida get-schema 获取,不要手写猜测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 执行本技能遇到错误时,必须遵循以下默认行为:
| 错误类型 | 默认处理策略 |
|---|---|
| 命令执行失败 | 停止执行,向用户展示错误信息,询问是否重试或调整参数 |
| 参数缺失(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
SKILL.md and 3 other files (references) in yida-skills/skills/yida-data-management of openyida/openyida.
Open the folder on GitHubat commit 3dd4693
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.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Yida Data Management this skillopenyida/openyida | 220 | — | ~3.8k | Automated safety check: Pass | MIT | |
| Yida DevLeoYeAI/openclaw-master-skills | 2.2k | — | ~5k | Automated safety check: Pass | MIT | |
| Yida Dashboardopenyida/openyida | 220 | — | ~1.4k | Automated safety check: Pass | MIT | |
| Yida Appopenyida/openyida | 220 | — | ~2.2k | Automated safety check: Pass | MIT | |
| Yida I18nopenyida/openyida | 220 | — | ~909 | Automated safety check: Pass | MIT | |
| Yida Tingjiopenyida/openyida | 220 | — | ~283 | Automated safety check: Pass | MIT |
LeoYeAI/openclaw-master-skills
钉钉宜搭低代码开发助手。用于创建表单和自定义页面、编写 JS 动作面板、使用 JS-API、配置数据源、设计流程自动化。适用于宜搭表单开发、JS 代码调试、API 集成等场景。
openyida/openyida
经营分析看板/驾驶舱/数据大屏产品化交付;用于指标判断、趋势分析或投屏监控,不用于普通待办工作台和办事门户。含真实数据、筛选联动、卡片截图、组织内短链和钉钉待办闭环。常规图表使用 yida-rechart;明确 ECharts、复杂 ECharts option 或维护旧图表时使用 yida-chart。普通统计优先 yida-report。
openyida/openyida
创建完整宜搭应用,或补齐已有应用时使用。先确认核心功能和实际用法;Fast 直接搭建,Plan 先确认方案。由 yida-prd 和 yida-design 同时准备业务与基础视觉,校验后创建或复用资源;表单/流程先于自定义页面。页面 UI 按已确认设计实现,代码示例按需参考;前后台都规划菜单顺序与默认页面,发布后分别验收实际入口。
openyida/openyida
应用多语言管理。查询和维护宜搭应用的语言配置、文案词条、翻译状态、一键翻译和多语言升级。适用于全球化设置 / 多语言管理页面;需要应用已开通国际化能力包,或运行在 Global YiDA 环境(默认入口为 www.yidaapps.com,且支持客户自定义二级域名)。
openyida/openyida
按 taskUuid 获取钉钉听记、会议录音转写、会议纪要或 AI 听记的完整详情;只负责读取内容。若用户要求转 PRD,先用本技能取内容,再交给 yida-flash-note-to-prd。
openyida/openyida
ECharts 高级可视化报表。依赖宜搭原生报表 getDataAsync.json 接口获取聚合数据,禁止前端聚合。触发词:「更美观」「ECharts」「大屏」「定制化」。普通「报表」「统计」需求默认由 yida-report 处理。
openyida/openyida
宜搭自定义页面开发规范,使用 YidaCodeCanvas 组件实现现代 React18 自定义页面。用于官网、看板、工作台、列表、详情、门户壳、可视化、hooks 交互、表单入口,以及需要门户组件、数据管理视图、成员、部门或上传组件的场景;发布层自动注入 yida/utils window 桥。
openyida/openyida
快速发布 OpenYida npm 正式版或测试版。用户说“发布正式版”“发布测试版”“发 beta”或要求按当天日期生成版本 tag 时使用;不用于宜搭应用或自定义页面发布。
openyida/openyida
Plan 模式的视觉设计分支。基于需求选择视觉方向,再结合业务页面规划维护 build-plan.json 的 visualStyle,供 CLI 派生 design.md。
openyida/openyida
Prevent stale local OpenYida custom page source from overwriting live designer edits.
openyida/openyida
Generate, update, or drift-check agent-facing CodeMaps as progressive code terrain indexes for projects, features, capabilities, functions, modules, or bug chains.
openyida/openyida
面向 GPT-5.5 等强模型和熟练用户的轻量 AI Agent Harness / checkpoint-driven coding skill。默认用户已经把任务切到基本可执行的最小混沌单元;模型自行分解、探索与推进,人类通过最终目标、最小 spec、复述、checkpoint、证据验证与回写来低干扰控盘。
宜搭数据管理。表单实例/子表/流程实例/任务中心的查询、新增、更新,以及普通表单单实例的精确删除。表单走 /v1/form/,流程走 /v1/process/,不能混用。. Yida Data Management is an agent skill from openyida/openyida.
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.
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.
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.
SKILL.md names no scripts, command-line tools or credentials: Yida Data Management is instructions for the agent only. Our summary lists: Python 3.
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.
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.
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.
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.
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.
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.