CtrlK
BlogDocsLog inGet started
Tessl Logo

dingtalk-mail

钉钉邮箱读写、搜索、回复与转发。Use when 用户说发邮件/查邮件/回邮件/转发邮件/未读邮件/邮件搜索/邮箱附件。一句话发邮件时先用 dingtalk-contact 解析并确认收件人,再由本 skill 发送;不做钉钉消息(走 dingtalk-chat)、紧急通知(走 dingtalk-misc)。命令前缀:dws mail。

70

Quality

88%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide

SecuritybySnyk

Low

Low-risk findings worth noting

SKILL.md
Quality
Evals
Security

Quality

Content

88%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 excellent instruction-style skill body: fully executable commands, tightly sequenced SOPs with mandatory validation steps and safety gates for destructive/batch mail operations, and a lean overview that delegates detail to real, clearly-labeled reference and script files. The only refinements worth making are deduplicating the send-mail guidance between the intent table and SOP-3, trimming the shortcuts policy paragraph, and flattening or surfacing the nested recipes/conventions.md reference.

DimensionReasoningScore

Conciseness

The body is dense and operational — SOPs, command lines, and hard constraints with essentially no concept explanation Claude would already know — but a few spots could be tightened: the send flow appears in both the 意图表 and SOP-3, and the Shortcuts preamble's Schema/Help fallback policy paragraph is long. This fits 'efficient; minor instances of over-explanation that could be trimmed' rather than the every-token-earns-its-place ideal of a 5.

4 / 5

Actionability

Every workflow gives copy-paste-ready commands with full flags and placeholders (e.g., "dws mail message send --from <发件邮箱> --to <收件邮箱> --subject \"<主题>\" --content \"<正文>\" --format json", KQL examples like "subject:周报", and runnable scripts "python scripts/mail_unread_summary.py"), covering send, reply, forward, search, unread, and CC cases. This matches the top anchor of fully executable guidance covering common cases.

5 / 5

Workflow Clarity

The four SOPs are explicitly sequenced with 必须/禁止 markers at each step, and validation is built in: SOP-3 step 4 verifies delivery via the returned internetMessageId, batch-delete requires a command preview plus explicit user confirmation before appending --yes, and a single read-back ends the task with a defined conflict-report path. This matches the top anchor of clear sequencing with explicit validation and error-recovery behavior.

5 / 5

Progressive Disclosure

The body is a well-signaled overview pointing one level deep to real files (references/mail.md for command reference, 09-mail.md for multi-step scenarios, intent-guide.md, lite-recipes.md, and two scripts — all verified present), fitting 'good structure; references mostly clear'. It falls short of a 5 because references/recipes/conventions.md is nested two levels deep (reached only via 09-mail.md) and the mandatory ../dingtalk-shared/SKILL.md dependency lives outside the bundle, creating minor navigation gaps.

4 / 5

Total

18

/

20

Passed

Description

87%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 strong description that pairs concrete capability statements with an explicit 'Use when' trigger list and unusually good boundary demarcation against sibling DingTalk skills. The only weakness is slightly incomplete enumeration of capabilities and trigger synonyms relative to what the skill body actually supports.

DimensionReasoningScore

Specificity

The description names the domain (钉钉邮箱) and several concrete actions — "读写、搜索、回复与转发" — plus the routing behavior ("先用 dingtalk-contact 解析并确认收件人,再由本 skill 发送"), matching 'lists several specific actions; minor gaps'. It stops short of a 5 because capabilities the body actually covers (attachments, contacts, drafts, batch operations) are not stated.

4 / 5

Completeness

It explicitly answers both questions: what it does ("钉钉邮箱读写、搜索、回复与转发") and when to use it, via a literal "Use when 用户说…" clause with concrete trigger phrases. This matches the top anchor exactly; a 4 would require the 'when' to be less explicit, which it is not.

5 / 5

Trigger Term Quality

The explicit trigger list "用户说发邮件/查邮件/回邮件/转发邮件/未读邮件/邮件搜索/邮箱附件" covers natural phrasings a user would say across send/read/reply/forward/unread scenarios. A few common variations (e.g., 写邮件, 抄送, 草稿) are missing, which fits 'good keyword coverage; a few natural terms missing' rather than the comprehensive synonym coverage of a 5.

4 / 5

Distinctiveness Conflict Risk

The description carves out a clear niche with explicit non-goals and hand-offs: "不做钉钉消息(走 dingtalk-chat)、紧急通知(走 dingtalk-misc)" and "先用 dingtalk-contact 解析并确认收件人", plus a distinct command prefix ("dws mail"). Minimal conflict risk, matching the 'clear niche with distinct triggers' anchor.

5 / 5

Total

18

/

20

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.

Validation — 13 / 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: 1 suspicious

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.