Smithery Logo
MCPsSkillsDocsPricing
Login
NewFlame, an assistant that learns and improves. Available onTelegramSlack
    neversight

    slack-notifications

    neversight/slack-notifications
    Communication
    2

    About

    SKILL.md

    Install

    • Telegram
      Telegram
    • Slack
      Slack
    • Claude Code
      Claude Code
    • Codex
      Codex
    • OpenClaw
      OpenClaw
    • Cursor
      Cursor
    • Amp
      Amp
    • GitHub Copilot
      GitHub Copilot
    • Gemini CLI
      Gemini CLI
    • Kilo Code
      Kilo Code
    • Junie
      Junie
    • Replit
      Replit
    • Windsurf
      Windsurf
    • Cline
      Cline
    • Continue
      Continue
    • OpenCode
      OpenCode
    • OpenHands
      OpenHands
    • Roo Code
      Roo Code
    • Augment
      Augment
    • Goose
      Goose
    • Trae
      Trae
    • Zencoder
      Zencoder
    • Antigravity
      Antigravity
    • Download skill
    ├─
    ├─
    └─
    Smithery Logo

    Give agents more agency

    Resources

    DocumentationPrivacy PolicySystem Status

    Company

    PricingAboutBlog

    Connect

    © 2026 Smithery. All rights reserved.

    About

    Slack messaging, channels, and notifications - send messages, manage channels, interact with users, upload files, and add reactions...

    SKILL.md

    Slack Notifications Skill

    Overview

    This skill provides Slack API operations with progressive disclosure for optimal context usage.

    Context Savings: ~90% reduction

    • MCP Mode: ~15,000 tokens always loaded (30+ tools)
    • Skill Mode: ~500 tokens metadata + on-demand loading

    Requirements

    • SLACK_BOT_TOKEN environment variable (required)
    • SLACK_SIGNING_SECRET environment variable (optional, for event verification)
    • SLACK_APP_TOKEN environment variable (optional, for Socket Mode)

    Setting up Slack Bot Token

    1. Create a Slack App at https://api.slack.com/apps
    2. Navigate to "OAuth & Permissions"
    3. Add required bot token scopes:
      • chat:write - Send messages
      • channels:read - List channels
      • channels:history - Read channel history
      • users:read - List users
      • files:write - Upload files
      • reactions:write - Add reactions
    4. Install app to workspace
    5. Copy "Bot User OAuth Token" to SLACK_BOT_TOKEN environment variable

    Tools

    The skill provides 14 tools across 5 categories:

    Category Tools Confirmation Required
    Messaging post-message, post-thread, update-message, delete-message Yes (all)
    Channels list-channels, get-channel, channel-history No
    Users list-users, get-user, user-presence No
    Files upload-file, list-files Yes (upload only)
    Reactions add-reaction, get-reactions No

    Quick Reference

    # Post message to channel
    curl -X POST https://slack.com/api/chat.postMessage \
      -H "Authorization: Bearer $SLACK_BOT_TOKEN" \
      -H "Content-Type: application/json" \
      -d '{"channel": "C1234567890", "text": "Hello from Claude!"}'
    
    # List channels
    curl -X GET "https://slack.com/api/conversations.list" \
      -H "Authorization: Bearer $SLACK_BOT_TOKEN"
    
    # Upload file
    curl -X POST https://slack.com/api/files.upload \
      -H "Authorization: Bearer $SLACK_BOT_TOKEN" \
      -F "channels=C1234567890" \
      -F "file=@report.pdf" \
      -F "title=Weekly Report"
    

    Tool Details

    Messaging Tools (Confirmation Required)

    post-message

    Send a message to a Slack channel.

    Parameters:

    • channel (required): Channel ID or name (e.g., "C1234567890" or "#general")
    • text (required): Message text (supports Slack markdown)
    • thread_ts (optional): Parent message timestamp for threading
    • blocks (optional): Rich message blocks (JSON array)

    Example:

    curl -X POST https://slack.com/api/chat.postMessage \
      -H "Authorization: Bearer $SLACK_BOT_TOKEN" \
      -H "Content-Type: application/json" \
      -d '{
        "channel": "C1234567890",
        "text": "Deployment successful!",
        "blocks": [
          {
            "type": "section",
            "text": {
              "type": "mrkdwn",
              "text": "*Deployment Status*\n:white_check_mark: Production deployed successfully"
            }
          }
        ]
      }'
    

    post-thread

    Reply to a message in a thread.

    Parameters:

    • channel (required): Channel ID
    • thread_ts (required): Parent message timestamp
    • text (required): Reply text

    Example:

    curl -X POST https://slack.com/api/chat.postMessage \
      -H "Authorization: Bearer $SLACK_BOT_TOKEN" \
      -H "Content-Type: application/json" \
      -d '{
        "channel": "C1234567890",
        "thread_ts": "1234567890.123456",
        "text": "Thread reply here"
      }'
    

    update-message

    Update an existing message.

    Parameters:

    • channel (required): Channel ID
    • ts (required): Message timestamp
    • text (required): New message text

    Example:

    curl -X POST https://slack.com/api/chat.update \
      -H "Authorization: Bearer $SLACK_BOT_TOKEN" \
      -H "Content-Type: application/json" \
      -d '{
        "channel": "C1234567890",
        "ts": "1234567890.123456",
        "text": "Updated message"
      }'
    

    delete-message

    Delete a message.

    Parameters:

    • channel (required): Channel ID
    • ts (required): Message timestamp

    Example:

    curl -X POST https://slack.com/api/chat.delete \
      -H "Authorization: Bearer $SLACK_BOT_TOKEN" \
      -H "Content-Type: application/json" \
      -d '{
        "channel": "C1234567890",
        "ts": "1234567890.123456"
      }'
    

    Channel Tools

    list-channels

    List all channels in workspace.

    Parameters:

    • types (optional): Comma-separated channel types (default: "public_channel")
      • Options: "public_channel", "private_channel", "mpim", "im"
    • limit (optional): Max channels to return (default: 100)

    Example:

    curl -X GET "https://slack.com/api/conversations.list?types=public_channel,private_channel" \
      -H "Authorization: Bearer $SLACK_BOT_TOKEN"
    

    get-channel

    Get channel information.

    Parameters:

    • channel (required): Channel ID

    Example:

    curl -X GET "https://slack.com/api/conversations.info?channel=C1234567890" \
      -H "Authorization: Bearer $SLACK_BOT_TOKEN"
    

    channel-history

    Get channel message history.

    Parameters:

    • channel (required): Channel ID
    • limit (optional): Max messages to return (default: 100)
    • oldest (optional): Start of time range (Unix timestamp)
    • latest (optional): End of time range (Unix timestamp)

    Example:

    curl -X GET "https://slack.com/api/conversations.history?channel=C1234567890&limit=50" \
      -H "Authorization: Bearer $SLACK_BOT_TOKEN"
    

    Security Note: Channel history may contain sensitive information. Use with caution.

    User Tools

    list-users

    List all users in workspace.

    Parameters:

    • limit (optional): Max users to return (default: 100)

    Example:

    curl -X GET "https://slack.com/api/users.list" \
      -H "Authorization: Bearer $SLACK_BOT_TOKEN"
    

    get-user

    Get user profile information.

    Parameters:

    • user (required): User ID

    Example:

    curl -X GET "https://slack.com/api/users.info?user=U1234567890" \
      -H "Authorization: Bearer $SLACK_BOT_TOKEN"
    

    user-presence

    Get user online status.

    Parameters:

    • user (required): User ID

    Example:

    curl -X GET "https://slack.com/api/users.getPresence?user=U1234567890" \
      -H "Authorization: Bearer $SLACK_BOT_TOKEN"
    

    File Tools

    upload-file (Confirmation Required)

    Upload a file to Slack channel.

    Parameters:

    • channels (required): Comma-separated channel IDs
    • file (required): File path to upload
    • title (optional): File title
    • initial_comment (optional): Message text

    Example:

    curl -X POST https://slack.com/api/files.upload \
      -H "Authorization: Bearer $SLACK_BOT_TOKEN" \
      -F "channels=C1234567890" \
      -F "file=@C:\reports\weekly.pdf" \
      -F "title=Weekly Report" \
      -F "initial_comment=Here is this week's report"
    

    list-files

    List files in channel.

    Parameters:

    • channel (optional): Channel ID to filter by
    • user (optional): User ID to filter by
    • count (optional): Max files to return (default: 100)

    Example:

    curl -X GET "https://slack.com/api/files.list?channel=C1234567890" \
      -H "Authorization: Bearer $SLACK_BOT_TOKEN"
    

    Reaction Tools

    add-reaction

    Add emoji reaction to a message.

    Parameters:

    • channel (required): Channel ID
    • timestamp (required): Message timestamp
    • name (required): Emoji name (without colons, e.g., "thumbsup")

    Example:

    curl -X POST https://slack.com/api/reactions.add \
      -H "Authorization: Bearer $SLACK_BOT_TOKEN" \
      -H "Content-Type: application/json" \
      -d '{
        "channel": "C1234567890",
        "timestamp": "1234567890.123456",
        "name": "thumbsup"
      }'
    

    get-reactions

    Get reactions on a message.

    Parameters:

    • channel (required): Channel ID
    • timestamp (required): Message timestamp

    Example:

    curl -X GET "https://slack.com/api/reactions.get?channel=C1234567890&timestamp=1234567890.123456" \
      -H "Authorization: Bearer $SLACK_BOT_TOKEN"
    

    Agent Integration

    Primary Agents

    • devops: Infrastructure alerts, deployment notifications, monitoring
    • incident-responder: Incident alerts, status updates, escalations

    Secondary Agents

    • pm: Sprint notifications, milestone updates, team announcements
    • developer: Build notifications, PR alerts, test results
    • qa: Test failure alerts, quality reports
    • security-architect: Security alerts, vulnerability notifications

    Common Use Cases

    Deployment Notifications

    # Notify channel of successful deployment
    curl -X POST https://slack.com/api/chat.postMessage \
      -H "Authorization: Bearer $SLACK_BOT_TOKEN" \
      -H "Content-Type: application/json" \
      -d '{
        "channel": "#deployments",
        "text": ":rocket: Production deployment completed",
        "blocks": [
          {
            "type": "section",
            "text": {
              "type": "mrkdwn",
              "text": "*Production Deployment*\n:white_check_mark: v1.2.3 deployed successfully\n*Duration:* 5m 23s"
            }
          }
        ]
      }'
    

    Incident Alerts

    # Alert on-call team of incident
    curl -X POST https://slack.com/api/chat.postMessage \
      -H "Authorization: Bearer $SLACK_BOT_TOKEN" \
      -H "Content-Type: application/json" \
      -d '{
        "channel": "#incidents",
        "text": "<!channel> :rotating_light: High severity incident detected",
        "blocks": [
          {
            "type": "section",
            "text": {
              "type": "mrkdwn",
              "text": "*Incident INC-1234*\n:rotating_light: *Severity:* P1\n*Service:* API Gateway\n*Status:* 503 errors increasing"
            }
          }
        ]
      }'
    

    Test Results

    # Post test results
    curl -X POST https://slack.com/api/chat.postMessage \
      -H "Authorization: Bearer $SLACK_BOT_TOKEN" \
      -H "Content-Type: application/json" \
      -d '{
        "channel": "#qa",
        "text": "Test suite completed",
        "blocks": [
          {
            "type": "section",
            "text": {
              "type": "mrkdwn",
              "text": "*Test Results*\n:white_check_mark: 245 passed\n:x: 3 failed\n:warning: 2 skipped"
            }
          }
        ]
      }'
    

    Security Considerations

    Token Security

    • NEVER expose bot token in logs or error messages
    • Store token in environment variable, not in code
    • Use least-privilege scopes for bot token
    • Rotate tokens periodically

    Message Security

    • All message operations require confirmation
    • Channel history may contain sensitive information (PII, credentials, etc.)
    • Validate channel permissions before posting
    • Use private channels for sensitive communications

    Data Privacy

    • Comply with workspace data retention policies
    • Avoid posting PII or credentials in messages
    • Use Slack's data export features for compliance
    • Respect user privacy and online status

    Error Handling

    Common Errors

    Error Cause Solution
    not_authed Missing or invalid token Check SLACK_BOT_TOKEN is set correctly
    channel_not_found Invalid channel ID Verify channel ID with list-channels
    missing_scope Bot lacks required permission Add scope in Slack App settings
    rate_limited Too many requests Implement exponential backoff
    message_not_found Invalid timestamp Check message timestamp is correct

    Retry Strategy

    For rate limiting errors, implement exponential backoff:

    1. Wait 1 second, retry
    2. Wait 2 seconds, retry
    3. Wait 4 seconds, retry
    4. Wait 8 seconds, retry
    5. Give up after 5 attempts

    Rate Limits

    Slack API rate limits:

    • Tier 1: 1 request per second
    • Tier 2: 20 requests per minute
    • Tier 3: 50 requests per minute
    • Tier 4: 100 requests per minute

    Methods by tier:

    • chat.postMessage: Tier 3 (50/min)
    • conversations.list: Tier 2 (20/min)
    • users.list: Tier 2 (20/min)
    • files.upload: Tier 4 (100/min)

    Related

    • Slack API Documentation: https://api.slack.com/docs
    • Block Kit Builder: https://app.slack.com/block-kit-builder
    • Slack App Management: https://api.slack.com/apps

    Memory Protocol (MANDATORY)

    Before starting: Read .claude/context/memory/learnings.md

    After completing:

    • New pattern -> .claude/context/memory/learnings.md
    • Issue found -> .claude/context/memory/issues.md
    • Decision made -> .claude/context/memory/decisions.md

    ASSUME INTERRUPTION: If it's not in memory, it didn't happen.

    Recommended Servers
    OneSignal
    OneSignal
    AgentMail
    AgentMail
    Twitch
    Twitch
    Repository
    neversight/skills_feed