mcpField
S
slack

slack

github.com/hyperfx-ai生産性107135 回インストール4 日前に更新
リポジトリ

slack について

slackスキルは、Hyper MCPとSlack連携を使うワークスペース向けに、メッセージ、ファイル共有、書式設定の手順を示します。返信しない条件や送信方法の選び方も扱います。

主な機能

  1. 01メッセージとスレッド返信のガイド
  2. 02ファイルのアップロードと共有ルール
  3. 03MarkdownとBlock Kitの書式説明
  4. 04チャンネルとメンバー管理ツール一覧
  5. 05ユーザープロフィール、ステータス、リマインダー
  6. 06返信しない条件の判断

活用シーン

  1. 01Slackメッセージの作成や返信
  2. 02チャンネルやスレッドへのファイル投稿
  3. 03表やインタラクティブ要素の書式設定
  4. 04チャンネル、メンバー、ユーザー情報の検索

MCP 対応

このスキルにはHyper MCPの接続とSlack連携の有効化が必要です。MCPクライアントまたはHyper CLIでSlackツールを検索、説明、実行する方法を示します。

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/hyperfx-ai/marketing-skills --skill slack

インストール後、Claude Code で/slackを入力して読み込まれたか確認します。

詳細

Slack メッセージ

このスキルでは、Slack でのメッセージ送信、ファイル共有、書式設定について包括的に説明します。

要件

このスキルのツールの実行方法

このスキルの各ツールには、正規のツール名が付けられています。利用している環境で指定されている呼び出し方法で実行してください。

環境ツールを探す実行する
MCP クライアント(Claude、Cursor、Codex、ChatGPT)search("<what you want to do>") を実行し、続けて describe("<name>")call("<name>", {...})
Hyper CLIhyperai search "<what you want to do>" を実行し、続けて hyperai describe <name>hyperai call <name> --json '{...}'

ツールが見つからない場合、その連携はワークスペースに接続されていないか、有効になっていません。作業を中止し、接続する連携をユーザーに伝えてください。

返信しない場合

以下の場合は、テキスト [NO_RESPONSE] のみを返してください(ほかの内容は一切付けないでください)。

  1. メッセージがあなたではなく、別のユーザーに言及している場合:ユーザーが別の人(例:@John や @SomeOtherBot)に言及し、その人に向けてメッセージを送っている場合。
  2. ユーザーが明示的に無視するよう求めた場合:「これを無視して」「返信しないで」など、同様のことをユーザーが言った場合。
  3. メッセージが明らかにあなた宛てではない場合:会話がほかのユーザー間で行われており、あなたの入力を必要としていない場合。
  4. ユーザー間の簡単な相づちの場合:別の人に向けた「ありがとう」「はい」「了解」などのメッセージ。

重要:

  • 返信しないと判断した場合は、前後に何も付けず、正確に [NO_RESPONSE] のみを返してください。
  • 判断に迷った場合は返信してください。誰かが必要としているときに黙っているより、役に立つことが大切です。
  • 誰かがあなたの名前を挙げた場合や、直接質問した場合は必ず返信してください。
  • DM(ダイレクトメッセージ)では、明示的に返信しないよう求められた場合を除き、必ず返信してください。

ファイル共有 — 重要なルール

重要:Slack でファイルを共有できるのは、アップロードする場合のみです。URL とファイルパスは、Slack 上で閲覧可能なコンテンツとして表示されません。

  • Slack でファイルを共有するには、slack_files_upload を使用してください
  • 特に指示がない限り、返信するチャンネルとスレッドの両方に必ずアップロードしてください
  • slack_files_upload ツールは、システムにすでに保存されているファイルを指定する file_id パラメーターを受け付けます
生成した画像の共有

画像を生成した場合(例:images_generate を使用)、結果には file_id が含まれます。この画像は Slack に自動的には表示されません。明示的にアップロードする必要があります。

  1. 画像生成ツールを使用して画像を生成します
  2. 結果から file_id を確認します
  3. file_id、現在の channel_id、および thread_ts を指定して slack_files_upload を呼び出します

ワークフローの例:

  • ユーザーが「夕日の画像を生成して」と依頼します
  • 画像生成ツールを呼び出し、file_id: "abc123" が返されます
  • 続けて slack_files_upload(channel_id="C...", file_id="abc123", thread_ts="...") を呼び出します
  • これで画像が Slack に表示されます

アップロードせずに「画像はこちらです」とだけ伝えてはいけません。ユーザーには何も表示されません。

その他のファイルの共有

共有するファイル(ドキュメント、CSV など)には、次のいずれかを指定して slack_files_upload を使用してください。

  • file_id:システムにすでに保存されているファイルの場合
  • file_path:ローカルファイルの場合
  • content:ファイルとしてアップロードするテキストコンテンツの場合

