CtrlK
BlogDocsLog inGet started
Tessl Logo

dingtalk-aitable

钉钉 AI 表格(多维表)业务操作与 CLI 契约评审。只评审 aitable 合成 JSON 回执也必须加载本 Skill;“不要执行线上业务”不等于免除本机离线契约核对,不能按通用 JSON 经验直接作答。评审以用户原文指定的核对入口为准;背景写命令不是额外目标,Agent 自拟的 Skill 参数不得扩大范围。用户给出 aitable 命令、form share 合成回执、dry-run 或询问写入恢复方案时也必须加载本 Skill;这是本机 Help/Schema 契约核对,不是仓库源码审查,不从源码搜索开始。先加载正文确定入口与规则,不能仅凭摘要执行。适用于 Base/Table、字段与记录、评论、筛选排序、公式、SQL/PostgreSQL/JOIN、表单分享与 CP 同步、App 页面/Widget、模板、导入导出、仪表盘/图表、附件及审批等数据源同步。不做电子表格单元格操作(走 dingtalk-misc)或文字文档编辑(走 dingtalk-doc)。

67

Quality

83%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide

SecuritybySnyk

Passed

No findings from the security scan

SKILL.md
Quality
Evals
Security

Quality

Content

75%Weight 40%Scale 1-5

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

An operationally dense, highly actionable contract document with excellent command-level specificity, explicit validation and error-recovery rules, and a genuinely well-wired one-level-deep reference system. Its costs are token weight: duplicated constraint bullets, ~250 lines of root-level detail (much of it form-share contract that has a natural home in a reference), and unnamed bundle scripts.

Suggestions

Remove the verbatim duplicate bullets in 执行约束/记录稳定约束 (ID-read-back, hasMore/partial_success, --verbose/raw/pretty, timestamp-reuse) — each rule appears twice within ~20 lines and can be stated once.

Move the 表单分享用法回答契约 and 返回值评审专用查询 sections into a reference file (e.g., alongside references/aitable/aitable-form.md) and keep only the routing table plus the two-line answer template in SKILL.md; this cuts roughly a quarter of the root file while preserving the trigger rules.

Name and link the five scripts in scripts/ (aitable_import_via_task.py, upload_attachment.py, etc.) from the body — currently the runtime contract only says published scripts exist, leaving the bundle's most executable assets undiscoverable.

DimensionReasoningScore

Conciseness

Almost all content is product-specific contract Claude could not know (routing tables, flag inventories, cursor-recovery rules), but there is real duplication: “复用 JSON 已返回字段,不以 --verbose/raw/pretty 重复请求” appears in both 执行约束 and 记录稳定约束 (lines 179/186), and “新增或更新只使用真实返回的 ID 回读…全量查询检查 hasMore…” is repeated verbatim within 记录稳定约束 (lines 196–197 vs 200–201), with the timestamp rule also stated twice (lines 178/185). This is the 'mostly efficient but could be tightened' anchor — noticeably better than the verbose padded anchor, but the literal duplicate bullets and the very dense 250-line root file keep it from 4.

3 / 5

Actionability

Guidance is fully executable: complete commands with flags (`dws aitable +record-query --base-id <ID> --table-id <ID> [--record-ids <IDs>]…`), exact one-shot discovery commands (`dws schema --cli-path "aitable form share get" --compact --format json`), a copy-paste-ready two-line answer template with placeholder conventions, and concrete JSON shapes like `{"options":[{"name":"<选项>"}]}`. This matches the anchor for copy-paste-ready commands covering the common cases.

5 / 5

Workflow Clarity

Multi-step flows are explicitly sequenced with validation checkpoints — the psql flow (`-l` discover → `-t` columns → `LIMIT 3` → `-c`), write-then-read-back-by-returned-ID, `hasMore`/`partial_success` checks, and a numbered 错误最短路径 with retry/stop rules, so it is above the 'most checkpoints, minor gaps' anchor. It falls short of 5 because the routing is a web of competing precedence rules (intent-routing table '优先于' schema navigation, the form-share gate '优先于' reference navigation, multiple 'not applicable to each other' carve-outs) that the reader must reconcile rather than one coherent sequence, and some checkpoints depend on cross-referenced references.

4 / 5

Progressive Disclosure

Structure is good and real: all 23 cited reference paths resolve to existing one-level-deep files (references/*.md and references/aitable/*.md), and the 按需加载 table maps each trigger condition to exactly one reference with an explicit “不要预加载这些 Reference” guard — matching the good-structure anchor. It stops short of 5 because substantial deep procedural detail (the ~55-line 表单分享用法回答契约 and 返回值评审专用查询 sections, and the inline DWS runtime contract block) is inlined in the root SKILL.md instead of the existing references/aitable/aitable-form.md-style split, and the five scripts in scripts/ are mentioned only generically (“本 Skill 明确发布的脚本”) with no names or paths.

4 / 5

Total

16

/

20

Passed

Description

92%Weight 40%Scale 1-5

Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.

A highly specific, well-triggered description with explicit what/when and explicit boundary routing to sibling skills. Its one weakness is length and density: procedural meta-instructions (“Agent 自拟的 Skill 参数不得扩大范围”, “先加载正文确定入口与规则”) inflate it well past a concise trigger description and mix internal jargon into otherwise natural trigger terms.

DimensionReasoningScore

Specificity

The description enumerates a comprehensive set of concrete capability domains — “Base/Table、字段与记录、评论、筛选排序、公式、SQL/PostgreSQL/JOIN、表单分享与 CP 同步、App 页面/Widget、模板、导入导出、仪表盘/图表、附件及审批等数据源同步” — plus concrete trigger artifacts (aitable 命令、form share 合成回执、dry-run、写入恢复方案). It is domain-listing rather than verb-per-action listing, but coverage is comprehensive and nothing is vague, matching the anchor for multiple specific concrete actions.

5 / 5

Completeness

Both questions are answered explicitly: 'what' via the opening capability sentence and the scope enumeration, and 'when' via the concrete trigger clause “用户给出 aitable 命令、form share 合成回执、dry-run 或询问写入恢复方案时也必须加载本 Skill”. This matches the anchor requiring both what and when with concrete trigger phrases; the added procedural meta-rules are noise but do not leave either half implicit.

5 / 5

Trigger Term Quality

Good natural-term coverage — “钉钉 AI 表格”, “多维表”, “aitable 命令”, “dry-run”, “写入恢复方案”, “表单分享” — but a substantial share of the text is internal contract jargon (“合成 JSON 回执”, “本机 Help/Schema 契约核对”, “CLI 契约评审”) that a user would not naturally say, so it falls just below the comprehensive-synonyms anchor. It is clearly above the 'some relevant keywords, missing variations' anchor because the key product names and both Chinese synonyms for the table product are present.

4 / 5

Distinctiveness Conflict Risk

The niche is unambiguous (DingTalk AITable via the `dws` CLI) and it ends with explicit exclusions routing adjacent intents elsewhere — “不做电子表格单元格操作(走 dingtalk-misc)或文字文档编辑(走 dingtalk-doc)” — giving minimal conflict risk with sibling skills, matching the clear-niche anchor.

5 / 5

Total

19

/

20

Passed

Validation

75%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation — 12 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

metadata_version

'metadata.version' is missing

Warning

metadata_field

'metadata' should map string keys to string values

Warning

relative_links

Relative link issues: 24 deeper-than-1-level

Warning

referenced_paths_exist

Referenced path issues: 24 deeper-than-1-level

Warning

Total

12

/

16

Passed

Repository
DingTalk-Real-AI/dingtalk-workspace-cli
Reviewed

Table of Contents

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.