技能库 / slack-messaging

slack-messaging

Use when asked to send or read Slack messages, check Slack channels, test Slack integrations, or interact with a Slack workspace from the command line.

v1.0.0

安装方式

CLI 安装(推荐)

claw install oss-slack-messaging

需要安装 CLAW CLI

手动下载安装

下载 ZIP 文件后解压到技能目录

下载 ZIP (oss-slack-messaging-v1.0.0.zip)

触发指令

/slack-messaging

使用指南

Slack Messaging via slackcli

Send and read Slack messages from the command line using slackcli (shaharia-lab/slackcli).

安装

Download the binary:

curl -sL -o /usr/local/bin/slackcli \
  "https://github.com/shaharia-lab/slackcli/releases/download/v0.1.1/slackcli-linux"
chmod +x /usr/local/bin/slackcli

macOS (Intel): replace slackcli-linux with slackcli-macos macOS (Apple Silicon): replace with slackcli-macos-arm64

Authentication

slackcli uses browser session 代币s (xoxc + xoxd) - no Slack app creation required.

Interactive Setup

./scripts/extract-代币s <workspace-url>

This walks the user through extracting 代币s from browser DevTools.

Manual Setup

slackcli auth login-browser \
  --xoxd="xoxd-..." \
  --xoxc="xoxc-..." \
  --workspace-url=https://your-workspace.slack.com

Verify Auth

slackcli auth list

Finding Channels

Use slackcli conversations list to discover channels and their IDs:

# List all channels
slackcli conversations list

# Filter output
slackcli conversations list | grep -i "channel-name"

Sending Messages

# Send to a channel (use channel ID from conversations list)
slackcli messages send --recipient-id=C0XXXXXXXX --message="Hello from CLI"

# Send to a DM (use user's DM channel ID)
slackcli messages send --recipient-id=D0XXXXXXXX --message="Hey"

# Reply in a thread
slackcli messages send --recipient-id=C0XXXXXXXX --message="Thread reply" --thread-ts=1769756026.624319

The --recipient-id is always a channel ID (C...) or DM channel ID (D...).

Reading Messages

# Read last N messages from a channel
slackcli conversations read C0XXXXXXXX --limit=10

# Read as JSON (for parsing)
slackcli conversations read C0XXXXXXXX --limit=10 --json

# Read a thread
slackcli conversations read C0XXXXXXXX --thread-ts=1769756026.624319

Listing Channels

slackcli conversations list

Returns all public channels, private channels, and DMs with their IDs.

测试 Slack 集成s

To verify a bot or 集成 posted a message correctly:

# Read the channel, check for the expected message
slackcli conversations read CHANNEL_ID --limit=5 --json | jq '.messages[] | select(.text | contains("expected text"))'

To send a test message and verify the round-trip:

# Send
slackcli messages send --recipient-id=CHANNEL_ID --message="集成 test $(date +%s)"

# Read back
slackcli conversations read CHANNEL_ID --limit=1 --json

Multiple Workspaces

slackcli supports multiple workspaces. Run the auth flow for each workspace you need:

# Add first workspace
./scripts/extract-代币s https://workspace-one.slack.com

# Add second workspace
./scripts/extract-代币s https://workspace-two.slack.com

# List all authenticated workspaces
slackcli auth list

When sending messages, slackcli automatically routes to the correct workspace based on the channel ID.

代币 Notes

  • Browser 代币s (xoxc/xoxd) act as the logged-in user, not a bot
  • Messages sent appear as the user, not an app
  • 代币s expire when the user logs out of the browser session
  • To refresh: re-extract 代币s from a logged-in browser session
  • All workspace credentials are stored at ~/.config/slackcli/workspaces.json