Use when you need to send or manage iMessages via BlueBubbles (recommended iMessage integration). Calls go through the generic message tool with channel="bluebubbles".
79
70%
Does it follow best practices?
Impact
100%
1.96xAverage score across 3 eval scenarios
Passed
No known issues
Optimize this skill with Tessl
npx tessl skill review --optimize ./openclaw/skills/bluebubbles/SKILL.mdQuality
Discovery
75%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 effectively communicates when to use the skill and identifies a clear niche (iMessages via BlueBubbles), making it distinctive. However, it lacks specificity in the concrete actions it can perform beyond 'send or manage' and could benefit from more natural trigger terms that users might actually say. The description also uses second person ('you need to') which is slightly off from the preferred third person voice, though this is in the context of a 'Use when' clause.
Suggestions
List more specific concrete actions such as 'Sends, reads, and manages iMessages including text, attachments, and group chats via BlueBubbles'.
Add natural trigger term variations like 'text message', 'send a text', 'iMessage conversation', or 'Apple Messages' to improve discoverability.
| Dimension | Reasoning | Score |
|---|---|---|
Specificity | Names the domain (iMessages via BlueBubbles) and mentions two actions ('send or manage'), but doesn't list specific concrete actions like reading conversations, sending attachments, searching messages, etc. | 2 / 3 |
Completeness | Explicitly answers both 'what' (send or manage iMessages via BlueBubbles through the generic message tool) and 'when' (starts with 'Use when you need to send or manage iMessages via BlueBubbles'), with clear trigger guidance. | 3 / 3 |
Trigger Term Quality | Includes relevant keywords like 'iMessages', 'BlueBubbles', 'message', and 'channel="bluebubbles"', but misses common user variations like 'text message', 'iMessage', 'send a text', 'SMS', or 'chat'. | 2 / 3 |
Distinctiveness Conflict Risk | Clearly scoped to iMessages via BlueBubbles specifically, with the technical detail about channel='bluebubbles' making it highly distinct and unlikely to conflict with other messaging or communication skills. | 3 / 3 |
Total | 10 / 12 Passed |
Implementation
64%Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.
This is a solid, actionable skill with clear JSON examples for each BlueBubbles action. Its main weaknesses are the lack of error handling/validation guidance (especially for destructive operations like unsend and edit) and some verbosity that could be trimmed. The progressive disclosure could be improved by moving less common actions to a reference file.
Suggestions
Add error handling or validation guidance — e.g., what to check after sending, how to handle failed deliveries, or what errors look like for edit/unsend on unsupported macOS versions.
Remove the 'Ideas to try' section as it restates what the examples already demonstrate and doesn't add actionable value.
Consider moving less common actions (sendWithEffect, sendAttachment, edit, unsend) to a separate reference file to keep SKILL.md focused on the most common operations.
| Dimension | Reasoning | Score |
|---|---|---|
Conciseness | The content is mostly efficient with concrete JSON examples, but the 'Ideas to try' section and some notes are somewhat unnecessary filler. The overview paragraph also restates what the examples already demonstrate. | 2 / 3 |
Actionability | Every action has a complete, copy-paste-ready JSON payload with realistic field values. The inputs section clearly specifies formats (E.164, chat_guid prefix, base64). This is highly actionable. | 3 / 3 |
Workflow Clarity | Each action is clearly presented as an independent operation, which is appropriate for this API-style skill. However, there are no validation/verification steps — no mention of checking delivery status, handling errors, or confirming success after sending messages or performing destructive operations like unsend/edit. | 2 / 3 |
Progressive Disclosure | There is a reference to `extensions/bluebubbles/README.md` for developer details, which is good. However, the skill inlines all 8 action examples which makes it lengthy; grouping less common actions (effects, attachment variants) into a separate reference file would improve organization. | 2 / 3 |
Total | 9 / 12 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 — 9 / 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 |
Total | 9 / 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.