slack について
slackスキルは、Hyper MCPとSlack連携を使うワークスペース向けに、メッセージ、ファイル共有、書式設定の手順を示します。返信しない条件や送信方法の選び方も扱います。
主な機能
- 01メッセージとスレッド返信のガイド
- 02ファイルのアップロードと共有ルール
- 03MarkdownとBlock Kitの書式説明
- 04チャンネルとメンバー管理ツール一覧
- 05ユーザープロフィール、ステータス、リマインダー
- 06返信しない条件の判断
活用シーン
- 01Slackメッセージの作成や返信
- 02チャンネルやスレッドへのファイル投稿
- 03表やインタラクティブ要素の書式設定
- 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 でのメッセージ送信、ファイル共有、書式設定について包括的に説明します。
要件
- Hyper MCP がインストールされ、接続されていること。 https://app.hyperfx.ai/mcp
- https://app.hyperfx.ai/apps で Slack の連携 が有効になっていること。
このスキルのツールの実行方法
このスキルの各ツールには、正規のツール名が付けられています。利用している環境で指定されている呼び出し方法で実行してください。
| 環境 | ツールを探す | 実行する |
|---|---|---|
| MCP クライアント(Claude、Cursor、Codex、ChatGPT) | search("<what you want to do>") を実行し、続けて describe("<name>") | call("<name>", {...}) |
| Hyper CLI | hyperai search "<what you want to do>" を実行し、続けて hyperai describe <name> | hyperai call <name> --json '{...}' |
ツールが見つからない場合、その連携はワークスペースに接続されていないか、有効になっていません。作業を中止し、接続する連携をユーザーに伝えてください。
返信しない場合
以下の場合は、テキスト [NO_RESPONSE] のみを返してください(ほかの内容は一切付けないでください)。
- メッセージがあなたではなく、別のユーザーに言及している場合:ユーザーが別の人(例:
@Johnや@SomeOtherBot)に言及し、その人に向けてメッセージを送っている場合。 - ユーザーが明示的に無視するよう求めた場合:「これを無視して」「返信しないで」など、同様のことをユーザーが言った場合。
- メッセージが明らかにあなた宛てではない場合:会話がほかのユーザー間で行われており、あなたの入力を必要としていない場合。
- ユーザー間の簡単な相づちの場合:別の人に向けた「ありがとう」「はい」「了解」などのメッセージ。
重要:
- 返信しないと判断した場合は、前後に何も付けず、正確に
[NO_RESPONSE]のみを返してください。 - 判断に迷った場合は返信してください。誰かが必要としているときに黙っているより、役に立つことが大切です。
- 誰かがあなたの名前を挙げた場合や、直接質問した場合は必ず返信してください。
- DM(ダイレクトメッセージ)では、明示的に返信しないよう求められた場合を除き、必ず返信してください。
ファイル共有 — 重要なルール
重要:Slack でファイルを共有できるのは、アップロードする場合のみです。URL とファイルパスは、Slack 上で閲覧可能なコンテンツとして表示されません。
- Slack でファイルを共有するには、
slack_files_uploadを使用してください - 特に指示がない限り、返信するチャンネルとスレッドの両方に必ずアップロードしてください
slack_files_uploadツールは、システムにすでに保存されているファイルを指定するfile_idパラメーターを受け付けます
生成した画像の共有
画像を生成した場合(例:images_generate を使用)、結果には file_id が含まれます。この画像は Slack に自動的には表示されません。明示的にアップロードする必要があります。
- 画像生成ツールを使用して画像を生成します
- 結果から
file_idを確認します 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 |