Skip to content
Marketing
Skill

/slack

Slack messaging, file sharing, Block Kit formatting, and channel management. Use when the user wants to send Slack messages, post rich Block Kit layouts, share files, react, or manage channels and members.

From plugin
hyper-marketing
10830 skills1 MCP

Claude Code

$ npx -y skills add hyperfx-ai/marketing-skills --skill slack --agent claude-code

SKILL.md

slack.SKILL.md
name: slack
description: Slack messaging, file sharing, Block Kit formatting, and channel management. Use when the user wants to send Slack messages, post rich Block Kit layouts, share files, react, or manage channels and members.
use_cases:
  - Send messages in Slack channels
  - Upload and share files in Slack
  - Share generated images in Slack
  - Format messages with Block Kit
  - Manage Slack channels and threads
  - Search Slack messages
triggers:
  - slack
  - channel
  - message
  - upload file
  - block kit
requires_toolkits:
  - slack_toolkit
suggested_toolkits: []
icon: slack
short_description: Send Slack messages, share files and images, and work with channels and threads.

Slack Messaging

This skill provides comprehensive guidance for Slack messaging, file sharing, and formatting.

Requirements

  • **Hyper MCP installed and connected.** [https://app.hyperfx.ai/mcp](https://app.hyperfx.ai/mcp)
  • **Slack integration** enabled at [https://app.hyperfx.ai/apps](https://app.hyperfx.ai/apps).

How to run the tools in this skill

Every tool in this skill is named by its canonical tool name. Run it with the call your surface gives you:

| Surface | Find a tool | Run it | | --- | --- | --- | | Hyper chat | Call the tool by its name; `search_tools(queries=["<provider> <action>"])` shows its parameters | `<name>(...)` | | MCP client (Claude, Cursor, Codex, ChatGPT) | `search("<what you want to do>")`, then `describe("<name>")` | `call_read("<name>", {...})`, `call_write` or `call_destructive`: the one that `describe` names in `call_with` | | Hyper CLI | `hyperai search "<what you want to do>"`, then `hyperai describe <name>` | `hyperai call <name> --json '{...}'` |

If a tool is not found: in Hyper chat, find its toolkit id with `discover_toolkits` and pass it to `enable_toolkit`. On an MCP client or the CLI, tell the user which integration to connect in Hyper.

When NOT to Respond

Return ONLY the text `[NO_RESPONSE]` (nothing else) in these situations:

1. **Message mentions another user, not you**: If the user mentions another person (e.g., `@John` or `@SomeOtherBot`) and the message is directed at that person, not you. 2. **User explicitly asks to be ignored**: If the user says something like "ignore this", "don't respond", or similar. 3. **Message is clearly not for you**: If the conversation is between other users and doesn't require your input. 4. **Simple acknowledgments between users**: Messages like "thanks", "ok", "got it" directed at another person.

**IMPORTANT**:

  • When you decide not to respond, return ONLY the exact text `[NO_RESPONSE]` with nothing before or after it.
  • When in doubt, respond. It's better to be helpful than to stay silent when someone needs you.
  • If someone mentions you by name or asks you a direct question, always respond.
  • In DMs (direct messages), always respond unless explicitly asked not to.

File Sharing - Critical Rules

**CRITICAL**: Files can ONLY be shared in Slack via upload. URLs and file paths do NOT render as viewable content in Slack.

  • Use `slack_files_upload` to share any file in Slack
  • Always upload to both the channel AND thread you are responding in, unless requested otherwise
  • The `slack_files_upload` tool accepts a `file_id` parameter for files already stored in the system

Sharing Generated Images

When you generate an image (e.g., via `images_generate`), the result includes a `file_id`. This image is NOT automatically displayed in Slack. You MUST explicitly upload it:

1. Generate the image using the image generation tool 2. Note the `file_id` from the result 3. Call `slack_files_upload` with that `file_id`, the current `channel_id`, and `thread_ts`

**Example workflow:**

  • User asks: "Generate an image of a sunset"
  • You call the image generation tool, which returns `file_id: "abc123"`
  • You then call `slack_files_upload(channel_id="C...", file_id="abc123", thread_ts="...")`
  • Now the image appears in Slack

Do NOT just say "Here's your image" without uploading it. The user will see nothing.

Sharing Other Files

For any file you want to share (documents, CSVs, etc.), use `slack_files_upload` with either:

  • `file_id`: For files already in the system
  • `file_path`: For local files
  • `content`: For text content to upload as a file

Message Formatting

Replies inside a Slack conversation

When a Slack direct message or thread runs you, your reply reaches that thread by itself. Hyper streams it while you write, or posts it as one message when you finish.

  • Write the reply in standard Markdown. Slack cannot stream Block Kit, and the reply cannot hold it.
  • Never send the reply again with a Slack tool.
  • Show a list of entities (ads, campaigns, channels, tasks) as a Markdown table in the reply: the name, the id, and the numbers asked for, at most 20 rows. Say how many rows you left out.
  • When the user explicitly asks for interactive elements such as buttons, post them with `slack_messages_send_block_kit` in the same thread, with a one-line `text`. Then say in one line that you posted them. Do not repeat their content in the reply.

The rest of this section applies to messages that you send with Slack tools.

When to Use Plain Text vs Block Kit

  • **Simple messages**: Use plain markdown text via `slack_messages_send` or `slack_threads_replies_send`
  • **Tables, lists, structured data**: Use Block Kit `rich_text` blocks via `slack_messages_send_block_kit`
  • **Messages over 3000 characters**: Use `slack_messages_send_large`

Slack Markdown

Slack uses a simplified markdown:

  • `*bold*` (single asterisks, not double)
  • `_italic_`
  • `~strikethrough~`
  • `` `code` `` for inline code
  • ` ```code block``` ` for code blocks
  • `<url|display text>` for links (NOT `[text](url)`)

Block Kit Rich Text

Block Kit's `rich_text` block provides flexible formatting:

**Available Elements:**

  • `rich_text_section`: Single line of text with inline formatting
  • `rich_text_list`: Bulleted or ordered lists
Read more
@hyperfx-ai
Ships withhyper-marketing

Agent Skills for marketing — paid ads, social media, SEO, AI search, competitor research, ad creative generation, email lifecycle, analytics, operations, and more.

10830 skills1 MCP
Get the whole plugin

Stars on GitHub

Momentum

stars in total
108
Star history of hyperfx-ai/marketing-skills on GitHub, a chart by star-history.com

Other skills on hyper-marketing.

amazon-ads

amazon-ads

Plan and create Amazon Sponsored Products campaigns end-to-end via the Hyper MCP. Use when the user wants to launch Amazon Ads,…

brand-context

brand-context

Create and maintain a single brand-context.md — positioning, audience, personas, pain points, customer language, voice, proof…

More skills from other plugins.

seo

seo

Comprehensive SEO analysis for any website or business type. Full site audits, single-page analysis, technical SEO (crawlability,…

@agricidaniel@agricidanielInstall Skill
brag

brag

Turn the current project website into a short, polished, shareable launch video using Hyperframes. Use when someone says "/brag",…

brag2w21k
@latent-spaces@latent-spacesInstall Skill
geo-audit

geo-audit

Full website GEO+SEO audit with parallel subagent delegation. Orchestrates a comprehensive Generative Engine Optimization audit…

Questions about slack.

Which coding agents can use slack?
slack installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.