CtrlK
BlogDocsLog inGet started
Tessl Logo

channel-formatting

Convert Claude's Markdown output to each channel's native text syntax before delivery. Adds zero-dependency formatting for WhatsApp, Telegram, and Slack (marker substitution). Also ships a Signal rich-text helper (parseSignalStyles) used by the Signal skill.

67

Quality

84%

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

96%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 exemplary single-file skill body: fully executable commands, a phased workflow with real validation gates and conflict-recovery feedback loops, and near-zero token waste. The only structural nit is inline cross-skill API detail in the Signal integration section that could be moved to a reference file as the skill grows.

DimensionReasoningScore

Conciseness

The body is lean and assumes Claude's competence: it contains no conceptual explanations, only commands and channel-specific facts Claude could not know (marker mappings, the upstream remote, merge branch, and the exact test count). Every token earns its place, matching the lean-and-efficient anchor.

5 / 5

Actionability

Fully executable throughout: copy-paste bash/git/npm commands for every step, a concrete spot-check prompt that elicits formatted output, a TypeScript import example for the Signal integration, and both macOS (launchctl) and Linux (systemctl) restart variants. This matches the copy-paste-ready anchor at 5.

5 / 5

Workflow Clarity

The three-phase sequence is explicit with strong checkpoints: an idempotency pre-flight ('test -f src/text-styles.ts'), a validation gate ('All 73 tests should pass and the build should be clean before continuing'), merge-conflict recovery guidance, and a verify phase with rebuild, live spot-check, and log inspection. This matches the clear-sequence-with-explicit-validation and error-recovery anchor at 5.

5 / 5

Progressive Disclosure

Sections are clearly organized with no external files needed, and each phase is well signaled. The minor gap keeping it below 5 is that the Signal Skill Integration section inlines API-reference detail (the return shape and the signal-cli '"start:length:STYLE"' JSON-RPC parameter format) for another skill's consumption — content that would sit better in a signaled reference file if the bundle grows. It is well above the some-structure level of 3.

4 / 5

Total

19

/

20

Passed

Description

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

The description communicates a clear, concrete capability with good channel-specific keywords in third-person voice, but it omits any 'Use when...' trigger guidance, which caps completeness and weakens discoverability. Adding an explicit when-to-use clause and a couple of natural trigger phrases would lift it to the top band.

Suggestions

Add an explicit trigger clause, e.g. 'Use when sending messages to WhatsApp, Telegram, or Slack, or when responses show raw Markdown markers like **bold** instead of native formatting.'

Include natural user phrasings such as 'message formatting', 'bold/italic', or 'rich text' to broaden trigger-term coverage.

Mention Discord passthrough (or the full channel list the body covers) so the capability scope in the description matches the skill.

DimensionReasoningScore

Specificity

Lists several concrete actions with named artifacts ('Convert Claude's Markdown output to each channel's native text syntax', 'zero-dependency formatting for WhatsApp, Telegram, and Slack (marker substitution)', 'Signal rich-text helper (parseSignalStyles)'), but coverage has minor gaps — Discord passthrough and the actual marker transformations are not mentioned, so it falls short of the comprehensive anchor at 5 while clearly exceeding the 1-2-action level of 3.

4 / 5

Completeness

The 'what' is clear and concrete (channel-native Markdown conversion plus a Signal helper), but there is no 'Use when...' clause or any equivalent explicit trigger guidance, which the rubric guidelines cap at 3. It cannot score 4 because the 'when' is not even weakly implied.

3 / 5

Trigger Term Quality

Good natural keyword coverage including 'Markdown', 'formatting', and the channel names 'WhatsApp', 'Telegram', 'Slack', and 'Signal'. A few natural terms users would say are missing ('bold', 'italics', 'message formatting', 'rich text'), which keeps it below the comprehensive-synonym coverage of 5 but comfortably above the partial coverage of 3.

4 / 5

Distinctiveness Conflict Risk

A clear niche (per-channel outbound text formatting) with distinct channel-name triggers, so it is unlikely to fire for the wrong skill. Minor overlap risk remains with closely related skills — it explicitly states the helper is 'used by the Signal skill' — placing it at the mostly-distinct anchor rather than the minimal-conflict anchor at 5.

4 / 5

Total

15

/

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

relative_links

Relative link issues: 1 missing

Warning

Total

15

/

16

Passed

Repository
jbaruch/nanoclaw-telegram
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.