Use when you need to send or manage iMessages via BlueBubbles (recommended iMessage integration). Calls go through the generic message tool with channel="bluebubbles".
81
73%
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 ./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), but lacks specificity in the concrete actions it can perform beyond 'send or manage'. It would benefit from listing more specific capabilities and including natural user trigger terms like 'text message' or 'send a text'.
Suggestions
List more specific concrete actions beyond 'send or manage', such as 'send texts, read conversations, search message history, send attachments'.
Add natural user trigger terms like 'text message', 'send a text', 'iMessage', 'SMS', 'chat' to improve discoverability when users phrase requests in common ways.
| 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) and 'when' (opens with 'Use when you need to send or manage iMessages via BlueBubbles'), providing clear trigger guidance. | 3 / 3 |
Trigger Term Quality | Includes good terms like 'iMessages', 'BlueBubbles', and 'message tool', but misses common user variations like 'text message', 'iMessage', 'send a text', 'SMS', or 'chat'. The technical detail about channel='bluebubbles' is more implementation-focused than user-facing. | 2 / 3 |
Distinctiveness Conflict Risk | Clearly scoped to iMessages via BlueBubbles specifically, with the implementation detail about channel='bluebubbles' further distinguishing it from other messaging skills. Unlikely to conflict with other skills. | 3 / 3 |
Total | 10 / 12 Passed |
Implementation
72%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 excellent concrete JSON examples for each BlueBubbles action. Its main weaknesses are minor verbosity (the 'Ideas to try' section and some redundant overview text) and the lack of any error handling or validation guidance for operations like edit/unsend that depend on valid message IDs.
Suggestions
Remove or significantly trim the 'Ideas to try' section — these are obvious use cases that don't add value for Claude.
Add brief error handling guidance: what happens if a messageId is invalid, how to verify a send succeeded, or what errors to expect from version-dependent features.
| 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 mentioned — no guidance on checking if a message was sent successfully, handling errors, or confirming message IDs exist before editing/unsending. | 2 / 3 |
Progressive Disclosure | The content is well-structured with clear sections (Overview, Inputs, Actions, Notes) and appropriately references the developer docs in `extensions/bluebubbles/README.md` for deeper details. For a skill of this scope, the organization is clean and navigable. | 3 / 3 |
Total | 10 / 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 | |
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.