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 ./openclaw/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 of actions. However, it lacks an explicit 'Use when...' clause, which limits its completeness score, and could benefit from more natural trigger terms that users might employ when requesting this functionality.
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 additional natural trigger terms users might say, such as 'text someone on WhatsApp', 'WhatsApp chat logs', 'WhatsApp notification', or reference the 'wacli' tool name explicitly as a trigger.
| 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 WhatsApp 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 substitute for explicit trigger guidance. | 2 / 3 |
Trigger Term Quality | Includes natural keywords like 'WhatsApp', 'messages', 'search', 'sync', and 'history', but misses common variations users might say like 'text someone', 'chat history', 'message log', or 'wacli'. The parenthetical clarification is helpful but not a trigger term. | 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 the scope and reduces ambiguity. | 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 fully actionable CLI commands with clear scope boundaries and safety guardrails. Its main weakness is the lack of explicit error handling or verification steps after sending messages (e.g., checking for delivery confirmation or handling failed sends), which slightly limits workflow clarity for an operation that is effectively irreversible.
Suggestions
Add a brief error-handling/verification note after send operations (e.g., 'Check exit code or use --json to confirm delivery status') to close the feedback loop on irreversible actions.
Consider adding a brief example of the confirm-before-send flow to make the safety checkpoint more concrete (e.g., 'Before sending, confirm: To: +1415... Message: Hello...').
| Dimension | Reasoning | Score |
|---|---|---|
Conciseness | The skill is lean and efficient. Every section serves a purpose—scope boundaries, safety rules, and concrete commands. The repeated note about not using wacli for normal chats is slightly redundant (appears in intro and Notes) but overall token usage is excellent. | 3 / 3 |
Actionability | Every command is fully concrete and copy-paste ready with real flags, example arguments, and realistic values (phone numbers, JIDs, date ranges). No pseudocode or vague descriptions. | 3 / 3 |
Workflow Clarity | The safety section establishes a confirm-before-send checkpoint, which is good. However, the commands are listed as a reference catalog rather than a sequenced workflow. There's no explicit validation/feedback loop for send operations (e.g., checking delivery status or handling errors), which matters for a messaging tool that performs irreversible actions. | 2 / 3 |
Progressive Disclosure | For a skill under 50 lines with a single-tool focus, the content is well-organized into clearly labeled sections (Safety, Auth, Find, Send, Notes) that are easy to scan. No external references are needed and none are artificially created. | 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 | |
af8bd5f
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.