CtrlK
BlogDocsLog inGet started
Tessl Logo

dingtalk-message

钉钉消息发送技能。支持企业内部机器人(批量单聊/群聊)和 Webhook 自定义机器人两种接入方式,支持多机器人管理,支持文本、Markdown、链接、ActionCard、FeedCard等多种消息类型。

56

Quality

66%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide

SecuritybySnyk

High

Do not use without reviewing

Fix and improve this skill with Tessl

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

Quality

Content

65%

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

The body is highly actionable with copy-paste-ready commands and a sensible section structure, but it is held back by repeated examples and by missing validation feedback loops for batch sends. Conciseness and workflow clarity are the weakest dimensions.

Suggestions

Deduplicate the `robot-add` examples (shown three times) into one canonical example and cross-reference it from the other sections to tighten conciseness.

Add an explicit validate→fix→retry loop for batch single-chat sends (e.g., on error 40009/40010, check recipient visibility/session and retry) to lift workflow clarity above 2.

Move the per-command flag reference into a separate reference file (or point to `dingtalk.py --help`) and keep SKILL.md as a concise overview to improve progressive disclosure.

DimensionReasoningScore

Conciseness

The body avoids explaining concepts Claude already knows and is dominated by executable commands, but the `robot-add` example is repeated three times (首次配置, 通过命令行添加, 机器人管理) and several webhook/config snippets recur, so it could be tightened. It is mostly efficient rather than verbose, so not a 1; the repetition keeps it from a 3.

2 / 3

Actionability

The body is filled with copy-paste-ready bash commands with real flags and concrete examples for every message type and management operation (e.g. `python scripts/dingtalk.py webhook-action-card --title ... --buttons ...`), matching the score-3 anchor of fully executable, specific guidance.

3 / 3

Workflow Clarity

The onboarding flow is a clear 3-step sequence with an explicit validation checkpoint (step 3: `config --show`), but the batch single-chat send operation (up to 100 users) lacks a validate→fix→retry feedback loop. Per the rubric's scoring notes, missing feedback loops in batch operations caps workflow clarity at 2.

2 / 3

Progressive Disclosure

Structure is reasonable with labeled sections and a single one-level-deep bundle (scripts/dingtalk.py) consistently referenced, but the 268-line body inlines a large command/API reference that could be split into a separate reference file, and there is no navigation pointer to the script's own help (`--help`). This matches the score-2 anchor of 'some structure, content that should be separate is inline' more than the cleanly-split score-3 case.

2 / 3

Total

9

/

12

Passed

Description

67%

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 is specific and occupies a clear, low-conflict DingTalk niche, but it omits an explicit 'Use when...' trigger clause and relies on platform jargon over natural user phrasings. Completeness and trigger-term quality are the limiting factors.

Suggestions

Add an explicit 'Use when...' trigger clause, e.g. 'Use when the user asks to send DingTalk (钉钉) messages, notifications, or alerts to individuals or groups', to raise completeness to 3.

Broaden trigger terms with natural user phrasings like '钉钉通知', '钉钉告警', and '发钉钉' alongside the message-type enum to improve trigger-term coverage.

Consider third-person action verbs ('Sends ...', 'Manages ...') to match the good-overall example voice.

DimensionReasoningScore

Specificity

Lists multiple concrete capabilities — "企业内部机器人(批量单聊/群聊)", "Webhook 自定义机器人", "多机器人管理", and an explicit message-type enum ("文本、Markdown、链接、ActionCard、FeedCard"), matching the score-3 anchor of several specific concrete actions. It goes beyond naming a domain, so it is not a 2.

3 / 3

Completeness

It clearly answers "what" (sends DingTalk messages via two access methods with listed types) but provides no "Use when..." clause or equivalent explicit trigger guidance for when Claude should invoke it. Per the rubric guideline, a missing trigger clause caps completeness at 2; it is not a 1 because the "what" is strong.

2 / 3

Trigger Term Quality

Core natural terms are present ("钉钉消息", "单聊", "群聊", "机器人"), but the list leans on DingTalk jargon ("ActionCard", "FeedCard", "企业内部机器人") and omits common user phrasings such as "钉钉通知", "钉钉告警", or "发钉钉". Coverage is partial rather than comprehensive, so it sits at 2 rather than 3.

2 / 3

Distinctiveness Conflict Risk

The DingTalk platform is a distinct, narrow niche with platform-specific terms ("钉钉", "Webhook", "企业内部机器人"), making it unlikely to trigger for unrelated skills. It is clearly distinguishable, matching the score-3 anchor rather than the overlapping score-2 case.

3 / 3

Total

10

/

12

Passed

Validation

87%

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

Validation14 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

frontmatter_unknown_keys

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

Warning

relative_links

Relative link issues: 2 missing

Warning

Total

14

/

16

Passed

Repository
agentscope-ai/ReMe
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.