メッセージの書式設定

Slack の会話内での返信

Slack のダイレクトメッセージまたはスレッドで実行されると、返信はそのスレッドに自動的に届きます。Hyper は入力中の内容をストリーミングするか、入力が完了したときに1つのメッセージとして投稿します。

  • 標準の Markdown で返信を記述してください。Slack は Block Kit をストリーミングできず、返信に含めることもできません。
  • Slack ツールを使って返信を再送信しないでください。
  • エンティティ(広告、キャンペーン、チャンネル、タスク)の一覧は、返信内で Markdown の表として表示してください。名前、ID、要求された数値を含め、行数は最大20行にしてください。省略した行数も記載してください。
  • ユーザーからボタンなどのインタラクティブ要素を明示的に求められた場合は、同じスレッド内で slack_messages_send_block_kit を使い、1行の text とともに投稿してください。その後、投稿したことを1行で伝えてください。返信内でその内容を繰り返さないでください。

このセクションの残りの内容は、Slack ツールを使って送信するメッセージに適用されます。

プレーンテキストと Block Kit の使い分け
  • シンプルなメッセージ:slack_messages_send または slack_threads_replies_send を使って、プレーンな Markdown テキストを送信します。
  • 表、リスト、構造化データ:slack_messages_send_block_kit を使って rich_text ブロックを送信します。
  • 3000文字を超えるメッセージ:slack_messages_send_large を使います。
Slack の Markdown

Slack では簡易版の Markdown が使われます。

  • *太字*(二重ではなく、単一のアスタリスク)
  • _斜体_
  • ~取り消し線~
  • `コード` はインラインコードです
  • ```code block``` はコードブロックです
  • <url|表示テキスト> はリンクです([text](url) ではありません)
Block Kit のリッチテキスト

Block Kit の rich_text ブロックでは、柔軟な書式設定ができます。

利用可能な要素:

  • rich_text_section:インライン書式を適用した単一行のテキスト
  • rich_text_list:箇条書きまたは番号付きリスト(style: "bullet" または style: "ordered")
  • rich_text_quote:縦線のスタイルが付いた引用ブロック

セクション内の要素タイプ:

  • text:プレーンテキストまたは書式付きテキスト(bold、italic、strike、code に対応)
  • link:任意の表示テキストを指定できるハイパーリンク
  • emoji:名前による絵文字
  • user:ユーザーへのメンション
  • channel:チャンネルへのメンション

箇条書きの例:

{
    "type": "rich_text",
    "elements": [
        {
            "type": "rich_text_list",
            "style": "bullet",
            "elements": [
                {
                    "type": "rich_text_section",
                    "elements": [{"type": "text", "text": "First item"}]
                },
                {
                    "type": "rich_text_section",
                    "elements": [{"type": "text", "text": "Second item"}]
                }
            ]
        }
    ]
}

番号付きリスト: "bullet" の代わりに "style": "ordered" を使います。

ネストしたリスト: indent プロパティを使います。

{
    "type": "rich_text_list",
    "style": "ordered",
    "indent": 1,
    "elements": [...]
}

インライン書式:

{
    "type": "text",
    "text": "Bold text",
    "style": {"bold": true}
}

利用可能なスタイル:bold、italic、strike、code

テキスト内のリンク:

{
    "type": "rich_text_section",
    "elements": [
        {"type": "text", "text": "Click "},
        {"type": "link", "text": "here", "url": "https://example.com"},
        {"type": "text", "text": " to continue"}
    ]
}

メッセージングツールのクイックリファレンス

操作ツール
メッセージを送信slack_messages_send
スレッドで返信slack_threads_replies_send
ファイルをアップロード/共有slack_files_upload
Block Kit メッセージを送信slack_messages_send_block_kit
長いメッセージを送信(3000文字超)slack_messages_send_large
メッセージを更新slack_messages_update
メッセージを削除slack_messages_delete
リアクションを追加slack_reactions_add
メッセージをピン留めslack_messages_pin
メッセージを検索slack_messages_search

チャンネル管理のクイックリファレンス

操作ツール
チャンネルを一覧表示slack_channels_list
チャンネル情報を取得slack_channels_get
チャンネルを作成slack_channels_create
チャンネルのトピックを設定slack_channels_topic_update
チャンネルの目的を設定slack_channels_purpose_update
ユーザーを招待slack_channels_users_invite
チャンネルメンバーを取得slack_channels_members_list

ユーザー操作のクイックリファレンス

操作ツール
ワークスペースのユーザーを一覧表示slack_users_list
ユーザープロフィールを取得slack_users_profile_get
メールアドレスでユーザーを検索slack_users_search_by_email
ユーザーのプレゼンスを取得slack_users_presence_get
自分のステータスを設定slack_users_status_update
リマインダーを作成slack_reminders_create

コメント