.claude/skills/slack-messaging/SKILL.md
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.
npx skillsauth add FacuM/yolo-agent slack-messagingInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
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
slackcli uses browser session tokens (xoxc + xoxd) - no Slack app creation required.
./scripts/extract-tokens <workspace-url>
This walks the user through extracting tokens from browser DevTools.
slackcli auth login-browser \
--xoxd="xoxd-..." \
--xoxc="xoxc-..." \
--workspace-url=https://your-workspace.slack.com
slackcli auth list
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"
# 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...).
# 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
slackcli conversations list
Returns all public channels, private channels, and DMs with their IDs.
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
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.
~/.config/slackcli/workspaces.jsondocumentation
Extract frames from a YouTube video and analyze them to identify a sequence of steps. Use when user provides a YouTube URL and wants to understand the process, tutorial, or workflow shown in the video by examining its visual content frame-by-frame. Triggers on "extract steps from video", "what steps does this video show", "analyze YouTube tutorial", "screenshot a video", "figure out the steps".
testing
Use when creating new skills, editing existing skills, or verifying skills work before deployment
documentation
This skill should be used when the user asks to "create a hookify rule", "write a hook rule", "configure hookify", "add a hookify rule", or needs guidance on hookify rule syntax and patterns.
development
Use when you have a spec or requirements for a multi-step task, before touching code