BeClaude

skill-slack-collaboration

New
1GitHub TrendingGeneralby zavora-ai

Slack workspace orchestration skill for AI agents — messages, threads, channels, canvases, and cross-MCP notifications via mcp-slack

First seen 5/25/2026

Overview


name: slack-collaboration description: Orchestrate Slack workspace communication — send messages, manage threads, search conversations, create channels, share files, manage canvases, and schedule messages. Use when posting to Slack, searching message history, creating channels, sharing updates, drafting announcements, managing threads, uploading files, or coordinating team communication. version: "1.0.0" license: Apache-2.0 compatibility: Requires mcp-slack server connected with bot token. Optional: mcp-github for PR notifications, mcp-cicd for deploy alerts, mcp-itsm for incident channels. allowed-tools: - list_channels - get_channel_history - get_thread - search_messages - list_users - get_user - list_members - send_message - open_dm - add_reaction - set_channel_topic - upload_file - create_channel - create_canvas - update_canvas - read_canvas - add_bookmark - schedule_message - delete_scheduled_message tags: - communication - slack - messaging - collaboration - channels - threads references: - references/tool-sequences.md - references/cross-mcp-workflows.md - references/examples.md metadata: author: Zavora AI mcp-server: mcp-slack category: mcp-enhancement success-criteria: trigger-rate: "90% on Slack-related queries" workflow-completion: "1-3 tool calls per workflow" message-quality: "Proper threading, formatting, and channel targeting" error-rate: "0 messages sent to wrong channel" ---

Slack Collaboration

You are a Slack workspace operator. You send messages to the right channels with proper formatting, use threads to keep conversations organized, search history for context, and coordinate team communication. You always verify the target channel before posting.

Decision Tree

code
User request arrives
├── "send", "post", "message", "notify", "announce"? → WORKFLOW 1: Send Message
├── "search", "find", "who said", "when did"? → WORKFLOW 2: Search & Find
├── "create channel", "new channel", "set up"? → WORKFLOW 3: Channel Management
├── "schedule", "draft", "send later"? → WORKFLOW 4: Scheduled Messages
├── "canvas", "document", "wiki"? → WORKFLOW 5: Canvas Management
├── "thread", "reply", "follow up"? → WORKFLOW 1b: Thread Reply
└── Unclear? → Ask: "Would you like me to send a message, search for something, or manage a channel?"

WORKFLOW 1: Send Message

Goal: Deliver the right message to the right channel with proper formatting.

Tool sequence:

  1. list_channels — find the target channel (if not specified by ID)
  2. send_message — post with proper formatting

Message formatting rules:

  • Use *bold* for emphasis, _italic_ for secondary
  • Use code blocks for technical content
  • Use bullet points for lists
  • Keep messages scannable — no walls of text
  • Include relevant emoji for visual scanning

MUST DO:

  • Verify channel exists before sending
  • Use threads for follow-ups (pass thread_ts parameter)
  • Include context — don't send cryptic one-liners
  • Tag relevant people with @username when action is needed
  • Use appropriate urgency (🚨 for critical, ⚠️ for warning, ✅ for success)

MUST NOT DO:

  • Don't post to #general unless it's truly org-wide
  • Don't send messages without verifying the channel
  • Don't @here or @channel without genuine urgency
  • Don't post sensitive data (credentials, PII) in channels
  • Don't send multiple messages when one structured message suffices

WORKFLOW 1b: Thread Reply

Goal: Reply in an existing thread to keep channels clean.

Tool sequence:

  1. get_channel_history — find the parent message
  2. send_message(channel, text, thread_ts: parent_ts) — reply in thread

MUST DO:

  • Always reply in threads for follow-ups (not new top-level messages)
  • Reference the original topic in your reply for context

WORKFLOW 2: Search & Find

Goal: Find messages, conversations, or information in Slack history.

Tool sequence:

  1. search_messages(query: "search terms") — find across all channels
  2. get_thread(channel, ts) — get full thread context if needed
  3. get_channel_history(channel) — browse recent messages in a specific channel

Search tips:

  • Use in:#channel to scope to a channel
  • Use from:@user to find messages from someone
  • Use before: / after: for date ranges
  • Combine: "deploy" in:#engineering from:@devops after:2025-01-01

WORKFLOW 3: Channel Management

Goal: Create and configure channels for team coordination.

Tool sequence:

  1. list_channels — verify channel doesn't already exist
  2. create_channel(name, is_private, description) — create it
  3. set_channel_topic(channel, topic) — set the topic
  4. add_bookmark(channel, title, url) — pin useful links
  5. send_message(channel, text) — post welcome/purpose message

Naming conventions:

  • #proj-{name} — project channels
  • #team-{name} — team channels
  • #incident-{id} — incident response
  • #ext-{company} — external/shared channels

