
Agent Slack
Give coding agents a documented Slack CLI surface for auth, message fetch, and multi-workspace targets from the terminal.
Overview
agent-slack is an agent skill for the Build phase that documents the agent-slack CLI for Slack auth, workspace management, and message/thread retrieval.
Install
npx skills add https://github.com/stablyai/agent-slack --skill agent-slackWhat is this skill?
- Auth subcommands: whoami, test, add/remove workspaces, and set-default with token or xoxc/xoxd pairs
- Browser and desktop import paths: Slack Desktop, Brave, Chrome, and Firefox (macOS/Linux where noted)
- message get supports Slack permalinks, #channel names, and channel IDs with workspace disambiguation
- Thread options: --ts, --thread-ts, and --max-body-chars (default 8000, -1 unlimited)
- targets.md-style resolution for channels across multiple workspaces via --workspace substring
- Default --max-body-chars 8000 with -1 for unlimited body length
Adoption & trust: 2.1k installs on skills.sh; 431 GitHub stars; 1/3 security scanners passed (skills.sh audits).
What problem does it solve?
Your agent needs Slack thread context or workspace actions but you only have scattered --help output and no single invoke-when reference for targets and auth.
Who is it for?
Solo builders running Claude Code or Cursor who want agents to read Slack threads and manage tokens via a dedicated CLI.
Skip if: Teams that forbid desktop/browser credential import or want a hosted Slack app with OAuth only—use official Slack apps and bot tokens instead.
When should I use this skill?
User or agent needs Slack workspace auth, message retrieval, or thread context via the agent-slack CLI.
What do I get? / Deliverables
The agent follows a consistent command map for auth import, workspace selection, and message get so Slack tasks run from the terminal with the right flags.
- Executed agent-slack commands for auth or message get
- Thread or channel text within configured body char limits
Recommended Skills
Journey fit
Slack is an external product integration wired during build when agents need live team-channel access. The skill is a command map for agent-slack (auth, messages, threads)—classic third-party API/CLI integration work, not launch SEO or ship security review.
How it compares
Use this procedural command map with the agent-slack binary, not a generic MCP Slack server or manual cURL each time.
Common Questions / FAQ
Who is agent-slack for?
Indie builders and small teams who automate coding agents against Slack using the agent-slack CLI and need a skill-sized command reference.
When should I use agent-slack?
During Build → integrations when wiring agents to Slack: verifying auth, importing creds, or fetching messages by permalink or channel before summarization or support workflows.
Is agent-slack safe to install?
It describes token and browser import flows that handle secrets locally; review the Security Audits panel on this page and your workspace token policies before importing.
SKILL.md
READMESKILL.md - Agent Slack
# `agent-slack` command map (reference) Run `agent-slack --help` (or `agent-slack <command> --help`) for the full option list. ## Auth - `agent-slack auth whoami` — show configured workspaces + token sources (secrets redacted) - `agent-slack auth test [--workspace <url-or-unique-substring>]` — verify credentials (`auth.test`) - `agent-slack auth import-desktop` — import browser-style creds from Slack Desktop (macOS/Windows) - `agent-slack auth import-brave` — import creds from Brave (macOS; requires View → Developer → Allow JavaScript from Apple Events) - `agent-slack auth import-chrome` — import creds from Chrome (macOS) - `agent-slack auth import-firefox` — import creds from Firefox profile storage (macOS/Linux) - `agent-slack auth parse-curl` — read a copied Slack cURL command from stdin and save creds - `agent-slack auth add --workspace-url <url> [--token <xoxb/xoxp> | --xoxc <xoxc> --xoxd <xoxd>]` - `agent-slack auth set-default <workspace-url>` - `agent-slack auth remove <workspace-url>` ## Messages / threads - `agent-slack message get <target>` - `<target>`: Slack message URL OR `#channel`/`channel`/channel id (`C...`) (see `targets.md`) - Options: - `--workspace <url-or-unique-substring>` (required when using a channel _name_ across multiple workspaces) - `--ts <seconds>.<micros>` (required when targeting a channel) - `--thread-ts <seconds>.<micros>` (optional hint for thread permalinks) - `--max-body-chars <n>` (default `8000`, `-1` unlimited) - `--include-reactions` - `--resolve-users` (attach resolved user profiles in `referenced_users`) - `--refresh-users` (implies `--resolve-users` and forces a cache refresh) - `agent-slack message list <target>` - Lists recent channel messages (channel history), or fetches all thread replies - **Channel history** (default when targeting a channel without `--thread-ts`): - `agent-slack message list "general"` — latest 25 messages - `agent-slack message list "general" --limit 50` — latest 50 messages - **Thread mode** (when `--thread-ts` or `--ts` is provided, or target is a message URL): - `agent-slack message list "<url>"` — all replies in that thread - `agent-slack message list "general" --thread-ts "1770165109.000001"` — thread replies - Options: - `--workspace <url-or-unique-substring>` (same rules as above) - `--thread-ts <seconds>.<micros>` (switches to thread mode; fetches replies) - `--ts <seconds>.<micros>` (resolve a message to its thread) - `--limit <n>` (default `25`, max `200`; channel history mode only) - `--oldest <ts>` (only messages after this ts; channel history mode) - `--latest <ts>` (only messages before this ts; channel history mode) - `--with-reaction <emoji>` (repeatable; include only messages that have this reaction; channel history mode; requires `--oldest`) - `--without-reaction <emoji>` (repeatable; include only messages that do not have this reaction; channel history mode; requires `--oldest`) - `--max-body-chars <n>` (default `8000`, `-1` unlimited) - `--include-reactions` - `--resolve-users` (attach resolved user profiles in `referenced_users`) - `--refresh-users` (implies `--resolve-users` and forces a cache refresh) - `agent-slack message draft <target> [text]` - Opens a Slack-like WYSIWYG editor in the browser for composing and sending a message. - Formatting toolbar: bold, italic, strikethrough, links, numbered/bulleted lists, quotes, inline code, code blocks. - Toggle between rich-text editing and raw mrkdwn source view. - After sending, shows a "View in Slack" permalink to the posted message. - If `<target>` is a Slack message URL, the draft will reply in that thread. - Options: - `--workspace <url-or-unique-substring>` (needed for channel _names_ across multiple workspaces) - `--thread-ts <seconds>.<micros>` (optional, channel mode only) - `agent-slack message send <target> [text]` - If `<target>` is a Slack mes