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 ./openclaw/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 identifies a clear, distinctive niche (WhatsApp via wacli CLI) with good natural trigger terms. However, it lacks an explicit 'Use when...' clause and could be more specific about the range of supported actions. The parenthetical exclusion is helpful for disambiguation but doesn't substitute for proper 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 sync WhatsApp conversations.'
Expand the list of specific capabilities, e.g., 'Send WhatsApp messages to contacts or groups, search message history by keyword or date, sync conversation logs via the wacli CLI.'
| 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 | The 'what' is reasonably clear (send messages, search/sync history via wacli), and there's a partial 'when' implied by the parenthetical '(not for normal user chats)', but there's no explicit 'Use when...' clause with trigger guidance. | 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. Unlikely to conflict with other 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, concise skill that provides fully actionable CLI commands with clear safety guardrails. Its main weakness is the lack of an explicit end-to-end workflow showing the sequence from finding a contact to confirming and sending a message, which is important given the irreversible nature of sending messages to third parties.
Suggestions
Add an explicit numbered workflow for the common 'send a message to someone' use case, e.g.: 1. Find the chat/JID with `wacli chats list`, 2. Confirm recipient and message with the user, 3. Send with `wacli send text`, 4. Verify delivery status.
Remove the redundant note at the end about wacli not being needed for routine user chats, since this is already clearly stated in the opening paragraph.
| Dimension | Reasoning | Score |
|---|---|---|
Conciseness | The skill is lean and efficient. Every section serves a purpose—safety constraints, auth commands, search commands, send commands—with no unnecessary explanation of what WhatsApp is or how CLIs work. The repeated note about not using wacli for normal chats is slightly redundant (appears in intro and notes) but minor. | 3 / 3 |
Actionability | All commands are concrete, copy-paste ready with realistic arguments (phone numbers, JIDs, flags). The send examples include text, group, and file variants with full flag syntax. Search and history commands include practical flags like --limit, --after, --before. | 3 / 3 |
Workflow Clarity | The safety section mentions confirming recipient + message before sending, but there's no explicit multi-step workflow showing the sequence (e.g., 1. find chat, 2. confirm with user, 3. send, 4. verify). The auth/sync flow is listed as separate commands without clear sequencing or validation checkpoints. For a tool that sends messages to third parties (a potentially destructive/irreversible action), a more explicit workflow with confirmation steps would be warranted. | 2 / 3 |
Progressive Disclosure | For a skill under 50 lines with a single-purpose CLI tool, the content is well-organized into logical sections (safety, auth, find, send, notes) without needing external references. The structure enables quick scanning and discovery. | 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 | |
09cce3e
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.