Skip to content
cccskills
FreePublished on GitHub

bluebubbles

Build or update the BlueBubbles channel plugin for Clawdbot. The skill explains code locations, existing helper functions, message delivery, connection checks, and webhook handling, which receives incoming messages and attachments through HTTP notifications.

OriginalShow the original description

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

See how to install

Good for

  • Building or updating the BlueBubbles channel plugin
  • Implementing message delivery and connection checks
  • Handling incoming messages and attachments through webhooks
  • Adding reactions, typing indicators, and read status handling

Files included (3)

  • SKILL.md2.2 KB
  • _meta.json130 B
  • .clawhub/origin.json143 B

SKILL.md (original)

Review the instructions the agent will receive before you install.

BlueBubbles plugin

Use this skill when working on the BlueBubbles channel plugin.

Layout

  • Extension package: extensions/bluebubbles/ (entry: index.ts).
  • Channel implementation: extensions/bluebubbles/src/channel.ts.
  • Webhook handling: extensions/bluebubbles/src/monitor.ts (register via api.registerHttpHandler).
  • REST helpers: extensions/bluebubbles/src/send.ts + extensions/bluebubbles/src/probe.ts.
  • Runtime bridge: extensions/bluebubbles/src/runtime.ts (set via api.runtime).
  • Catalog entry for onboarding: src/channels/plugins/catalog.ts.

Internal helpers (use these, not raw API calls)

  • probeBlueBubbles in extensions/bluebubbles/src/probe.ts for health checks.
  • sendMessageBlueBubbles in extensions/bluebubbles/src/send.ts for text delivery.
  • resolveChatGuidForTarget in extensions/bluebubbles/src/send.ts for chat lookup.
  • sendBlueBubblesReaction in extensions/bluebubbles/src/reactions.ts for tapbacks.
  • sendBlueBubblesTyping + markBlueBubblesChatRead in extensions/bluebubbles/src/chat.ts.
  • downloadBlueBubblesAttachment in extensions/bluebubbles/src/attachments.ts for inbound media.
  • buildBlueBubblesApiUrl + blueBubblesFetchWithTimeout in extensions/bluebubbles/src/types.ts for shared REST plumbing.

Webhooks

  • BlueBubbles posts JSON to the gateway HTTP server.
  • Normalize sender/chat IDs defensively (payloads vary by version).
  • Skip messages marked as from self.
  • Route into core reply pipeline via the plugin runtime (api.runtime) and clawdbot/plugin-sdk helpers.
  • For attachments/stickers, use <media:...> placeholders when text is empty and attach media paths via MediaUrl(s) in the inbound context.

Config (core)

  • channels.bluebubbles.serverUrl (base URL), channels.bluebubbles.password, channels.bluebubbles.webhookPath.
  • Action gating: channels.bluebubbles.actions.reactions (default true).

Message tool notes

  • Reactions: The react action requires a target (phone number or chat identifier) in addition to messageId. Example: action=react target=+15551234567 messageId=ABC123 emoji=❤️

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

ai-hotspots

FreeSummary

Gather recent AI products, papers, tools, and viewpoints into a Chinese and English HTML daily report. Select up to ten supported items, check original sources where possible, and summarize shared trends with practical next actions.

  • Reviewing recent AI developments each morning
  • Tracking research and tools for AI agents
  • Choosing what to read or try next
huangruiteng/CS-Notes4KUpdated Oct 21, 2026

Retrieve an arxiv paper's full text from its HTML version using an ID or URL. Extract readable text with section structure, optionally save it to a file, and prepare it for reading, notes, or technical analysis.

  • Reading a paper from an arxiv ID or URL
  • Extracting full text for research notes
  • Saving long papers for section-by-section reading
huangruiteng/CS-Notes4KUpdated Oct 21, 2026

ask-echo

FreeSummary

Search the web or find images through the Ask-Echo API from 火山引擎. Retrieve result details, request an AI-generated summary, and narrow searches by time range or selected websites.

  • Finding web pages about a specific topic
  • Getting an AI-generated summary of search results
  • Searching for images
huangruiteng/CS-Notes4KUpdated Oct 21, 2026

cli-creator

FreeSummary

Turn API documentation, SDKs, or existing scripts into reusable command-line tools for Codex. Build focused read and write commands, stable JSON output, authentication checks, and a companion skill explaining how future sessions should use the tool.

  • Turning an API into reusable commands
  • Making an internal script usable across projects
  • Adding JSON output and authentication checks
huangruiteng/CS-Notes4KUpdated Oct 21, 2026

Improve existing code through up to two optimization rounds, measuring execution time and memory use against a baseline. Verify that results remain correct, save the optimized code, and document changes, measured gains, and trade-offs in a report.

  • Improving the performance of existing code
  • Comparing execution time and memory use with a baseline
  • Checking that optimized code produces correct results
huangruiteng/CS-Notes4KUpdated Oct 21, 2026

Set up and inspect periodic prompts that continue a specific Codex thread after idle checks pass. It supports App-native automation and a headless fallback, with controls to inspect status and enable or disable scheduled prompts.

  • Periodically continuing an idle Codex thread
  • Keeping automated prompts visible in Codex App
  • Inspecting thread and automation status
huangruiteng/CS-Notes4KUpdated Oct 21, 2026

See all skills by huangruiteng

Report a problem with this skill