# Slack Tool

> Slack integration tool for send/receive messages, search, unreplied checks, channel listing, and emoji reactions. Use when: posting to Slack, listing channels, replying in threads, checking unreplied items, or adding reactions.

- Skill: `xuiltul/slack-tool` (Agent Skill)
- Install (CLI): `npx skillmds@latest add xuiltul/slack-tool`
- Raw SKILL.md: https://api.skillmd.com/api/skills/xuiltul/slack-tool/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Integrations & APIs
- Author: xuiltul (https://skillmd.com/u/xuiltul)
- Updated: 2026-09-22
- Page: https://skillmd.com/skills/xuiltul/slack-tool

---


# Slack Tool

External tool for Slack messaging, search, reactions, and channel management.

## Invocation via Bash

Use **Bash** with `animaworks-tool slack <subcommand> [args]`:

```bash
animaworks-tool slack send CHANNEL MESSAGE [--thread TS]
animaworks-tool slack messages CHANNEL [-n 20]
animaworks-tool slack search KEYWORD [-c CHANNEL] [-n 50]
animaworks-tool slack unreplied [--json]
animaworks-tool slack channels
```

## Actions

### send — Send message
```json
{"tool_name": "slack", "action": "send", "args": {"channel": "#channel-name", "message": "text", "thread": "thread ts (optional)"}}
```

### messages — Get messages
```json
{"tool_name": "slack", "action": "messages", "args": {"channel": "#channel-name", "limit": 20}}
```

### search — Search messages
```json
{"tool_name": "slack", "action": "search", "args": {"keyword": "search term", "channel": "#channel (optional)", "limit": 50}}
```

### unreplied — Check unreplied messages
```json
{"tool_name": "slack", "action": "unreplied", "args": {}}
```

### channels — List channels
```json
{"tool_name": "slack", "action": "channels", "args": {}}
```

### react — Add emoji reaction
```json
{"tool_name": "slack", "action": "react", "args": {"channel": "#channel-name", "emoji": "thumbsup", "message_ts": "message timestamp"}}
```
- `emoji`: Slack emoji name without colons (e.g. `thumbsup`, `eyes`, `white_check_mark`)
- `message_ts`: Timestamp of the target message (available from `messages` action results)

## CLI Usage (S/C/D/G-mode)

```bash
animaworks-tool slack send CHANNEL MESSAGE [--thread TS]
animaworks-tool slack messages CHANNEL [-n 20]
animaworks-tool slack search KEYWORD [-c CHANNEL] [-n 50]
animaworks-tool slack unreplied [--json]
animaworks-tool slack channels
```

> The `react` action is not available via CLI. Use MCP instead.

## Notes

- Slack Bot Token must be configured in credentials
- Channel can be specified with # prefix or by channel ID
- Reactions require the `reactions:write` scope

