CtrlK
BlogDocsLog inGet started
Tessl Logo

dingtalk-oa

钉钉 OA 审批。Use when 用户说 OA/审批/待处理审批/同意审批/拒绝审批/撤销审批/已发起审批/审批记录/批量审批。Distinct from dingtalk-todo(待办任务)、dingtalk-report(日志)。命令前缀:dws oa。

65

Quality

80%

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

Fix and improve this skill with Tessl

tessl review fix ./skills/multi/dingtalk-oa/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

87%Weight 40%Scale 1-3

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

The content is lean, highly actionable, and well-structured with one-level-deep references to a real command reference and scripts. The only weakness is workflow clarity: validation for irreversible/batch operations is present as a rule but not encoded as an explicit sequenced checkpoint with error-recovery feedback loops.

Suggestions

Add a short numbered sequence for the batch-approve flow (list pending → show summary → confirm → approve with --yes → report results) so the validation checkpoint is an explicit step rather than a standing rule.

Include a brief error-recovery note for approve/reject failures (e.g. re-run detail to reconfirm task-id, then retry), to add the validate→fix→retry feedback loop the rubric rewards.

DimensionReasoningScore

Conciseness

The body is lean — a prerequisite note, shortcuts table, intent table, danger note, and cross-product note — with no padded explanations of OA or approval concepts Claude already knows. The experimental/safety preambles are verbose but purposeful; every section earns its place. Not below 3 because there is no concept-explaining fluff despite minor preamble weight.

3 / 3

Actionability

The intent table and shortcuts table give concrete, copy-paste-ready commands with real flags and placeholders (e.g. 'dws oa approval approve --instance-id <id> --task-id <taskId>', 'python scripts/oa_pending_review.py --days 7'). Matches the anchor for fully executable commands and specific examples.

3 / 3

Workflow Clarity

A validation gate exists for the irreversible approve/reject and batch operations ('必须先向用户展示摘要并获得明确同意,再加 --yes' and '(需用户确认)'), and routing hierarchy is clear, but there is no explicit sequenced validate→fix→retry feedback loop and the batch flow delegates to the script without an inline checkpoint sequence. Not a 3 because validation is stated as a rule rather than an explicit numbered checkpoint with error recovery; not a 1 because steps and a safety gate are present.

2 / 3

Progressive Disclosure

The body is a concise overview pointing to a real one-level-deep reference ('命令参考:[oa.md](references/oa.md)', 403 lines) and two real scripts; oa.md does not nest into further reference docs. Matches the anchor for a clear overview with well-signaled one-level-deep references and appropriately split content.

3 / 3

Total

11

/

12

Passed

Description

72%Weight 40%Scale 1-3

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

The description has excellent trigger-term coverage and clear distinctiveness from sibling skills, with an explicit 'Use when' clause. Its main weakness is that it names the domain but does not enumerate the concrete capability actions the skill performs.

Suggestions

Add one phrase enumerating concrete capabilities, e.g. '查询待处理审批、同意/拒绝审批、撤销审批、查看审批详情与记录'.

Keep the existing 'Use when' trigger list and distinctiveness note — they are the strongest parts of the description.

DimensionReasoningScore

Specificity

It names the domain ('钉钉 OA 审批') and command prefix ('dws oa') but does not enumerate concrete capability actions, only listing trigger terms rather than what the skill does. Not a 3 because no specific actions (query pending, approve, reject, revoke, list initiated) are stated as capabilities; not a 1 because the domain is clearly named rather than vague.

2 / 3

Completeness

The 'when' is explicitly and strongly answered via the 'Use when' clause, but the 'what' is only the bare domain label with no described capabilities. Anchor 3 requires both what AND when clearly answered; the thin 'what' caps it at 2.

2 / 3

Trigger Term Quality

The 'Use when 用户说 OA/审批/待处理审批/同意审批/拒绝审批/撤销审批/已发起审批/审批记录/批量审批' clause gives broad, natural-language coverage of exactly what a user would say. Matches the anchor for good coverage of natural terms.

3 / 3

Distinctiveness Conflict Risk

'Distinct from dingtalk-todo(待办任务)、dingtalk-report(日志)' plus a dedicated command prefix 'dws oa' carves a clear niche unlikely to conflict with sibling skills. Matches the anchor for a clear niche with distinct triggers.

3 / 3

Total

10

/

12

Passed

Validation

81%

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

Validation13 / 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

frontmatter_unknown_keys

Unknown frontmatter key(s) found; consider removing or moving to metadata

Warning

Total

13

/

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.