iMessage/SMS CLI for listing chats, history, and sending messages via Messages.app.
81
76%
Does it follow best practices?
Impact
96%
1.81xAverage score across 3 eval scenarios
Passed
No known issues
Optimize this skill with Tessl
npx tessl skill review --optimize ./skills/imsg/SKILL.mdQuality
Discovery
67%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 concise and specific about its capabilities, clearly identifying the domain (iMessage/SMS) and concrete actions (listing chats, viewing history, sending messages). Its main weaknesses are the lack of an explicit 'Use when...' trigger clause and missing common user phrasings like 'text message' or 'send a text' that would improve skill selection accuracy.
Suggestions
Add a 'Use when...' clause, e.g., 'Use when the user wants to send or read text messages, check iMessage conversations, or interact with Messages.app.'
Include additional natural trigger terms like 'text message', 'texting', 'send a text', 'conversation history', and 'message thread' to improve matching against common user language.
| Dimension | Reasoning | Score |
|---|---|---|
Specificity | Lists multiple specific concrete actions: 'listing chats', 'history', and 'sending messages'. Also specifies the tool ('Messages.app') and interface type ('CLI'). | 3 / 3 |
Completeness | Clearly answers 'what does this do' (listing chats, history, sending messages via CLI), but lacks an explicit 'Use when...' clause specifying when Claude should select this skill. | 2 / 3 |
Trigger Term Quality | Includes good terms like 'iMessage', 'SMS', 'chats', 'messages', and 'Messages.app', but misses common user variations like 'text message', 'texting', 'send a text', or 'conversation history'. | 2 / 3 |
Distinctiveness Conflict Risk | Very distinct niche — iMessage/SMS via Messages.app CLI is highly specific and unlikely to conflict with other skills. The combination of messaging platform and CLI interface creates a clear identity. | 3 / 3 |
Total | 10 / 12 Passed |
Implementation
85%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-structured CLI skill with excellent actionability — every command is concrete and executable. The workflow includes appropriate confirmation checkpoints for message sending. The main weakness is mild verbosity in the routing/disambiguation sections (When to Use / When NOT to Use) which could be tightened, though they do provide useful routing information for a multi-channel messaging setup.
Suggestions
Condense the 'When NOT to Use' section into a single line like 'For other messaging platforms (Telegram, Signal, WhatsApp, Discord, Slack), use their respective tools/skills instead.'
| Dimension | Reasoning | Score |
|---|---|---|
Conciseness | The 'When NOT to Use' section is somewhat verbose listing every alternative messaging platform, and the 'When to Use' section restates obvious triggers. However, the command examples themselves are lean and well-structured. | 2 / 3 |
Actionability | All commands are fully executable and copy-paste ready with concrete flags, arguments, and realistic examples. The example workflow shows a complete end-to-end process with actual CLI commands and jq piping. | 3 / 3 |
Workflow Clarity | The example workflow clearly sequences steps (find chat → confirm with user → send after confirmation), with an explicit human-in-the-loop validation checkpoint before sending. Safety rules reinforce confirmation requirements for this potentially destructive (irreversible message sending) operation. | 3 / 3 |
Progressive Disclosure | For a CLI tool skill of this scope (~80 lines), the content is well-organized into logical sections (commands, service options, safety, workflow) without needing external file references. Sections are clearly delineated and easy to navigate. | 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 | |
b3cef5f
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.