🎯

slack

🎯Skill

from vm0-ai/vm0-skills

VibeIndex|
What it does

Sends and retrieves messages, manages channels, and interacts with Slack workspaces using the Slack API.

πŸ“¦

Part of

vm0-ai/vm0-skills(138 items)

slack

Installation

Add MarketplaceAdd marketplace to Claude Code
/plugin marketplace add vm0-ai/vm0-skills
Install PluginInstall plugin from marketplace
/plugin install notion@vm0-skills
Install PluginInstall plugin from marketplace
/plugin install slack-webhook@vm0-skills
git cloneClone repository
git clone https://github.com/vm0-ai/vm0-skills.git
πŸ“– Extracted from docs: vm0-ai/vm0-skills
12Installs
-
AddedFeb 4, 2026

Skill Details

SKILL.md

Slack API for sending messages, reading channels, and managing conversations. Use this skill to post messages, upload files, and interact with Slack workspaces.

Overview

# Slack API

Send messages, read channels, and interact with Slack workspaces.

When to Use

  • Send messages to channels or users
  • Read channel message history
  • Upload files to Slack
  • List channels and users
  • Add reactions to messages

Prerequisites

```bash

export SLACK_BOT_TOKEN=xoxb-your-bot-token

```

Get Token

  1. Create app: https://api.slack.com/apps
  2. Add Bot Token Scopes (OAuth & Permissions):

- chat:write - Send messages

- channels:read - List public channels

- channels:history - Read channel messages

- files:write - Upload files

- users:read - List users

- reactions:write - Add reactions

  1. Install to Workspace
  2. Copy "Bot User OAuth Token" (xoxb-...)

> Important: When using $VAR in a command that pipes to another command, wrap the command containing $VAR in bash -c '...'. Due to a Claude Code bug, environment variables are silently cleared when pipes are used directly.

> ```bash

> bash -c 'curl -s "https://api.example.com" -H "Authorization: Bearer $API_KEY"'

> ```

Core APIs

List Channels

```bash

bash -c 'curl -s -H "Authorization: Bearer $SLACK_BOT_TOKEN" "https://slack.com/api/conversations.list?types=public_channel"' | jq '.channels[] | {id, name}'

```

Docs: https://docs.slack.dev/reference/methods/conversations.list

Get Channel History

Replace with the actual channel ID:

```bash

bash -c 'curl -s -H "Authorization: Bearer $SLACK_BOT_TOKEN" "https://slack.com/api/conversations.history?channel=&limit=10"' | jq '.messages[] | {ts, user, text}'

```

Docs: https://docs.slack.dev/reference/methods/conversations.history

Send Message

Write to /tmp/request.json:

```json

{

"channel": "",

"text": "Hello, World"

}

```

```bash

bash -c 'curl -s -X POST "https://slack.com/api/chat.postMessage" -H "Authorization: Bearer $SLACK_BOT_TOKEN" -H "Content-Type: application/json" -d @/tmp/request.json'

```

Docs: https://docs.slack.dev/reference/methods/chat.postmessage

Send with Blocks

Write to /tmp/request.json:

```json

{

"channel": "",

"text": "Notification",

"blocks": [

{

"type": "section",

"text": {"type": "mrkdwn", "text": "Alert: Something happened"}

},

{

"type": "section",

"fields": [

{"type": "mrkdwn", "text": "Status:\nActive"},

{"type": "mrkdwn", "text": "Priority:\nHigh"}

]

}

]

}

```

```bash

bash -c 'curl -s -X POST "https://slack.com/api/chat.postMessage" -H "Authorization: Bearer $SLACK_BOT_TOKEN" -H "Content-Type: application/json" -d @/tmp/request.json'

```

Block Kit Builder: https://app.slack.com/block-kit-builder

Reply in Thread

Write to /tmp/request.json:

```json

{

"channel": "",

"thread_ts": "",

"text": "Thread reply"

}

```

```bash

bash -c 'curl -s -X POST "https://slack.com/api/chat.postMessage" -H "Authorization: Bearer $SLACK_BOT_TOKEN" -H "Content-Type: application/json" -d @/tmp/request.json'

```

Update Message

Write to /tmp/request.json:

```json

{

"channel": "",

"ts": "",

"text": "Updated message"

}

```

```bash

bash -c 'curl -s -X POST "https://slack.com/api/chat.update" -H "Authorization: Bearer $SLACK_BOT_TOKEN" -H "Content-Type: application/json" -d @/tmp/request.json'

```

Docs: https://docs.slack.dev/reference/methods/chat.update

Delete Message

Write to /tmp/request.json:

```json

{

"channel": "",

"ts": ""

}

```

```bash

bash -c 'curl -s -X POST "https://slack.com/api/chat.delete" -H "Authorization: Bearer $SLACK_BOT_TOKEN" -H "Content-Type: application/json" -d @/tmp/request.json'

```

List Users

```bash

bash -c 'curl -s -H "Authorization: Bearer $SLACK_BOT_TOKEN" "https://slack.com/api/users.list"' | jq '.members[] | {id, name, real_name}'

```

Docs: https://docs.slack.dev/reference/methods/users.list

Get User by Email

Replace with the actual email address:

```bash

bash -c 'curl -s -H "Authorization: Bearer $SLACK_BOT_TOKEN" "https://slack.com/api/users.lookupByEmail?email="'

```

Docs: https://docs.slack.dev/reference/methods/users.lookupbyemail

Upload File

```bash

curl -s -X POST 'https://slack.com/api/files.upload' -H "Authorization: Bearer $SLACK_BOT_TOKEN" -F 'channels=C1234567890' -F 'file=@/path/to/file.txt' -F 'title=My File'

```

Docs: https://docs.slack.dev/reference/methods/files.upload

Add Reaction

Write to /tmp/request.json:

```json

{

"channel": "",

"timestamp": "",

"name": "thumbsup"

}

```

```bash

bash -c 'curl -s -X POST "https://slack.com/api/reactions.add" -H "Authorization: Bearer $SLACK_BOT_TOKEN" -H "Content-Type: application/json" -d @/tmp/request.json'

```

Docs: https://docs.slack.dev/reference/methods/reactions.add

Message Formatting

| Syntax | Result |

|--------|--------|

| bold | bold |

| _italic_ | _italic_ |

| ~strike~ | ~~strike~~ |

| ` code | code` |

| | hyperlink |

| <@U123> | @mention user |

| <#C123> | #channel link |

Rate Limits

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

See: https://docs.slack.dev/apis/web-api/rate-limits

API Reference

  • All Methods: https://docs.slack.dev/reference/methods
  • Scopes: https://docs.slack.dev/reference/scopes
  • Block Kit: https://docs.slack.dev/reference/block-kit
  • App Management: https://api.slack.com/apps

More from this repository10