MR
Mayur Rathi
@mayurrathi
⭐ 5 GitHub stars

Slack Automation

Automate Slack messaging, channel management, search, reactions, and threads via Rube MCP (Composio). Send messages, search conversations, manage channels/users, and react to messages programmatica...

mkdir -p ./skills/slack-automation && curl -sfL https://raw.githubusercontent.com/mayurrathi/awesome-agent-skills/main/skills/slack-automation/SKILL.md -o ./skills/slack-automation/SKILL.md

Run in terminal / PowerShell. Requires curl (Unix) or PowerShell 5+ (Windows).

Skill Content

# Slack Automation via Rube MCP


Automate Slack workspace operations including messaging, search, channel management, and reaction workflows through Composio's Slack toolkit.


Prerequisites


- Rube MCP must be connected (RUBE_SEARCH_TOOLS available)

- Active Slack connection via `RUBE_MANAGE_CONNECTIONS` with toolkit `slack`

- Always call `RUBE_SEARCH_TOOLS` first to get current tool schemas


Setup


**Get Rube MCP**: Add `https://rube.app/mcp` as an MCP server in your client configuration. No API keys needed — just add the endpoint and it works.



1. Verify Rube MCP is available by confirming `RUBE_SEARCH_TOOLS` responds

2. Call `RUBE_MANAGE_CONNECTIONS` with toolkit `slack`

3. If connection is not ACTIVE, follow the returned auth link to complete Slack OAuth

4. Confirm connection status shows ACTIVE before running any workflows


Core Workflows


1. Send Messages to Channels


**When to use**: User wants to post a message to a Slack channel or DM


**Tool sequence**:

1. `SLACK_FIND_CHANNELS` - Resolve channel name to channel ID [Prerequisite]

2. `SLACK_LIST_ALL_CHANNELS` - Fallback if FIND_CHANNELS returns empty/ambiguous results [Fallback]

3. `SLACK_FIND_USERS` - Resolve user for DMs or @mentions [Optional]

4. `SLACK_OPEN_DM` - Open/reuse a DM channel if messaging a user directly [Optional]

5. `SLACK_SEND_MESSAGE` - Post the message with resolved channel ID [Required]

6. `SLACK_UPDATES_A_SLACK_MESSAGE` - Edit the posted message if corrections needed [Optional]


**Key parameters**:

- `channel`: Channel ID or name (without '#' prefix)

- `markdown_text`: Preferred field for formatted messages (supports headers, bold, italic, code blocks)

- `text`: Raw text fallback (deprecated in favor of markdown_text)

- `thread_ts`: Timestamp of parent message to reply in a thread

- `blocks`: Block Kit layout blocks (deprecated, use markdown_text)


**Pitfalls**:

- `SLACK_FIND_CHANNELS` requires `query` param; missing it errors with "Invalid request data provided"

- `SLACK_SEND_MESSAGE` requires valid channel plus one of markdown_text/text/blocks/attachments

- Invalid block payloads return error=invalid_blocks (max 50 blocks)

- Replies become top-level posts if `thread_ts` is omitted

- Persist `response.data.channel` and `response.data.message.ts` from SEND_MESSAGE for edit/thread operations


2. Search Messages and Conversations


**When to use**: User wants to find specific messages across the workspace


**Tool sequence**:

1. `SLACK_FIND_CHANNELS` - Resolve channel for scoped search with `in:#channel` [Optional]

2. `SLACK_FIND_USERS` - Resolve user for author filter with `from:@user` [Optional]

3. `SLACK_SEARCH_MESSAGES` - Run keyword search across accessible conversations [Required]

4. `SLACK_FETCH_MESSAGE_THREAD_FROM_A_CONVERSATION` - Expand threads for relevant hits [Required]


**Key parameters**:

- `query`: Search string supporting modifiers (`in:#channel`, `from:@user`, `before:YYYY-MM-DD`, `after:YYYY-MM-DD`, `has:link`, `has:file`)

- `count`: Results per page (max 100), or total with auto_paginate=true

- `sort`: 'score' (relevance) or 'timestamp' (chronological)

- `sort_dir`: 'asc' or 'desc'


**Pitfalls**:

- Validation fails if `query` is missing/empty

- `ok=true` can still mean no hits (`response.data.messages.total=0`)

- Matches are under `response.data.messages.matches` (sometimes also `response.data_preview.messages.matches`)

- `match.text` may be empty/truncated; key info can appear in `matches[].attachments[]`

- Thread expansion via FETCH_MESSAGE_THREAD can truncate when `response.data.has_more=true`; paginate via `response_metadata.next_cursor`


3. Manage Channels and Users


**When to use**: User wants to list channels, users, or workspace info


**Tool sequence**:

1. `SLACK_FETCH_TEAM_INFO` - Validate connectivity and get workspace identity [Required]

2. `SLACK_LIST_ALL_CHANNELS` - Enumerate public channels [Required]

3. `SLACK_LIST_CONVERSATIONS` - Include private channels and DMs [Optional]

4. `SLACK_LIST_ALL_U

🎯 Best For

  • Claude users
  • Software engineers
  • Development teams
  • Tech leads

💡 Use Cases

  • React component optimization
  • Hook dependency audits

📖 How to Use This Skill

  1. 1

    Install the Skill

    Copy the install command from the Terminal tab and run it. The SKILL.md file downloads to your local skills directory.

  2. 2

    Load into Your AI Assistant

    Open Claude and reference the skill. Paste the SKILL.md content or use the system prompt tab.

  3. 3

    Apply Slack Automation to Your Work

    Open your project in the AI assistant and ask it to apply the skill. Start with a small module to verify the output quality.

  4. 4

    Review and Refine

    Review AI suggestions before committing. Run tests, check for regressions, and iterate on the skill output.

❓ Frequently Asked Questions

Is Slack Automation compatible with Cursor and VS Code?

Yes — this skill works with any AI coding assistant including Cursor, VS Code with Copilot, and JetBrains IDEs.

Do I need specific dependencies for Slack Automation?

Check the install command and Works With section. Most code skills only require the AI assistant and your codebase.

How do I install Slack Automation?

Copy the install command from the Terminal tab and run it. The skill downloads to ./skills/slack-automation/SKILL.md, ready to use.

Can I customize this skill for my team?

Absolutely. Edit the SKILL.md file to add team-specific instructions, examples, or workflows.

⚠️ Common Mistakes to Avoid

Skipping validation

Always test AI-generated code changes, even for simple refactors.

Missing dependency updates

Check if the skill requires updated dependencies or new packages.

🔗 Related Skills