Send WhatsApp messages to other people or search/sync WhatsApp history via the wacli CLI (not for normal user chats).
79
72%
Does it follow best practices?
Impact
96%
2.00xAverage score across 3 eval scenarios
Advisory
Suggest reviewing before use
Optimize this skill with Tessl
npx tessl skill review --optimize ./skills/wacli/SKILL.mdQuality
Discovery
57%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 identifies a clear and distinctive niche (WhatsApp via wacli CLI) with reasonable specificity about core actions. However, it lacks an explicit 'Use when...' clause and could benefit from more natural trigger terms that users might say. The negative scope clarification is helpful but doesn't substitute for positive trigger guidance.
Suggestions
Add an explicit 'Use when...' clause, e.g., 'Use when the user asks to send a WhatsApp message, look up WhatsApp chat history, or interact with WhatsApp programmatically.'
Include more natural trigger terms users might say, such as 'text someone on WhatsApp', 'WhatsApp chat logs', 'WhatsApp notification', or 'message someone via WhatsApp'.
| Dimension | Reasoning | Score |
|---|---|---|
Specificity | Names the domain (WhatsApp) and some actions (send messages, search/sync history), but doesn't list comprehensive specific actions like formatting options, group messaging, media handling, etc. | 2 / 3 |
Completeness | Answers 'what' (send messages, search/sync history via wacli CLI) but lacks an explicit 'Use when...' clause. The parenthetical '(not for normal user chats)' provides a negative boundary but doesn't serve as a proper trigger guidance. | 2 / 3 |
Trigger Term Quality | Includes 'WhatsApp', 'messages', 'wacli', 'search', 'sync', and 'history' which are relevant, but misses common variations like 'text someone', 'chat history', 'message log', or 'WhatsApp API'. | 2 / 3 |
Distinctiveness Conflict Risk | Very distinct niche — WhatsApp messaging via a specific CLI tool (wacli) is unlikely to conflict with other skills. The parenthetical clarification further narrows scope. | 3 / 3 |
Total | 9 / 12 Passed |
Implementation
87%Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.
This is a well-crafted, concise skill that provides clear, actionable CLI commands with appropriate safety guardrails for sending WhatsApp messages. Its main weakness is the lack of explicit workflow sequencing between auth, sync, and send operations, and the slightly redundant reminder about not using wacli for normal chats. Overall it serves its purpose effectively as a reference for Claude.
Suggestions
Add a brief numbered workflow showing the typical sequence: 1. Auth (if not already logged in) → 2. Find chat/JID → 3. Confirm recipient → 4. Send, to make the multi-step process explicit.
Remove the duplicate reminder in Notes about wacli not being needed for routine chats, since it's already stated clearly in the opening paragraph.
| Dimension | Reasoning | Score |
|---|---|---|
Conciseness | The skill is lean and efficient. It avoids explaining what WhatsApp is or how CLIs work. Every line provides actionable information—when to use the tool, safety constraints, and concrete commands. The repeated reminder about not using wacli for normal chats is slightly redundant (appears in intro and notes) but minor. | 3 / 3 |
Actionability | Every section provides concrete, copy-paste-ready commands with realistic arguments (phone numbers, JIDs, flags). The send examples include text, group, and file variants with full flag syntax. No pseudocode—all commands are directly executable. | 3 / 3 |
Workflow Clarity | The safety section provides a clear confirm-before-send checkpoint, which is good. However, the auth/sync workflow lacks explicit sequencing (e.g., must you run auth before sync? When to run doctor?). The overall flow from auth → find chat → send is implicit rather than explicitly sequenced with validation steps. | 2 / 3 |
Progressive Disclosure | For a simple, single-purpose CLI skill under 50 lines with no need for external references, the content is well-organized into clearly labeled sections (Safety, Auth, Find, Send, Notes). No bundle files are needed and none are referenced, which is appropriate. | 3 / 3 |
Total | 11 / 12 Passed |
Validation
72%Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.
Validation — 8 / 11 Passed
Validation for skill structure
| Criteria | Description | Result |
|---|---|---|
metadata_version | 'metadata.version' is missing | Warning |
metadata_field | 'metadata' should map string keys to string values | Warning |
frontmatter_unknown_keys | Unknown frontmatter key(s) found; consider removing or moving to metadata | Warning |
Total | 8 / 11 Passed | |
b4fc4af
Table of Contents
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.