send-notification について
send-notificationは、SlackまたはIntercomでキャンペーン状況、実績アラート、承認依頼を社内チームに送るスキルです。緊急度に応じて通知を整え、送信前に明示的な承認を求めます。
主な機能
- 01SlackまたはIntercomで社内通知を送信
- 02情報、警告、緊急のレベルに対応
- 03キャンペーン情報、指標、次の対応を添付
- 04通知頻度を確認してアラート疲れを防止
- 05送信前にプレビューし明示的な承認を要求
活用シーン
- 01キャンペーンの進捗をチームに共有
- 02指標がしきい値に近づいた際に担当者へ通知
- 03通知で承認を依頼し、次の対応を割り当て
MCP 対応
接続済みのSlackまたはIntercom MCPを使って社内通知を送信します。チャンネルへの投稿、スレッドや会話への返信、ファイル添付に対応します。
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ indranilbanerjee/ digital-marketing-pro --skill send-notificationインストール後、Claude Code で/send-notificationを入力して読み込まれたか確認します。
詳細
/digital-marketing-pro:send-notification
スクリプトの場所。 ホストで
${CLAUDE_PLUGIN_ROOT}が設定されていない場合、スクリプトはこのプラグインのskills/と同じ階層にあるscripts/フォルダーにあります。Python 3.10 以降で実行してください。pythonが見つからない場合は、python3を使用してください(macOS、多くの Linux システム)。
目的
キャンペーンのステータス更新、パフォーマンスアラート、承認依頼、または一般的なチーム連絡のために、Slack または Intercom を通じて社内チームに通知を送信します。このコマンドは社内チームへのメッセージ送信専用であり、顧客向けの連絡には使用しません。構造化され、緊急度に配慮した通知を提供することで、ダッシュボードを確認したり、定期レポートを待ったりしなくても、マーケティングチーム、関係者、共同作業者がキャンペーンの進捗、指標のしきい値、保留中の承認について把握できるようにします。適切な書式とメンション方法を用いた段階的な緊急度に対応し、チームへの情報共有とアラート疲れの防止を両立します。
実行ゲート(必須 — 省略不可)
- ライブシステムに触れる前に、宛先/支出/変更/コンプライアンスを含む全プレビューを Execution Summary として提示します。
- ユーザーが
yes(または同等の明示的な承認)を入力する必要があります。それ以外の入力(曖昧、暗示的、一部のみの承認、または承認なし)では、実行をキャンセルします。 - 曖昧な入力に基づいて処理を進めてはいけません。失敗した実行を自動で再試行してはいけません。再実行の前に、人による確認が必要です。
- ユーザーが
yesを入力した後に限り、承認を記録します。python "${CLAUDE_PLUGIN_ROOT}/scripts/approval-manager.py" --brand {slug} --action create-approval --data '{"type":"send-notification","platform":"<platform>","content_summary":"<one line from the Execution Summary>","risk_level":"<tier>"}'を実行し、続けてpython "${CLAUDE_PLUGIN_ROOT}/scripts/approval-manager.py" --brand {slug} --action approve --id {approval_id}を実行します。どちらかのコマンドでエラーが発生した場合は、停止してエラーを報告してください。別のツールを使って回避してはいけません。この記録は、このアクションで承認手順が実行されたことを証明しますが、誰がyesを入力したかは証明できません。 - 実行します。
connector_executor.pyを通じて送信する書き込みには--approval-idが必要であり、一致する未使用かつ有効期限内の記録がある場合にのみ実行されます(/digital-marketing-pro:execute-actionを参照)。接続済みの MCP サーバーツールを通じた書き込みは、このコードチェックの対象外です。この場合は、入力されたyesとホストの権限確認プロンプトに依存します。その後、python "${CLAUDE_PLUGIN_ROOT}/scripts/approval-manager.py" --brand {slug} --action mark-executed --id {approval_id} --data '{"execution_result":"success"}'(またはfailure)を実行します。
必要な入力
ユーザーは以下を指定する必要があります(または、入力を促されます)。
- 通知内容:送信するメッセージです。短い状況報告(「Q1 キャンペーンを正常に開始しました」)、指標を含む詳細なパフォーマンスアラート(「直帰率がベースラインの 2.1% から 8.2% に急上昇しました。直ちに調査してください」)、対応項目を含む承認依頼(「予算増額について、本日中に承認が必要です」)、キャンペーンの節目のお知らせなどを指定できます。プレーンテキスト、Markdown 形式のセクション、または自動的に書式設定される構造化データを指定できます
- チャネル:
slackまたはintercomを指定します。対応する MCP サーバーに接続している必要があります。Slack の場合は、送信先のチャンネル名(例:#marketing-updates、#campaign-alerts、#leadership-reports)またはダイレクトメッセージの宛先ユーザー名を指定します。Intercom の場合は、会話 ID またはチームの受信トレイ名を指定します - 緊急度:
info(標準の通知。すっきりした書式で、特別なインジケーターやメンションはありません)、warning(注意喚起インジケーターを付けて強調表示します。指標がしきい値に近づいている場合、期限まで 24 時間以内の場合、または近いうちに対応が必要な問題がある場合に使用します)、またはcritical(Slack では @here または @channel メンション、Intercom では優先フラグを付けて緊急で通知します。予算超過、キャンペーンの失敗、コンプライアンス上の問題、サービス停止など、直ちに対応が必要な場合に使用します) - 関連コンテキスト(任意):通知に添付するキャンペーン ID、承認 ID、レポートの参照情報、ダッシュボードのリンク、指標のスナップショットです。受信者は、検索したり別のツールを開いたりすることなく、関連情報を通知内で確認できます
- メンション(任意):@メンションする特定のチームメンバーです。Slack のユーザー名または Intercom のチームメンバー名で指定します。緊急度が「critical」の場合、ユーザーが明示的に変更しない限り @here が自動的に含まれます。部門横断の通知では、複数のメンションを指定できます
- フォローアップアクション(任意):受信者に行ってほしい具体的な対応です。「EST 午後 5 時までに Q1 予算を承認してください」、「キャンペーンレポートを確認し、問題があれば報告してください」、「ニュースレターのセグメントで直帰率が急上昇した原因を調査してください」などを、通知内の分かりやすい行動喚起ブロックとして表示します
- スレッドまたは会話(任意):Slack の場合は、新しいトップレベルのメッセージを投稿するのではなく、既存のスレッドに返信するためのスレッドのタイムスタンプを指定します。Intercom の場合は、既存の会話を続けるための会話 ID を指定します。関連する更新をまとめ、チャンネルのノイズを減らします
- スケジュール(任意):すぐに送信するのではなく、指定した時刻に送信します。週初めの状況報告には「月曜日の午前 9 時(EST)」、緊急ではないまとめには「営業時間後」などを指定できます。省略した場合は、すぐに送信します
- 添付ファイル(任意):添付するファイルパスまたは URL です。パフォーマンスチャート、キャンペーンのスクリーンショット、レポートの PDF、ダッシュボードのスナップショットなどを指定します。プラットフォームの MCP を通じて、メッセージの添付ファイルとしてアップロードされます
プロセス
- ブランドのコンテキストを読み込む:
~/.claude-marketing/brands/_active-brand.jsonを読み、アクティブなスラッグを確認してから、~/.claude-marketing/brands/{slug}/profile.jsonを読み込みます。ブランドのトーン、対象市場向けのコンプライアンスルール(skills/context-engine/compliance-rules.md)、業界のコンテキストを適用します。また、~/.claude-marketing/brands/{slug}/guidelines/_manifest.jsonにガイドラインがあるか確認し、存在する場合は制限事項を読み込みます。~/.claude-marketing/sops/に代理店のSOPがあるかも確認します。ブランドが存在しない場合は、「まずブランドを設定しますか(/digital-marketing-pro:brand-setup)?」と尋ねるか、デフォルト設定で進めます。 - 緊急度に応じて通知を整形する:緊急度に応じて通知内容を構成します。
infoの場合は、ブランド名のヘッダーとタイムスタンプを含む、簡潔で標準的なメッセージにします。warningの場合は、注意を示すインジケーター、しきい値との比較を含む指標のコンテキスト、該当する場合は期限を含む強調ブロックにします。criticalの場合は、対応必須のフラグ、@here/@channelメンション(Slack)または最高優先度フラグ(Intercom)、赤いインジケーター、対応期限を含む緊急ヘッダーにします。すべてのレベルで、ブランド名、通知タイプのラベル、書式設定済みのタイムスタンプを含めます。 - 関連するコンテキストを添付する:キャンペーンID、承認ID、指標スナップショット、またはダッシュボードリンクが指定されている場合は、人が読みやすい概要に解決します。たとえば、現在のステータスと主要指標を含むキャンペーン名、保留中のアクションと期限を含む承認の詳細、またはトレンドインジケーターとしきい値との比較を含む指標の値を示します。受信者がメッセージングプラットフォームを離れずに状況を十分に把握できるよう、このコンテキストを通知本文に直接埋め込みます。
- フォローアップアクションを整形する:フォローアップアクションが指定されている場合は、通知本文と視覚的に区別された独立した行動喚起ブロックとして表示します。明確なアクションテキスト、担当者(メンションされたチームメンバーまたはチャンネル)、指定されている場合は期限を含めます。Slackでは、ボタン風の書式設定を使用したセクションブロックにします。Intercomでは、アクションを割り当てたノートにします。
- メッセージングMCPの接続を確認する:接続されているメッセージングプラットフォームのMCP(SlackまたはIntercom)を確認し、ユーザーが指定したチャンネルと一致することを確かめます。ボットに指定されたチャンネルまたは会話への投稿権限があること、緊急度に
criticalが選択されている場合は@here/@channelメンションを使用できること、添付ファイルが指定されている場合はアップロードできることを確認します。接続されていない場合や権限が不十分な場合は、必要な権限スコープを具体的に示して、インテグレーションの設定方法を案内します。 - アラート疲れを確認する:対象チャンネルの最近の通知履歴を照会し、過去24時間に送信された通知の数を緊急度別に集計します。同じチャンネルに過去24時間でcritical通知が5件を超えるか、合計通知数が15件を超える場合は、アラート疲れが発生する可能性についてユーザーに警告し、更新情報をまとめるか緊急度を下げることを提案します。
- 承認ゲートを設ける:通知のリスクを評価します。
infoとwarningの緊急度は、チャンネル全体を妨げない通常のチーム内連絡としてlow、@hereまたは@channelメンションを使うcriticalは、チャンネル内の全員に割り込み通知を送るためmediumとします。ユーザーの確認用に、対象プラットフォームで表示される形式に整えた内容、メンション、添付ファイル、緊急度の書式設定を含む通知プレビューを提示します。 - MCP経由で送信する:承認を得たら、接続されているSlackまたはIntercomのMCP経由で通知を配信します。Slackの場合は、Block Kitの書式設定(ヘッダーブロック、フィールド付きセクションブロック、メタデータ用コンテキストブロック、行動喚起用アクションブロック)を使って指定されたチャンネルに投稿し、スレッドのタイムスタンプが指定されている場合はスレッドへの返信として投稿します。添付ファイルもアップロードします。Intercomの場合は、緊急度に応じた優先度設定で会話を作成または返信し、チーム内だけに表示される内部ノートを追加して、添付ファイルをアップロードします。
- 配信を記録する:通知イベントについて、タイムスタンプ、プラットフォーム、チャンネルまたは会話の宛先、緊急度、内容の概要、含まれるメンション、関連するコンテキストへの参照、送信した添付ファイル、配信確認を記録します。以降の送信時にアラート疲れを追跡できるよう、チャンネルの通知頻度カウンターを更新します。
出力
以下を含む、構造化された配信確認情報です。
- 送信確認:通知 ID またはメッセージのタイムスタンプ、プラットフォーム(Slack または Intercom)、対象チャンネルまたは会話、配信状況(送信済み、予約済み、失敗、またはキューに追加済み)、および利用可能な場合は投稿済みメッセージのパーマリンク
- フォーマット済みプレビュー:受信者に表示された通知の内容。緊急度の書式設定、ヘッダーと本文の各セクション、ハイライト表示されたメンション、レンダリングされた添付コンテキスト、行動喚起ブロック、添付ファイルの一覧を表示します
- 緊急度の分類:適用された緊急度とプラットフォーム固有の書式設定の詳細。情報(標準)、警告(注意を示すインジケーターで強調表示)、重大(@here/@channel または優先度フラグを伴う緊急通知)のいずれかと、チャンネル全体への影響評価を含みます
- 添付コンテキスト:通知に埋め込まれたキャンペーン、承認、指標、またはダッシュボードのコンテキストの概要と、トレーサビリティを確保するための参照元 ID
- 配信済みメンション:送信されたすべての @メンションおよび @here/@channel 通知の確認と、チャンネル全体へのメンションの受信者数
- 配信タイムスタンプ:通知の正確な配信時刻(または予約配信時刻)とタイムゾーン。調整や応答時間の測定に使用します
- アラート疲労レポート:過去 24 時間に対象チャンネルへ送信された通知の頻度。通知の総数、重大の件数、警告の件数、情報の件数、および通知数が多い場合に統合または緊急度を下げるための推奨事項を含みます
- 実行ログエントリー:監査証跡のためのタイムスタンプ付き記録。通知の全メタデータ、配信確認、アラート疲労の指標、チャンネルのアクティビティ傾向を含みます
使用するエージェント
- execution-coordinator — 緊急度に応じた通知の書式設定とプラットフォーム固有のレンダリング(ヘッダー、セクション、コンテキスト、アクションの各ブロックを使った Slack Block Kit、Intercom の優先度フラグと内部メモ)、キャンペーンおよび承認データからの関連コンテキストの解決とインライン埋め込み、行動喚起ブロックとしてのフォローアップアクションの書式設定、緊急度に応じたリスク評価とチャンネル全体へのメンションの影響を考慮した承認ワークフロー、24 時間のローリングウィンドウでの追跡によるアラート疲労の監視、スレッド対応と添付ファイルのアップロードを伴う Slack および Intercom 向け MCP 配信の実行、配信確認とチャンネルのアクティビティ指標を含む実行ログの記録