CtrlK
BlogDocsLog inGet started
Tessl Logo

imsg

iMessage/SMS CLI for listing chats, history, and sending messages via Messages.app.

82

1.81x
Quality

76%

Does it follow best practices?

Impact

96%

1.81x

Average score across 3 eval scenarios

SecuritybySnyk

Low

Low-risk findings worth noting

Fix and improve this skill with Tessl

tessl review fix ./openclaw/skills/imsg/SKILL.md

The canonical home for this skill is imsg in Hung-Reo/hungreo-openclaw

SKILL.md
Quality
Evals
Security

Quality

Content

86%Weight 40%Scale 1-5

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

The body is a well-organized, fully executable reference for a simple CLI skill: copy-paste commands, a clear confirmed-send workflow, and tight safety rules with no filler. The only weaknesses are a minor duplicated explanation of service options and the absence of error-recovery guidance in the workflow.

DimensionReasoningScore

Conciseness

The body is lean with no concept explanations Claude already knows, but the --service imessage/--service sms examples are shown in the Send Messages code block and then re-explained in the Service Options section, a minor duplication that could be trimmed. Fits anchor 4 (efficient, minor over-explanation) rather than the every-token-earns-its-place anchor 5.

4 / 5

Actionability

Every command is copy-paste ready ("imsg chats --limit 10 --json", "imsg send --to "+14155551212" --text \"Hello!\"", the jq filter for finding a chat) and the examples cover the common cases: list, history, watch, and send with text, attachment, or explicit service. Matches anchor 5.

5 / 5

Workflow Clarity

The Example Workflow gives a clear find → confirm → send sequence with an explicit user-confirmation checkpoint, reinforced by Safety Rules. There is no error-recovery feedback loop (e.g., what to do when no chat is found or a send fails), so it fits anchor 4 rather than anchor 5; the batch/destructive cap does not apply since sends are single, confirmed operations.

4 / 5

Progressive Disclosure

This is a single-file skill with no bundle files (references/, scripts/, assets/ absent), and nothing here belongs in a separate file. Well-labeled sections (When to Use, When NOT to Use, Requirements, Common Commands, Safety Rules, Example Workflow) make navigation trivial, satisfying the simple-skill standard for a 5.

5 / 5

Total

18

/

20

Passed

Description

66%Weight 40%Scale 1-5

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, specific, and third-person, naming concrete actions on a well-defined macOS niche. Its main weakness is the absence of any "Use when..." trigger guidance, which both caps completeness and slightly weakens trigger coverage.

Suggestions

Append an explicit trigger clause, e.g. "Use when the user asks to send or read iMessages/SMS, check Messages.app chats, or text someone on macOS."

Add natural user synonyms like "text"/"texting" to the trigger terms so the description matches how users actually phrase requests.

Mention one or two more capabilities (watching for new messages, sending attachments) to close the coverage gap at the top specificity anchor.

DimensionReasoningScore

Specificity

"listing chats, history, and sending messages via Messages.app" names three concrete actions, matching the anchor for several specific actions with minor gaps. Watch/attachments/service options are absent, so it falls short of the comprehensive anchor 5.

4 / 5

Completeness

The description clearly states what the skill does ("CLI for listing chats, history, and sending messages") but contains no "Use when..." clause or equivalent trigger guidance. Per the guidelines, a missing explicit trigger clause caps completeness at 3.

3 / 5

Trigger Term Quality

Terms "iMessage", "SMS", "chats", and "Messages.app" are natural user phrases, but common synonyms like "text"/"texting" are missing. This matches anchor 4 (good coverage, a few natural terms missing) rather than the synonym-inclusive anchor 5.

4 / 5

Distinctiveness Conflict Risk

"iMessage/SMS ... via Messages.app" carves a distinct platform-specific niche, but the messaging category is crowded (Telegram, WhatsApp, Slack bridges), giving minor overlap risk. Fits anchor 4 rather than the minimal-conflict anchor 5.

4 / 5

Total

15

/

20

Passed

Validation

81%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation — 13 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

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

13

/

16

Passed

Repository
trpc-group/trpc-agent-go
Reviewed

Table of Contents

Is this your skill?

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.