🛠️ Bluebubbles
Clawdbotというシステム向けに、Blue
📺 まず動画で見る(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本体の挙動とは独立した参考情報です。
下記のコマンドをコピーしてターミナル(Mac/Linux)または PowerShell(Windows)に貼り付けてください。 ダウンロード → 解凍 → 配置まで全自動。
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
$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. 下の青いボタンを押して
bluebubbles.zipをダウンロード - 2. ZIPファイルをダブルクリックで解凍 →
bluebubblesフォルダができる - 3. そのフォルダを
C:\Users\あなたの名前\.claude\skills\(Win)または~/.claude/skills/(Mac)へ移動 - 4. Claude Code を再起動
⚠️ ダウンロード・利用は自己責任でお願いします。当サイトは内容・動作・安全性について責任を負いません。
🎯 このSkillでできること
下記の説明文を読むと、このSkillがあなたに何をしてくれるかが分かります。Claudeにこの分野の依頼をすると、自動で発動します。
📦 インストール方法 (3ステップ)
- 1. 上の「ダウンロード」ボタンを押して .skill ファイルを取得
- 2. ファイル名の拡張子を .skill から .zip に変えて展開(macは自動展開可)
- 3. 展開してできたフォルダを、ホームフォルダの
.claude/skills/に置く- · macOS / Linux:
~/.claude/skills/ - · Windows:
%USERPROFILE%\.claude\skills\
- · macOS / Linux:
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.tsのprobeBlueBubblesを使用します。 - テキスト配信には
extensions/bluebubbles/src/send.tsのsendMessageBlueBubblesを使用します。 - チャット検索には
extensions/bluebubbles/src/send.tsのresolveChatGuidForTargetを使用します。 - タップバックには
extensions/bluebubbles/src/reactions.tsのsendBlueBubblesReactionを使用します。 extensions/bluebubbles/src/chat.tsのsendBlueBubblesTyping+markBlueBubblesChatReadを使用します。- 受信メディアには
extensions/bluebubbles/src/attachments.tsのdownloadBlueBubblesAttachmentを使用します。 - 共有 REST 処理には
extensions/bluebubbles/src/types.tsのbuildBlueBubblesApiUrl+blueBubblesFetchWithTimeoutを使用します。
Webhook
- BlueBubbles は JSON をゲートウェイ HTTP サーバーに投稿します。
- 送信者/チャット ID を防御的に正規化します (ペイロードはバージョンによって異なります)。
- 自分からのメッセージとしてマークされたメッセージはスキップします。
- プラグインランタイム (
api.runtime) とclawdbot/plugin-sdkヘルパーを介してコア返信パイプラインにルーティングします。 - 添付ファイル/ステッカーの場合、テキストが空の場合は
<media:...>プレースホルダーを使用し、受信コンテキストのMediaUrl(s)を介してメディアパスを添付します。
設定 (コア)
channels.bluebubbles.serverUrl(ベース URL)、channels.bluebubbles.password、channels.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 viaapi.registerHttpHandler). - REST helpers:
extensions/bluebubbles/src/send.ts+extensions/bluebubbles/src/probe.ts. - Runtime bridge:
extensions/bluebubbles/src/runtime.ts(set viaapi.runtime). - Catalog entry for onboarding:
src/channels/plugins/catalog.ts.
Internal helpers (use these, not raw API calls)
probeBlueBubblesinextensions/bluebubbles/src/probe.tsfor health checks.sendMessageBlueBubblesinextensions/bluebubbles/src/send.tsfor text delivery.resolveChatGuidForTargetinextensions/bluebubbles/src/send.tsfor chat lookup.sendBlueBubblesReactioninextensions/bluebubbles/src/reactions.tsfor tapbacks.sendBlueBubblesTyping+markBlueBubblesChatReadinextensions/bluebubbles/src/chat.ts.downloadBlueBubblesAttachmentinextensions/bluebubbles/src/attachments.tsfor inbound media.buildBlueBubblesApiUrl+blueBubblesFetchWithTimeoutinextensions/bluebubbles/src/types.tsfor 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) andclawdbot/plugin-sdkhelpers. - For attachments/stickers, use
<media:...>placeholders when text is empty and attach media paths viaMediaUrl(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
reactaction requires atarget(phone number or chat identifier) in addition tomessageId. Example:action=react target=+15551234567 messageId=ABC123 emoji=❤️