Send WhatsApp messages to other people or search/sync WhatsApp history via the wacli CLI (not for normal user chats).
84
80%
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
72%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 reasonably effective with good trigger terms and a clearly distinct niche around WhatsApp via the wacli CLI. Its main weaknesses are the lack of an explicit 'Use when...' clause and somewhat limited enumeration of specific capabilities beyond sending and searching/syncing.
Suggestions
Add an explicit 'Use when...' clause, e.g., 'Use when the user asks to send a WhatsApp message, look up WhatsApp conversation history, or sync WhatsApp data.'
Expand the list of specific actions to be more comprehensive, e.g., mention sending to contacts or groups, searching by keyword or date, syncing with specific targets.
| 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 messages, search/sync history via wacli) and includes a scoping note ('not for normal user chats'), but lacks an explicit 'Use when...' clause with trigger guidance, which caps this at 2. | 2 / 3 |
Trigger Term Quality | Includes strong natural trigger terms: 'WhatsApp', 'messages', 'search', 'sync', 'history', and the tool name 'wacli'. Users would naturally say 'send a WhatsApp message' or 'search WhatsApp history'. | 3 / 3 |
Distinctiveness Conflict Risk | Very distinct niche — WhatsApp messaging via a specific CLI tool (wacli). The clarification 'not for normal user chats' further narrows scope and reduces conflict risk with general chat or messaging skills. | 3 / 3 |
Total | 10 / 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 | |
ec8d4f8
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.