Skip to content
cccskills
FreePublished on GitHub

discord-communication

This skill should be used when the user asks to "communicate via Discord", "send a message to Discord", "check Discord for instructions", "ask a question on Discord", "notify on Discord", "share a file on Discord", "離席する", "離席モード", "Discord で待機して", "Discord待機", or when Claude Code needs to reach the user who is away from the terminal.

The English summary is being prepared. Showing the original description.

Works withDiscord

Run score Not tested

See how to install

Files included (7)

  • SKILL.md7.4 KB
  • scripts/discord-ask.sh1002 B
  • scripts/discord-messages.sh666 B
  • scripts/discord-notify.sh926 B
  • scripts/discord-send-file.sh869 B
  • scripts/discord-status.sh1.1 KB
  • scripts/discord-wait.sh2.2 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

Discord Communication Bridge

Discord 専用チャンネルを通じてユーザーとやりとりするためのスキル。 HTTP API サーバー (localhost:13456) 経由で Discord Bot と通信する。

前提条件

サーバーが別プロセスで起動済みであること。 起動していない場合は discord-bridge start で起動を促す。

ヘルパースクリプト

$CLAUDE_PLUGIN_ROOT/skills/discord-comm/scripts/ にラッパースクリプトを用意。 Bash ツールで直接実行する。

使用方法

ヘルスチェック

bash $CLAUDE_PLUGIN_ROOT/skills/discord-comm/scripts/discord-status.sh

通知(一方向)

bash $CLAUDE_PLUGIN_ROOT/skills/discord-comm/scripts/discord-notify.sh "ビルド完了しました" success
bash $CLAUDE_PLUGIN_ROOT/skills/discord-comm/scripts/discord-notify.sh "エラーが発生しました" error

レベル: info(既定), success, warning, error

質問(返答待ち)

bash $CLAUDE_PLUGIN_ROOT/skills/discord-comm/scripts/discord-ask.sh "続行しますか?"
bash $CLAUDE_PLUGIN_ROOT/skills/discord-comm/scripts/discord-ask.sh "どの方法で進めますか?" 300 "方法A" "方法B" "方法C"

メッセージ取得

bash $CLAUDE_PLUGIN_ROOT/skills/discord-comm/scripts/discord-messages.sh
bash $CLAUDE_PLUGIN_ROOT/skills/discord-comm/scripts/discord-messages.sh 20 true

メッセージ待機 (SSE)

bash $CLAUDE_PLUGIN_ROOT/skills/discord-comm/scripts/discord-wait.sh
bash $CLAUDE_PLUGIN_ROOT/skills/discord-comm/scripts/discord-wait.sh 21600

デフォルトタイムアウト: 6時間 (21600秒)。SSE接続でメッセージをリアルタイム受信する。

ファイル送信

bash $CLAUDE_PLUGIN_ROOT/skills/discord-comm/scripts/discord-send-file.sh /path/to/file.png "スクリーンショット"

パターン

長時間タスク

  1. discord-notify.sh (info) で開始を通知
  2. 定期的に discord-messages.sh で指示変更を確認
  3. discord-notify.sh (success) で完了通知
  4. 判断が必要な場合は discord-ask.sh

エラー発生時

  1. discord-notify.sh (error) でエラー報告
  2. discord-ask.sh で対応方針を確認
  3. タイムアウト時は返答が来るまで再度 discord-ask.sh を呼んで待機する

待機モード

  1. discord-notify.sh で状況をまとめて報告
  2. discord-wait.sh で次の指示を待つ
  3. 受信した指示を実行

離席モード(Discord 待受ループ)

ユーザーが「離席する」「Discord で待機して」等と言った場合、以下のループに入る。

開始手順

  1. ヘルスチェックでサーバー接続を確認
  2. Discord に「離席モード開始」を通知
  3. ループ開始

ループ動作

以下を繰り返す。タイムアウトしても勝手に終了せず、再度待機する。

loop:
  1. discord-wait.sh (timeout: 21600) でメッセージを待つ(SSE接続、6時間)
     ※ SSE接続時にサーバーが自動で「クライアント接続」をDebug通知する
     レスポンス形式: {"status":"received","messages":[...]} (配列で複数件返る可能性あり)
  2. タイムアウトした場合 → 1 に戻る
  3. メッセージを受信した場合:
     a. 全メッセージを確認し、最新のメッセージを指示として扱う
     b. ただし「戻ったよ」「終了」「おわり」「bye」等の終了指示が含まれていれば → ループ終了
     c. 「やめて」「中断」「ストップ」等のキャンセル指示が含まれていれば → その前の指示は無視
     d. それ以外なら → 最新のメッセージを指示として処理を実行(下記「処理中の動作ルール」参照)
  4. 処理完了後 → 1 に戻る

処理中の動作ルール

離席モードではターミナルが見えないため、すべての発言・思考・行動を Discord に送る。

全出力転送

通常ターミナルに表示するテキスト出力は、すべて discord-notify.sh で Discord にも送る。

  • ※ 指示の受信・伝達は中継サーバーが自動通知するため手動通知は不要
  • 指示の解釈と対応方針 → "〇〇と解釈。△△で対応します" (info) ← 必須
  • 処理の各ステップ → "〇〇を実行中..." (info)
  • ツール実行結果の要約 → "コンパイル結果: エラー0件" (info)
  • 判断・方針の説明 → "〇〇のため、△△の方法で進めます" (info)
  • 処理完了 → 結果のまとめ (success) ← 必須
  • エラー発生 → エラー内容 (error) → discord-ask.sh で対応を確認

メッセージは簡潔にまとめつつ、何をしているか追えるレベルの粒度で送る。 1つのツール実行ごとに1通知が目安。ただし連続する軽微な操作はまとめてよい。

定期的なメッセージキューチェック(割り込み検知)

処理中、ユーザーが Discord で新しい指示・変更・中断を送る可能性がある。 各ステップの合間に必ず discord-messages.sh でキューをチェックし、新着メッセージがないか確認する。

チェックタイミング(必須):
  - ツール実行の前(Bash, Edit, Write 等を呼ぶ直前)
  - 長いループの各イテレーション
  - 判断ポイント(次に何をするか考える時)
  - サブタスクの完了ごと(コンパイル確認後、コミット後など)

新着メッセージがあった場合の対応:

  • 中断指示(「止まって」「ストップ」「stop」「中断」「待って」「やめて」)→ 処理を安全な状態で止め、discord-notify.sh (warning) で「中断しました。現在の状態: 〇〇」を報告し、discord-wait.sh で次の指示を待つ
  • 指示変更・追加 → 現在の処理を完了させるか中断するかを判断し、新しい指示を処理する
  • その他のメッセージ → 処理完了後に対応(緊急でなければ後回しでよい)

ユーザー判断が必要な場合

  • discord-ask.sh で質問し、選択肢を提示する
  • 破壊的な操作(git push, ファイル削除等)は必ず確認を取る
  • 不明確な指示は処理を始める前に明確化する

終了時

  1. 離席モード中に行った作業のまとめを作成する
  2. そのまとめを Discord に discord-notify.sh で送信する
  3. 同じまとめをターミナルにもテキスト出力する
  4. Discord に「離席モード終了。ターミナルに戻ります。」を通知し、通常のターミナル入力待ちに戻る。

注意事項

  • 離席モード中もターミナルの作業ディレクトリは維持される
  • 1回の指示で処理が完結するよう心がける
  • Discord のメッセージ上限(2000文字)を超える場合は分割して送信する

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.

Report a problem with this skill