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

71%

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

81%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 strong, highly executable procedural skill with explicit validation checkpoints, feedback loops, and a clearly signaled one-level script reference. Its main weakness is duplicated troubleshooting prose that inflates the token budget without adding information.

Suggestions

Merge the 'QR code or pairing code expired' and 'Pairing code not working' troubleshooting subsections — they repeat the same ~60s expiry note, the same `rm -rf store/auth/` re-run command, and the same 'Couldn't link device' server-side-rejection explanation.

Consider moving the 'Migration audit: spam-era group wirings' and 'Channel Info' blocks into a separate reference file referenced one level deep, to keep SKILL.md focused on the install workflow.

Tighten the explanatory prose around a few `nc:` directives (e.g. the idempotency paragraph and the repeated 'written in both modes' rationale) where the reasoning is stated more than once.

DimensionReasoningScore

Conciseness

Mostly efficient and assumes Claude's intelligence (no generic 'what is WhatsApp' padding), but the two pairing-code troubleshooting subsections repeat near-identical guidance (expiry, rm -rf command, 'Couldn't link device' server-side rejection) that could be consolidated.

3 / 5

Actionability

Fully executable throughout: concrete `nc:copy/append/dep` directives, exact `pnpm exec tsx setup/index.ts --step whatsapp-auth -- --method qr` commands, grep/sed `.env` edits, and `ncl`/`scripts/q.ts` queries that are copy-paste ready and cover the common cases (QR, pairing-code, headless, re-link).

5 / 5

Workflow Clarity

Clear sequenced process (safety check → Apply 1-4 → Authenticate → Restart → Resolve DM → Next Steps) with explicit validation checkpoints (`[ -n "{{bot_phone}}" ]`, `[ "{{chat_phone}}" != "{{bot_phone}}" ]`, build-then-test) and feedback loops (clear `store/auth/` and re-run; the numbered 'Bot not responding' diagnostic checklist).

5 / 5

Progressive Disclosure

Well-organized into clearly headed sections with one one-level-deep bundle reference (`scripts/wa-qr-browser.ts`) signaled with its exact path in Alternatives; the remaining content is procedural and legitimately belongs inline, though the migration-audit and channel-info blocks could arguably be split out.

4 / 5

Total

17

/

20

Passed

Description

61%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 is concrete and distinct, naming the adapter and auth methods in third person, but it omits any explicit 'when to use' trigger guidance and lists only a narrow set of actions. Adding a 'Use when…' clause with natural trigger phrases would raise both completeness and trigger-term quality.

Suggestions

Append a 'Use when…' clause naming natural triggers, e.g. 'Use when adding WhatsApp messaging to NanoClaw, linking a WhatsApp number, or when the user mentions WhatsApp, QR codes, or pairing codes.'

Broaden the action list slightly (e.g. 'copy the adapter, register it, link the device, wire the DM channel') to lift specificity from 3 toward 4-5.

Add a synonym such as 'WhatsApp Web' or 'linked device' alongside 'Baileys adapter' to improve trigger-term coverage for non-technical users.

DimensionReasoningScore

Specificity

Names the domain ('WhatsApp channel') and a couple concrete actions ('via native Baileys adapter', 'QR code or pairing code for authentication'), but coverage is limited to adding and authenticating rather than a comprehensive action list.

3 / 5

Completeness

The 'what' is clear ('Add WhatsApp channel via native Baileys adapter…Uses QR code or pairing code for authentication'), but there is no 'Use when…' clause or equivalent explicit trigger guidance, capping completeness at 3 per the rubric.

3 / 5

Trigger Term Quality

Includes natural terms a user would say — 'WhatsApp', 'QR code', 'pairing code' — alongside the more technical 'Baileys adapter'; missing a few synonyms (e.g. 'WhatsApp Web', 'linked device').

4 / 5

Distinctiveness Conflict Risk

The 'native Baileys adapter / no Chat SDK bridge' framing carves a clear niche distinct from generic channel skills, with minor overlap risk only against a closely related Meta Cloud skill.

4 / 5

Total

14

/

20

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.