CtrlK
BlogDocsLog inGet started
Tessl Logo

dingtalk-event

钉钉个人 IM 事件长连接监听、订阅与消费,覆盖消息接收、全部单聊/群消息、指定发送人、已读、撤回、表情回应和群生命周期,输出 NDJSON 到 stdout。Use when 用户提到 监听个人消息事件、监听所有单聊或群消息、被@消息、监听单聊或群消息、监听某人发送的消息、监听消息已读、监听消息撤回、监听消息贴表情或表情回应、监听群成员加入、监听群成员退出、监听群改名或群解散、实时接收钉钉事件、用事件驱动 Agent。命令前缀:dws event。

72

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

77%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 body is highly actionable with concrete commands and a well-sequenced, validation-checked workflow, but it is long and repeats catalog content that also lives in the reference, slightly hurting conciseness and the overview/reference split. Navigation to the bundle is clear and the reference is real.

Suggestions

Reduce duplication between SKILL.md and references/event-im.md: keep only the event catalog table once (in the reference) and summarize event categories inline in SKILL.md, linking out for the per-event parameter and rule details.

Move the elaborate '订阅创建失败与重试预算' and '本地保护状态运维' sections into references/event-im.md, leaving a concise retry-budget summary with the key retry counts (0/2/1) and a pointer inline.

Tighten the Examples block by consolidating the sixteen near-identical single-event snippets into one parameterized pattern plus a small table of event/required-flag mappings, keeping only the genuinely distinct multi-event and bounded-self-test examples verbatim.

DimensionReasoningScore

Conciseness

The body avoids explaining concepts Claude already knows and stays domain-specific, but at ~250 lines it duplicates material (the full event catalog recurs in references/event-im.md, and the Examples restate Command rules), so it could be tightened rather than earning 'every token earns its place'.

2 / 3

Actionability

It supplies copy-paste-ready commands ('dws event consume user_im_message_receive_o2o --user test-user-001 --flatten -f ndjson'), a Core commands table, and exact stdout markers like '[event] ready event_key=<key> bus_pid=<pid>', matching fully executable guidance.

3 / 3

Workflow Clarity

The 6-step Call flow is clearly sequenced with explicit validation checkpoints (wait for '[event] ready', '--dry-run' preview then '--yes'), destructive/batch guards (test-group-only disband with a re-warn of irreversibility, 'stop --all --dry-run'), and a troubleshooting feedback loop, so it is not capped at 2.

3 / 3

Progressive Disclosure

A real, clearly signaled one-level reference exists via the Topic index, but the body is itself a large comprehensive doc retaining inline content (full event catalog, retry budget, large Examples block) that duplicates / overlaps what belongs in the reference, fitting the 'content that should be separate is inline' anchor.

2 / 3

Total

10

/

12

Passed

Description

100%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.

A strong, concrete description that states capabilities and gives an explicit, natural-language 'Use when' trigger list scoped to a clearly distinctive DingTalk IM event niche. It is somewhat verbose due to the long trigger enumeration, but every part is concrete rather than fluffy.

DimensionReasoningScore

Specificity

Lists multiple concrete actions ('长连接监听、订阅与消费,覆盖消息接收…已读、撤回、表情回应和群生命周期,输出 NDJSON 到 stdout'), matching the anchor for listing several specific concrete actions rather than only naming a domain.

3 / 3

Completeness

It explicitly answers both what ('钉钉个人 IM 事件长连接监听、订阅与消费…') and when ('Use when 用户提到…') with explicit triggers, matching the anchor for clearly answering both what AND when.

3 / 3

Trigger Term Quality

The 'Use when' clause enumerates natural user phrases ('监听个人消息事件、被@消息、监听消息已读、监听消息撤回…实时接收钉钉事件') that a user would genuinely say, giving good coverage of natural terms.

3 / 3

Distinctiveness Conflict Risk

It carves a clear niche (DingTalk personal-IM event long-connection streaming) and pins it with '命令前缀:dws event', making it unlikely to trigger the wrong skill; voice is third person so no specificity penalty applies.

3 / 3

Total

12

/

12

Passed

Validation

100%

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

Validation16 / 16 Passed

Validation for skill structure

No warnings or errors.

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.