CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

rich-messaging

在当前 Chat 直接交付可看、可听或可操作产物(语音、图片、截图、HTML/demo、卡片、清单、diff、交互选择),无需用户说“富文本”;纯文字与讨论/修改 HTML 源码不使用,复杂 localhost 应用用 browser-preview。

Quality

87%

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

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

A highly actionable decision guide: complete minimal examples for all eight block kinds, exact tool names and parameters, boundary tables, and real validation checkpoints. The main costs are token-level redundancy in the publishing rules, a workflow that must be assembled from several sections rather than one ordered sequence, and reliance on an out-of-bundle reference file for full field specs.

Suggestions

Consolidate the workspace raw-URL pattern and video-file rule so each appears once (e.g. only in '发送方式'), letting the 常见错误 table reference it in one line instead of restating the full URL pattern.

Add one short ordered checklist at the top of '发送方式' (decide surface → first-use get_rich_block_rules → write 1-2 sentence summary → publish via the right call → verify messageId) so the multi-path publishing flow reads as a single sequence with validation at each branch.

Bring the detailed field spec (or at least a pointer copy) inside the skill bundle under references/ so the '../.cat-cafe-shared-refs/rich-blocks.md' dependency does not break when the skill is used outside its home workspace.

DimensionReasoningScore

Conciseness

The body is dense with non-obvious domain rules Claude cannot infer (publish_image key/conflict semantics, 'DOMPurify 静默剥掉所有 on* 属性', the native-guard restriction on runtime '/uploads') rather than padded explanation, fitting the 4-anchor. It is not a 5 because the workspace raw-URL pattern and the video-file rule each appear twice ('发送方式' and again in '常见错误'), and long multi-clause paragraphs like the publish_image conflict rules could be tightened.

4 / 5

Actionability

Every one of the eight kinds has a minimal, copy-paste-ready JSON example ('{"id": "a1", "kind": "audio", ...}'), tool calls are named exactly ('cat_cafe_create_rich_block', 'get_rich_block_rules', 'cat_cafe_publish_image' with a concrete parameter example), and the 常见错误 table gives error→consequence→correct-action triples. This fully matches the 5-anchor's executable, case-covering guidance.

5 / 5

Workflow Clarity

Sequencing rules and checkpoints are present — '先写 1-2 句自然语言摘要,再发 block', '先判交付面,再判 block', first-use 'get_rich_block_rules', and explicit validations ('发之前 curl 一遍确认 200', '先确认该定位确实可读', the warning that '只收到"富块已创建"仍可能是 invocation buffer') plus a feedback loop for the podcast timeout. It stops short of 5 because the workflow is distributed across sections and tables rather than presented as one explicit ordered sequence with per-step validation.

4 / 5

Progressive Disclosure

Structure is good: an overview table of the eight kinds, minimal inline examples, and full field specs deferred one level deep to 'get_rich_block_rules' and '../.cat-cafe-shared-refs/rich-blocks.md', clearly signaled at both point of use and in the 参考 section — matching the 4-anchor. It is not a 5 because the only detailed reference lives outside the skill bundle and does not exist in this workspace (no references/ directory, no .cat-cafe-shared-refs/rich-blocks.md found), so navigation relies on an external path that cannot be verified here.

4 / 5

Total

17

/

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: it states a concrete, comprehensive capability set with explicit trigger boundaries and a clear redirect that separates it from the browser-preview skill. The only weaknesses are that the existing-file/video delivery capability is absent from the enumeration and the description leans on object nouns rather than the natural user phrasings captured in the triggers list.

Suggestions

Add '已有文件/视频成片' (the 'file' kind) to the artifact enumeration so the description covers all delivery capabilities the body supports.

Weave one or two natural user phrasings (e.g. '发语音' / '发图' / 'show me') into the description itself rather than relying solely on the frontmatter triggers list.

DimensionReasoningScore

Specificity

The description enumerates concrete deliverables — '语音、图片、截图、HTML/demo、卡片、清单、diff、交互选择' — plus boundary behavior ('复杂 localhost 应用用 browser-preview'), so it is well above the 3-anchor's 1-2 concrete actions. It is not a 5 because the body's 'file' kind (sending existing files and inline-playable video) is missing from the enumeration, a minor coverage gap.

4 / 5

Completeness

It clearly answers what ('在当前 Chat 直接交付可看、可听或可操作产物…') and gives explicit when-equivalent trigger guidance: no keyword required ('无需用户说"富文本"'), explicit exclusions ('纯文字与讨论/修改 HTML 源码不使用'), and an explicit redirect for the complex case. This matches the 5-anchor's explicit what-and-when with concrete triggers, exceeding the 4-anchor where 'when' is only weakly specified.

5 / 5

Trigger Term Quality

Natural object keywords users would recognize are present ('语音', '图片', '截图', '卡片', '清单', 'diff', '交互选择'), matching the 4-anchor's good coverage. It falls short of 5 because natural user phrasings like '发语音', '发图', '给我看看', 'show me' appear only in the frontmatter triggers list, not the description itself, so a few common variations are missing.

4 / 5

Distinctiveness Conflict Risk

The negative boundaries ('纯文字与讨论/修改 HTML 源码不使用') and the explicit handoff to a sibling skill ('复杂 localhost 应用用 browser-preview') carve out a clear niche with distinct triggers and minimal conflict risk, matching the 5-anchor rather than the 4-anchor where residual overlap remains unaddressed.

5 / 5

Total

18

/

20

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.

Validation — 15 / 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

Path

cat-cafe-skills/rich-messaging/SKILL.md

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.