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.

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "slack-messaging" with this command: npx skills add obra/superpowers-lab/obra-superpowers-lab-slack-messaging

Slack Messaging via slackcli

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

Installation

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 tokens (xoxc + xoxd) - no Slack app creation required.

Interactive Setup

./scripts/extract-tokens <workspace-url>

This walks the user through extracting tokens 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.

Testing Slack Integrations

To verify a bot or integration 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="integration 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-tokens https://workspace-one.slack.com

# Add second workspace
./scripts/extract-tokens 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.

Token Notes

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

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

finding-duplicate-functions

No summary provided by upstream source.

Repository SourceNeeds Review
-176
obra
General

using-tmux-for-interactive-commands

No summary provided by upstream source.

Repository SourceNeeds Review
-121
obra
Coding

mcp-cli

No summary provided by upstream source.

Repository SourceNeeds Review
-85
obra