jpskill.com
🛠️ 開発・MCP コミュニティ 🔴 エンジニア向け 👤 エンジニア・AI開発者

🛠️ Bluebubbles

bluebubbles

Clawdbotというシステム向けに、Blue

⏱ ライブラリ調査+組込 半日 → 1時間

📺 まず動画で見る(YouTube)

▶ 【衝撃】最強のAIエージェント「Claude Code」の最新機能・使い方・プログラミングをAIで効率化する超実践術を解説! ↗

※ jpskill.com 編集部が参考用に選んだ動画です。動画の内容と Skill の挙動は厳密には一致しないことがあります。

📜 元の英語説明(参考)

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

🇯🇵 日本人クリエイター向け解説

一言でいうと

Clawdbotというシステム向けに、Blue

※ jpskill.com 編集部が日本のビジネス現場向けに補足した解説です。Skill本体の挙動とは独立した参考情報です。

⚡ おすすめ: コマンド1行でインストール(60秒)

下記のコマンドをコピーしてターミナル(Mac/Linux)または PowerShell(Windows)に貼り付けてください。 ダウンロード → 解凍 → 配置まで全自動。

🍎 Mac / 🐧 Linux
mkdir -p ~/.claude/skills && cd ~/.claude/skills && curl -L -o bluebubbles.zip https://jpskill.com/download/4448.zip && unzip -o bluebubbles.zip && rm bluebubbles.zip
🪟 Windows (PowerShell)
$d = "$env:USERPROFILE\.claude\skills"; ni -Force -ItemType Directory $d | Out-Null; iwr https://jpskill.com/download/4448.zip -OutFile "$d\bluebubbles.zip"; Expand-Archive "$d\bluebubbles.zip" -DestinationPath $d -Force; ri "$d\bluebubbles.zip"

完了後、Claude Code を再起動 → 普通に「動画プロンプト作って」のように話しかけるだけで自動発動します。

💾 手動でダウンロードしたい(コマンドが難しい人向け)
  1. 1. 下の青いボタンを押して bluebubbles.zip をダウンロード
  2. 2. ZIPファイルをダブルクリックで解凍 → bluebubbles フォルダができる
  3. 3. そのフォルダを C:\Users\あなたの名前\.claude\skills\(Win)または ~/.claude/skills/(Mac)へ移動
  4. 4. Claude Code を再起動

⚠️ ダウンロード・利用は自己責任でお願いします。当サイトは内容・動作・安全性について責任を負いません。

🎯 このSkillでできること

下記の説明文を読むと、このSkillがあなたに何をしてくれるかが分かります。Claudeにこの分野の依頼をすると、自動で発動します。

📦 インストール方法 (3ステップ)

  1. 1. 上の「ダウンロード」ボタンを押して .skill ファイルを取得
  2. 2. ファイル名の拡張子を .skill から .zip に変えて展開(macは自動展開可)
  3. 3. 展開してできたフォルダを、ホームフォルダの .claude/skills/ に置く
    • · macOS / Linux: ~/.claude/skills/
    • · Windows: %USERPROFILE%\.claude\skills\

Claude Code を再起動すれば完了。「このSkillを使って…」と話しかけなくても、関連する依頼で自動的に呼び出されます。

詳しい使い方ガイドを見る →
最終更新
2026-05-17
取得日時
2026-05-18
同梱ファイル
1

💬 こう話しかけるだけ — サンプルプロンプト

  • Bluebubbles を使って、最小構成のサンプルコードを示して
  • Bluebubbles の主な使い方と注意点を教えて
  • Bluebubbles を既存プロジェクトに組み込む方法を教えて

これをClaude Code に貼るだけで、このSkillが自動発動します。

📖 Skill本文(日本語訳)

※ 原文(英語/中国語)を Gemini で日本語化したものです。Claude 自身は原文を読みます。誤訳がある場合は原文をご確認ください。

[Skill 名] bluebubbles

BlueBubbles プラグイン

BlueBubbles チャネルプラグインを操作する際にこのスキルを使用します。

レイアウト

  • 拡張パッケージ: extensions/bluebubbles/ (エントリ: index.ts)。
  • チャネル実装: extensions/bluebubbles/src/channel.ts
  • Webhook 処理: extensions/bluebubbles/src/monitor.ts (api.registerHttpHandler 経由で登録)。
  • REST ヘルパー: extensions/bluebubbles/src/send.ts + extensions/bluebubbles/src/probe.ts
  • ランタイムブリッジ: extensions/bluebubbles/src/runtime.ts (api.runtime 経由で設定)。
  • オンボーディング用カタログエントリ: src/channels/plugins/catalog.ts

内部ヘルパー (これらを使用し、生の API 呼び出しは使用しないでください)

  • ヘルスチェックには extensions/bluebubbles/src/probe.tsprobeBlueBubbles を使用します。
  • テキスト配信には extensions/bluebubbles/src/send.tssendMessageBlueBubbles を使用します。
  • チャット検索には extensions/bluebubbles/src/send.tsresolveChatGuidForTarget を使用します。
  • タップバックには extensions/bluebubbles/src/reactions.tssendBlueBubblesReaction を使用します。
  • extensions/bluebubbles/src/chat.tssendBlueBubblesTyping + markBlueBubblesChatRead を使用します。
  • 受信メディアには extensions/bluebubbles/src/attachments.tsdownloadBlueBubblesAttachment を使用します。
  • 共有 REST 処理には extensions/bluebubbles/src/types.tsbuildBlueBubblesApiUrl + blueBubblesFetchWithTimeout を使用します。

Webhook

  • BlueBubbles は JSON をゲートウェイ HTTP サーバーに投稿します。
  • 送信者/チャット ID を防御的に正規化します (ペイロードはバージョンによって異なります)。
  • 自分からのメッセージとしてマークされたメッセージはスキップします。
  • プラグインランタイム (api.runtime) と clawdbot/plugin-sdk ヘルパーを介してコア返信パイプラインにルーティングします。
  • 添付ファイル/ステッカーの場合、テキストが空の場合は <media:...> プレースホルダーを使用し、受信コンテキストの MediaUrl(s) を介してメディアパスを添付します。

設定 (コア)

  • channels.bluebubbles.serverUrl (ベース URL)、channels.bluebubbles.passwordchannels.bluebubbles.webhookPath
  • アクションゲーティング: channels.bluebubbles.actions.reactions (デフォルトは true)。

メッセージツールに関する注意

  • リアクション: react アクションには、messageId に加えて target (電話番号またはチャット識別子) が必要です。例: action=react target=+15551234567 messageId=ABC123 emoji=❤️
📜 原文 SKILL.md(Claudeが読む英語/中国語)を展開

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=❤️