Slack通知 Skill
Slackチャンネルにフォーマット済みメッセージを送信します。 MCP連携とWebhookフォールバックの2つのモードをサポート。
連携モード
モード1: Slack MCP(推奨)
MCP経由でフルSlack APIアクセス。MCP設定が必要。
利用可能な場合: mcp__slack__* ツールが設定されている
機能: メッセージ送信、チャンネル一覧、スレッド返信、リアクション追加
MCPツール一覧:
- •
mcp__slack__slack_list_channels- ワークスペースのチャンネル一覧 - •
mcp__slack__slack_post_message- メッセージ投稿 - •
mcp__slack__slack_reply_to_thread- スレッド返信 - •
mcp__slack__slack_add_reaction- リアクション追加
モード2: Webhook フォールバック
Incoming Webhook経由のシンプルなHTTP POST。MCP不要。
利用可能な場合: SLACK_WEBHOOK_URL 環境変数が設定されている
機能: メッセージ送信のみ(読み取り、リアクションは不可)
クイックスタート
連携モードの確認
送信前に、利用可能な連携方法を確認:
- •MCPを試行:
mcp__slack__slack_list_channels - •利用不可の場合、
SLACK_WEBHOOK_URL環境変数を確認 - •利用可能なモードをユーザーに報告
シンプルなメッセージ送信
MCPモード:
code
mcp__slack__slack_post_message を使用: channel: "#channel-name" text: "メッセージ内容"
Webhookモード:
bash
python3 scripts/send_webhook.py --message "メッセージ内容"
メッセージフォーマット
1. シンプルテキスト
プレーンテキスト通知。クイックな更新に。
2. フォーマット済み(mrkdwn)
Slackのmarkdown形式。サポート:
- •
*太字*で強調 - •
_斜体_で控えめに - •
`コード`でインラインコード - •
コードブロックで複数行コード - •
<url|テキスト>でリンク
3. 構造化(Blocks)
セクション、ヘッダー、区切り線を使ったリッチレイアウト。
resources/message-templates.md にテンプレートあり。
テンプレート
resources/message-templates.md で利用可能:
アラートテンプレート
- •
success: 緑チェックマーク、成功通知 - •
warning: 黄色警告、注意喚起 - •
error: 赤バツ、失敗通知 - •
info: 青情報マーク、お知らせ
レポートテンプレート
- •
build-report: ビルドステータスとメトリクス - •
deploy-report: デプロイサマリー - •
test-report: テスト結果サマリー
使用例
例1: シンプル通知
code
ユーザー: 「#dev-teamにビルド完了を通知して」 アクション: MCPまたはWebhookで送信: "ビルドが完了しました!レビューお願いします。"
例2: エラーアラート
code
ユーザー: 「#ops-channelにDB接続エラーをアラートして」 アクション: errorテンプレートを使用: " **アラート: データベース接続失敗** 時刻: 2025-11-27 10:30 UTC 詳細: 30秒後に接続タイムアウト 対応: データベースサーバーの状態を確認してください"
セキュリティ注意事項
重要: 認証情報の取り扱い
- •Webhook URLをSKILL.mdやスクリプトに直接書かない
- •環境変数を使用:
SLACK_WEBHOOK_URL - •MCPトークンはClaude MCP設定で管理
- •URLの検証を送信前に行う(スクリプトで自動実行)
セットアップ要件
MCPモード用
- •Bot TokenでSlackアプリを作成
- •Claude設定でMCPサーバーを構成
- •必要なスコープ:
channels:read,chat:write,reactions:write
Webhookモード用
- •Slack Incoming Webhookを作成
- •環境変数を設定:
export SLACK_WEBHOOK_URL="https://hooks.slack.com/..." - •追加設定は不要
詳細は resources/setup-guide.md を参照。
スクリプトインターフェース
bash
# シンプルメッセージ
python scripts/send_webhook.py --message "Hello!"
# テンプレート使用
python scripts/send_webhook.py --message "ビルド失敗" --template error --title "CIアラート"
# カスタムJSON
python scripts/send_webhook.py --json '{"text": "カスタムメッセージ"}'
エラーハンドリング
| エラー | 原因 | 対処 |
|---|---|---|
| "Slack連携なし" | MCPもWebhookも未設定 | セットアップガイド参照 |
| "チャンネルが見つかりません" | 無効なチャンネル名(MCP) | チャンネル存在を確認 |
| "Webhook失敗" | 無効なURLまたはネットワーク | SLACK_WEBHOOK_URLを確認 |
| "レート制限" | メッセージ送信過多 | 待機してリトライ |
制限事項
- •Webhookモード: 送信のみ、チャンネル一覧やメッセージ読み取り不可
- •WebhookでのDM不可: Webhookは特定チャンネル専用
- •メッセージ長: 1メッセージ最大40,000文字
- •レート制限: Slackは約1メッセージ/秒に制限
テスト実行
bash
cd /path/to/slack-notifier python -m pytest scripts/test_send_webhook.py -v
注意: テストはモック化されており、実際のSlack送信は行いません。