CtrlK
BlogDocsLog inGet started
Tessl Logo

add-whatsapp

Add WhatsApp channel via native Baileys adapter. Direct connection — no Chat SDK bridge. Uses QR code or pairing code for authentication.

60

Quality

72%

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

Fix and improve this skill with Tessl

tessl review fix ./.claude/skills/add-whatsapp/SKILL.md
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 clear, well-validated workflows, but it is a long single file with some duplicated troubleshooting content and inline reference-style sections that could be split out, keeping conciseness and progressive disclosure at 2.

Suggestions

De-duplicate the "QR code or pairing code expired" and "Pairing code not working" sections, which repeat the same clear-auth-and-retry command and the same "Couldn't link device" server-side-rejection explanation nearly verbatim.

Move the Channel Info, Alternatives, and Troubleshooting sections into a reference file (e.g. references/TROUBLESHOOTING.md) and link to them from a leaner SKILL.md overview to improve progressive disclosure.

Trim explanatory rationale paragraphs (e.g. the stale-adapter skew and migration-audit background) where the adjacent commands already make the required action clear.

DimensionReasoningScore

Conciseness

Mostly efficient and free of basic-concept filler, but at ~525 lines it repeats near-verbatim troubleshooting (the "Couldn't link device" explanation and the pairing-code command appear in both the "QR code or pairing code expired" and "Pairing code not working" sections) and carries lengthy rationale prose that could be tightened, so it is not the every-token-earns-its-place anchor at 3.

2 / 3

Actionability

Provides exact pinned dependency versions, concrete file paths, nc: directive fences, SQL queries, sed/grep one-liners, and validate regexes that are copy-paste ready, matching the fully-executable anchor.

3 / 3

Workflow Clarity

Numbered Apply steps are sequenced with explicit validation checkpoints (build then test, [ -n "{{bot_phone}}" ], "{{chat_phone}}" != "{{bot_phone}}"), gating ("Restart only after ASSISTANT_HAS_OWN_NUMBER / ASSISTANT_NAME land in .env"), and error-recovery feedback loops, matching the clear-sequence-with-validation anchor.

3 / 3

Progressive Disclosure

Has well-organized sections and one real one-level-deep reference (the bundled scripts/wa-qr-browser.ts), but it is a large monolithic SKILL.md with Channel Info, Alternatives, and Troubleshooting inline; at far over 50 lines the simple-skill leniency does not apply, so it stops short of the appropriately-split anchor at 3.

2 / 3

Total

10

/

12

Passed

Description

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

The description is concrete and distinctive, but it omits an explicit "Use when..." trigger clause and leans on adapter jargon over natural user phrasing, capping completeness and trigger-term quality at 2.

Suggestions

Append an explicit trigger clause, e.g. "Use when adding WhatsApp to NanoClaw, connecting a WhatsApp number, or when the user mentions WhatsApp / a QR or pairing-code link."

Add natural user-facing variations ("WhatsApp number", "connect WhatsApp", "link WhatsApp") alongside the existing terms so it matches what users actually say.

Move or soften the jargon ("native Baileys adapter", "Chat SDK bridge") so the opening clause leads with the user-recognizable action before the implementation detail.

DimensionReasoningScore

Specificity

Lists multiple concrete actions — "Add WhatsApp channel", "native Baileys adapter", "Direct connection — no Chat SDK bridge", and "QR code or pairing code for authentication" — matching the multiple-specific-actions anchor rather than the domain-only anchor at 2.

3 / 3

Completeness

Clearly states what the skill does but has no "Use when..." trigger clause; the judging guideline caps completeness at 2 when explicit trigger guidance is missing.

2 / 3

Trigger Term Quality

Includes natural terms ("WhatsApp", "QR code", "pairing code") but mixes in technical jargon ("Baileys adapter", "Chat SDK bridge") and omits common user variations like "WhatsApp number" or "connect/link WhatsApp", so it is not the full-coverage anchor at 3.

2 / 3

Distinctiveness Conflict Risk

Occupies a clear WhatsApp-only niche and "no Chat SDK bridge" even distinguishes it from a cloud alternative, so it is unlikely to trigger for the wrong skill.

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

skill_md_line_count

SKILL.md is long (525 lines); consider splitting into references/ and linking

Warning

referenced_paths_exist

Referenced path issues: 5 missing

Warning

Total

14

/

16

Passed

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