CtrlK
BlogDocsLog inGet started
Tessl Logo

bluebubbles

Build or update the BlueBubbles external channel plugin for Clawdbot (extension package, REST send/probe, webhook inbound).

60

Quality

69%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide

SecuritybySnyk

Low

Low-risk findings worth noting

Fix and improve this skill with Tessl

tessl review fix ./.trae/openclaw-skills/bluebubbles/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

80%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 lean, well-organized reference map of the plugin's files, helpers, config, and key behaviors, with strong conciseness and structure. Its main weakness is the absence of an explicit sequenced workflow with validation checkpoints and any executable code blocks.

Suggestions

Add a short numbered workflow for common tasks (e.g., adding a new outbound action: locate helper in send.ts → wire via api.runtime → probe to verify → confirm delivery) with an explicit validation/probe checkpoint.

Include one or two small executable TypeScript snippets (e.g., calling sendMessageBlueBubbles or registering the webhook handler) to make guidance copy-paste ready.

Note an inbound-webhook verification step (e.g., re-probe or confirm message was routed) to close the feedback loop for outward-facing send/receive operations.

DimensionReasoningScore

Conciseness

Lean bullets of file paths, helper names, and terse directives ("Skip messages marked as from self.", "Normalize sender/chat IDs defensively") assume Claude's competence with no concept over-explanation, matching anchor 5; not 4 because there is no over-explanation to trim.

5 / 5

Actionability

Concrete function names, file paths, config keys, the api.registerHttpHandler method, and a copy-paste react example ("action=react target=+15551234567 messageId=ABC123 emoji=❤️") give mostly executable guidance; anchor 4 rather than 5 because no executable TypeScript code blocks are provided, and not 3 because the guidance is specific and concrete beyond pseudocode.

4 / 5

Workflow Clarity

The webhook bullets imply a loose sequence (receive JSON → normalize IDs → skip self → route to pipeline → attach media) but checkpoints are only implicit/defensive with no validate→fix→retry loop, matching anchor 3; not 4 because explicit validation steps are absent, not 2 because a discernible sequence and coherent structure exist.

3 / 5

Progressive Disclosure

Under 50 lines with no external references needed and well-organized sections (Layout, Internal helpers, Webhooks, Config, Message tool notes), so the simple-skill exception permits a 5 for clear, navigable structure.

5 / 5

Total

17

/

20

Passed

Description

58%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 specific and distinctive for a narrow niche, but it omits any "Use when…" trigger guidance and offers limited natural keyword variations, capping completeness and trigger-term quality at 3.

Suggestions

Add a "Use when…" clause, e.g. "Use when adding or fixing the BlueBubbles iMessage channel, REST send/probe calls, or webhook inbound handling in Clawdbot."

Include a couple of natural trigger synonyms or phrases users would say (e.g. "iMessage bridge", "BlueBubbles server", "send/probe BlueBubbles") to broaden keyword coverage.

Optionally list one or two more concrete capabilities to push specificity toward comprehensive coverage.

DimensionReasoningScore

Specificity

"Build or update the BlueBubbles external channel plugin for Clawdbot (extension package, REST send/probe, webhook inbound)" names the domain plus several concrete actions/capabilities, matching anchor 4; it is not 5 because the actions are not as comprehensively enumerated as the anchor, and not 3 because more than 1–2 actions are listed.

4 / 5

Completeness

There is a clear "what" (build/update the plugin) but no "when"/"Use when…" clause, so the rubric cap of 3 applies and matches anchor 3 exactly.

3 / 5

Trigger Term Quality

Keywords "BlueBubbles", "channel plugin", and "Clawdbot" are relevant and natural for the niche but lack common variations or synonyms, matching anchor 3; not 4 because keyword coverage is thin, not 2 because the terms present are genuinely natural for the domain.

3 / 5

Distinctiveness Conflict Risk

The BlueBubbles + Clawdbot niche is highly specific with minimal conflict risk, matching anchor 4; not 5 because it lacks explicit trigger phrases and could overlap sibling channel plugins, not 3 because the niche is genuinely distinct.

4 / 5

Total

14

/

20

Passed

Validation

100%

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

Validation16 / 16 Passed

Validation for skill structure

No warnings or errors.

Repository
huangruiteng/CS-Notes
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.