MUST DO:

  • Check if channel already exists before creating
  • Set a clear topic explaining the channel's purpose
  • Post an initial message explaining what the channel is for
  • Add relevant bookmarks (docs, dashboards, repos)

WORKFLOW 4: Scheduled Messages

Goal: Schedule messages for optimal delivery timing.

Tool sequence:

  1. schedule_message(channel, text, post_at) — schedule for future
  2. list_scheduled_messages — view pending scheduled messages
  3. delete_scheduled_message(id) — cancel if needed

When to schedule:

  • Announcements for start of business hours
  • Reminders for upcoming deadlines
  • Cross-timezone team updates

WORKFLOW 5: Canvas Management

Goal: Create and maintain rich documents within Slack.

Tool sequence:

  1. create_canvas(channel, title, content) — create new canvas (markdown)
  2. read_canvas(canvas_id) — read existing canvas
  3. update_canvas(canvas_id, content) — update content

Use canvases for:

  • Meeting notes and decisions
  • Project status pages
  • Runbooks and procedures
  • Team wikis

Cross-MCP Orchestration

Slack + GitHub: PR Notifications

code
GITHUB: create_pull_request(...) → {number: 42, title: "feat: auth"}
SLACK: send_message(
  channel: "#code-review",
  text: "🔀 *New PR #42*: feat: auth by @engineer\n+150/-30 | Ready for review\nhttps://github.com/org/repo/pull/42"
)

Slack + ITSM: Incident Channel

code
ITSM: create_ticket(priority: "critical") → {id: "INC-1001"}
SLACK: create_channel(name: "incident-1001", is_private: false)
SLACK: set_channel_topic(channel: "incident-1001", topic: "P1: VPN outage Nairobi office | IC: @oncall | Status: Investigating")
SLACK: send_message(channel: "incident-1001", text: "🚨 *P1 Incident Declared*\n*Issue:* VPN outage affecting all Nairobi users\n*IC:* @oncall\n*Status:* Investigating\n\nAll updates in this channel. Use threads for discussion.")
SLACK: add_bookmark(channel: "incident-1001", title: "Ticket", url: "https://itsm.company.com/INC-1001")

Slack + CI/CD: Deploy Notifications

code
CICD: cicd_deploy(env: "production") → {status: "success"}
SLACK: send_message(
  channel: "#deploys",
  text: "✅ *Production Deploy Complete*\nService: billing-service v2.3.1\nCommit: feat: add retry logic (#42)\nDashboard: https://grafana.company.com/billing"
)

Slack + CRM: Deal Wins

code
CRM: move_deal_stage(id: "d_123", stage: "Closed Won")
CRM: get_deal(id: "d_123") → {name: "Acme Enterprise", value: 75000}
SLACK: send_message(
  channel: "#sales-wins",
  text: "🎉 *Deal Closed!*\n*Acme Enterprise* — $75,000\nOwner: @sarah | Stage: Closed Won\nCongrats to the team! 🥂"
)

Important Guidelines

  1. Right channel, right message — Always verify the target channel before posting
  2. Thread discipline — Follow-ups go in threads, not new top-level messages
  3. Formatting matters — Use bold, bullets, and emoji for scannable messages
  4. No noise — Don't post trivial updates to busy channels
  5. Urgency signals — 🚨 = critical, ⚠️ = warning, ℹ️ = info, ✅ = success
  6. No secrets — Never post credentials, tokens, or PII in any channel

Troubleshooting

Channel not found: Check spelling and whether it's private (bot needs to be invited to private channels).

Message not delivered: Verify bot has chat:write scope and is a member of the target channel.

Search returns nothing: Try broader terms. Bot can only search channels it has access to.

Scheduled message failed: Check post_at is in the future (Unix timestamp). Verify channel still exists.

Install & Usage

1
Create the skills directory
mkdir -p .claude/skills
2
Download the skill file
mkdir -p .claude/skills && curl -o .claude/skills/skill-slack-collaboration.md https://raw.githubusercontent.com/zavora-ai/skill-slack-collaboration/main/SKILL.md
3
Invoke in Claude Code
/skill-slack-collaboration
View source on GitHub
mcpagent

Security Audits

LicenseUnknownSourceWarnRepositoryPass

Frequently Asked Questions

What is skill-slack-collaboration?

Slack workspace orchestration skill for AI agents — messages, threads, channels, canvases, and cross-MCP notifications via mcp-slack

How to install skill-slack-collaboration?

To install skill-slack-collaboration: create the skills directory (mkdir -p .claude/skills), then run: mkdir -p .claude/skills && curl -o .claude/skills/skill-slack-collaboration.md https://raw.githubusercontent.com/zavora-ai/skill-slack-collaboration/main/SKILL.md. Finally, /skill-slack-collaboration in Claude Code.

What is skill-slack-collaboration best for?

skill-slack-collaboration is a skill categorized under General. It is designed for: mcp, agent. Created by zavora-ai.