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, distinctive niche (WhatsApp via wacli CLI) and names key actions, but falls short on completeness by lacking an explicit 'Use when...' clause. Trigger terms are adequate but could be expanded with more natural user phrasings. The negative boundary ('not for normal user chats') is a helpful disambiguation touch.
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 sync WhatsApp conversations.'
Include more natural trigger term variations such as 'text someone on WhatsApp', 'WhatsApp chat history', 'WhatsApp contacts', or 'send a message 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 | Describes what it does (send WhatsApp messages, search/sync history via wacli CLI) and includes a partial negative boundary ('not for normal user chats'), but lacks an explicit 'Use when...' clause with trigger guidance. | 2 / 3 |
Trigger Term Quality | Includes 'WhatsApp', 'messages', 'wacli', 'search', 'sync', and 'history' which are relevant, but misses natural variations users might say like 'text someone', 'message someone on WhatsApp', 'chat history', or 'WhatsApp contacts'. | 2 / 3 |
Distinctiveness Conflict Risk | Very distinct niche — WhatsApp messaging via a specific CLI tool (wacli) is unlikely to conflict with other skills. The clarification 'not for normal user chats' further narrows scope and reduces false triggers. | 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 skill that is concise, actionable, and well-organized for its scope. The concrete CLI examples with realistic arguments make it immediately usable. The main weakness is the workflow around sending messages—while safety constraints are stated, the confirm-then-send process could be more explicitly sequenced with verification steps, given that sending messages to third parties is a sensitive operation.
Suggestions
Add an explicit numbered workflow for the send operation: 1. Resolve recipient (lookup via `wacli chats list`), 2. Confirm recipient + message with user, 3. Send, 4. Verify delivery status (if possible).
Include guidance on what to do if a send fails or if the recipient JID is not found (error recovery).
| 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 note about not using wacli for normal chats is slightly redundant (appears in intro and Notes) but serves as an important safety guardrail. | 3 / 3 |
Actionability | Every section provides concrete, copy-paste-ready commands with realistic arguments (phone numbers, JIDs, date ranges, file paths). The examples cover all major use cases (text, group, file, search, backfill) with specific flags and values. | 3 / 3 |
Workflow Clarity | The safety section establishes a confirm-before-send workflow, but the steps aren't explicitly sequenced (e.g., 1. confirm recipient 2. confirm message 3. send). There's no explicit validation/error-recovery step after sending. For a destructive operation like sending messages to third parties, a more explicit workflow with verification checkpoints would be appropriate. | 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 logical sections (safety, auth, find, send, notes) that are easy to scan. No bundle files are needed for this scope. | 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 | |
4467e04
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.