CtrlK
BlogDocsLog inGet started
Tessl Logo

rich-messaging

富媒体消息发送:语音、图片、卡片、清单、代码 diff、交互选择。 Use when: 发语音、发图、发卡片、展示结构化信息、长结构化汇报、想发一堆文字/日志/步骤、庆祝、给我听听、给我看看、让用户选、确认操作。 Not for: 纯文字聊天、技术讨论、日常回复。 Output: rich block 附着在消息上。

68

Quality

82%

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

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

Highly actionable body with concrete per-kind examples and a useful error/pitfall table, weakened by implicit workflow checkpoints and a referenced file (refs/rich-blocks.md) absent from the bundle.

Suggestions

Trim persona flavor text (e.g. "猫猫朋友看不懂上下文", "我是文字猫") and the unexplained "operator拍板" line to tighten conciseness.

Add a single numbered send sequence with an explicit checkpoint, e.g. 1) call get_rich_block_rules on first use, 2) write 1-2 sentence summary, 3) send block, 4) confirm block rendered.

Either include refs/rich-blocks.md in the bundle or remove the reference and rely solely on get_rich_block_rules so signaled references resolve to real files.

DimensionReasoningScore

Conciseness

Mostly efficient and explicitly delegates field specs to get_rich_block_rules / refs, but cat-persona asides ("猫猫朋友看不懂上下文", "我是文字猫") and the opaque "operator拍板" line add tokens that don't aid the task.

2 / 3

Actionability

Copy-paste JSON examples for all eight block kinds plus exact tool (cat_cafe_create_rich_block) and field names, including the "字段是 kind 不是 type" pitfall — fully executable guidance.

3 / 3

Workflow Clarity

Steps exist across sections (首次使用 → 先调规则; 先文字后块; 发送方式) and the podcast-timeout row is an explicit feedback loop, but the core send flow lacks a single numbered sequence with explicit checkpoints.

2 / 3

Progressive Disclosure

Overview is well-organized (kind table, minimal examples) and detail is delegated one level deep to get_rich_block_rules and refs/rich-blocks.md, but the referenced refs/rich-blocks.md is not present in the bundle.

2 / 3

Total

9

/

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, well-scoped description: concrete capabilities, natural trigger phrasings, explicit use/non-use guidance, and a clear output contract. Third-person voice is maintained throughout.

DimensionReasoningScore

Specificity

Lists six concrete media actions — "语音、图片、卡片、清单、代码 diff、交互选择" — naming specific capabilities rather than vague categories.

3 / 3

Completeness

Explicitly answers both what ("富媒体消息发送") and when ("Use when:"), plus "Not for" and "Output" clauses for full orientation.

3 / 3

Trigger Term Quality

"Use when: 发语音、发图、发卡片…给我听听、给我看看、让用户选、确认操作" gives natural phrasings a user would actually say, reinforced by a dedicated triggers list.

3 / 3

Distinctiveness Conflict Risk

Clear niche (rich blocks) with a "Not for: 纯文字聊天、技术讨论、日常回复" clause that distinguishes it from ordinary chat skills.

3 / 3

Total

12

/

12

Passed

Validation

93%

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

Validation15 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

frontmatter_unknown_keys

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

Warning

Total

15

/

16

Passed

Repository
zts212653/clowder-ai
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.