Agent skill

Slack

by sigcli in sigcli/sigcli

Interact with Slack — read channels, search messages, check unreads, send messages, manage reactions, and look up users.

MITAuto-check passed

Install Slack

skills CLI
$ npx skills add sigcli/sigcli --skill slack -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install sigcli/sigcli slack --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/sigcli/sigcli.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/slack .claude/skills/slack && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
slack
GitHub stars
293
Token cost
~2.1k tokens
SKILL.md length
648 words
Files
22 (incl. scripts, references)
Skills in repo
15
Repo updated
First seen
Licence
MIT

At a glance

Interact with Slack — read channels, search messages, check unreads, send messages, manage reactions, and look up users.

  • Works in 5 steps: Read /references/provider-config.yaml → Append the provider block to… → Ask the user: "Do you need a proxy to… → …
  • The user mentions Slack
  • SKILL.md covers Setup (run FIRST — every time,…, Running Scripts, Scripts Reference and Key Concepts, plus 2 more sections
  • Runs Python scripts from its folder

What it does

Slack is an agent skill from sigcli/sigcli. Interact with Slack — read channels, search messages, check unreads, send messages, manage reactions, and look up users. Use this skill whenever the user mentions Slack, wants to read Slack messages, check unread channels, search Slack conversations, send a Slack message, add reactions, or look up Slack users. Also trigger when the user pastes a Slack message URL, mentions a Slack channel (channel), or asks about Slack notifications.

Its SKILL.md is about 2.1k tokens, which your agent loads only when the skill is triggered. The skill folder holds 24 other files, including scripts and reference files (for example `references/provider-config.yaml`, `scripts/__init__.py` and `scripts/slack_channels.py`).

It works with Slack. The repository describes itself as: The authentication CLI & Proxy for AI agents. Give agents access, not your credentials. The licence is MIT.

When your agent uses it

  • The user mentions Slack
  • Wants to read Slack messages
  • Check unread channels
  • Search Slack conversations

Example prompts

  • “/slack”

Requirements

  • Python 3

Workflow steps

5 steps, taken from the first numbered list in SKILL.md.

  1. Read /references/provider-config.yaml
  2. Append the provider block to ~/.sig/config.yaml under providers
  3. Ask the user: "Do you need a proxy to access this site?" — if yes, add networkProxy: under the provider in config.yaml
  4. Run sig login app-slack (with --network-proxy if proxy was specified)
  5. Verify: run sig status app-slack again — must show valid: true before proceeding

What it can do on your machine

Read from SKILL.md and the folder at commit 9ba8b35. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Ships 11 files in scripts/ (Python, from the files we listed), which the agent can run.

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Slack loads about 2.1k tokens when it runs, and up to ~2.4k if it reads all its reference files. Until then it costs about 111 tokens; SKILL.md has 648 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~111
When it runs · the whole SKILL.md, loaded when a task matches
~2.1k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~2.4k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.

SKILL.md

The full file from sigcli/sigcli at commit 9ba8b35, republished under its MIT licence (© sigcli). 648 words, ~2,113 tokens.

Download SKILL.mdSave it as .claude/skills/slack/SKILL.md (or your agent's skills folder). This skill also uses 21 other files; get the full folder from GitHub.
name
slack
description
Interact with Slack — read channels, search messages, check unreads, send messages, manage reactions, and look up users. Use this skill whenever the user mentions Slack, wants to read Slack messages, check unread channels, search Slack conversations, send a Slack message, add reactions, or look up Slack users. Also trigger when the user pastes a Slack message URL, mentions a Slack channel (#channel), or asks about Slack notifications.

Slack

Read channels, search messages, check unreads, send messages, manage reactions, and look up users via Slack.

Setup (run FIRST — every time, before any operation)

You MUST complete this setup before running any script. Do NOT skip this step.

bash
sig status app-slack 2>&1

Check the JSON output fields configured and valid:

  • configured: false → run Provider Setup below. Do NOT proceed without completing it.
  • valid: false (but configured: true) → run sig login app-slack, then re-check.
  • valid: true → detect proxy (see below), then execute the user's request.
Provider Setup
  1. Read <SKILL_DIR>/references/provider-config.yaml
  2. Append the provider block to ~/.sig/config.yaml under providers:
  3. Ask the user: "Do you need a proxy to access this site?" — if yes, add networkProxy: <url> under the provider in config.yaml
  4. Run sig login app-slack (with --network-proxy <url> if proxy was specified)
  5. Verify: run sig status app-slack again — must show valid: true before proceeding
Proxy Detection (after provider is valid)
bash
grep -A15 "^\s*app-slack:" ~/.sig/config.yaml | grep networkProxy | awk '{print $2}'

If this outputs a URL, prefix ALL python3 commands with HTTPS_PROXY=<url> HTTP_PROXY=<url>. If using socks5, convert to socks5h for python (e.g. socks5://... → socks5h://...). If empty, no proxy needed.

Running Scripts

All scripts require setup to be completed first (see above).

Scripts Reference

All scripts are in this skill's scripts/ directory. Run via Bash tool.

ScriptPurpose
slack_channels.pyList/filter channels
slack_history.pyGet channel/DM message history
slack_threads.pyGet thread replies
slack_search.pySearch messages with filters
slack_send.pySend message or threaded reply
slack_unreads.pyGet unread messages across channels
slack_users.pySearch users by name/email
slack_reactions.pyAdd or remove emoji reactions
slack_channels.py
--type TYPE           Channel types: public_channel,private_channel,im,mpim (default: public_channel,private_channel)
--sort SORT           Sort by: popularity
--limit N             Max channels (default: 100)
--cursor CURSOR       Pagination cursor from previous response
slack_history.py
--channel ID          Channel ID (#name or @user also work) (required)
--limit LIMIT         Time range (1d, 7d, 30d) or message count (50) (default: 1d)
--cursor CURSOR       Pagination cursor
--include-activity    Include join/leave activity messages
slack_threads.py
--channel ID          Channel ID or #name (required)
--thread-ts TS        Thread parent timestamp (required)
--limit LIMIT         Time range or count (default: 1d)
--cursor CURSOR       Pagination cursor
slack_search.py
--query TEXT          Search query (optional if other filters provided)
--channel ID          Filter to channel
--from USER           Filter by sender (user ID or @name)
--before DATE         Before date (YYYY-MM-DD)
--after DATE          After date (YYYY-MM-DD)
--on DATE             On specific date
--threads-only        Only thread messages
--limit N             Max results (default: 20)
--cursor CURSOR       Pagination cursor
slack_send.py
--channel ID          Channel ID, #name, or @user (required)
--message TEXT        Message content (required)
--thread-ts TS        Reply to thread (optional)
--format FORMAT       text/markdown (default) or text/plain
slack_unreads.py
--type TYPE           Filter: all, dm, group_dm, partner, internal (default: all)
--max-channels N      Max channels to check (default: 50)
--max-messages N      Max messages per channel (default: 10)
--mentions-only       Only channels with @mentions
--summary-only        Channel list without messages
slack_users.py
--query TEXT          Search by name, email, or display name (required)
--limit N             Max results (default: 10)
slack_reactions.py
--action ACTION       "add" or "remove" (required)
--channel ID          Channel ID (required)
--timestamp TS        Message timestamp 1234567890.123456 (required)
--emoji NAME          Emoji name without colons, e.g. thumbsup (required)

Key Concepts

Channel IDs — Format Cxxxxxxxxxx, but scripts also accept #channel-name or @username for convenience.

Thread timestamps — Format 1234567890.123456. Used to identify specific messages and as parent references for threaded replies.

Pagination — All list endpoints use cursor-based pagination. Pass the --cursor value from the previous response to get the next page.

Team ID — Some edge APIs require your Slack team ID. To find it: open Slack in a browser, go to <your-workspace>.slack.com, open DevTools → Network, and look for requests with team_id in the response. Alternatively, run sig run app-slack -- bash -c 'python -c "import scripts.slack_client as c; import json; client = c.SlackClient.create(); print(client.team_id)"'.

Error Handling

ErrorCauseFix
Auth error / 401Session expiredAuto-run sig login app-slack (no user prompt needed), retry
invalid_authxoxc/xoxd tokens invalidAuto-run sig login app-slack (no user prompt needed), retry
channel_not_foundInvalid channel ID/nameCheck channel exists, use slack_channels.py to find it
not_in_channelNot a member of channelJoin the channel first
Show full SKILL.md (239 more words)Show less

Workflow Examples

Check unread messages
  1. sig run app-slack -- python scripts/slack_unreads.py
  2. To see only DMs: sig run app-slack -- python scripts/slack_unreads.py --type dm
  3. To see only @mentions: sig run app-slack -- python scripts/slack_unreads.py --mentions-only
Search for messages about a topic
  1. sig run app-slack -- bash -c 'python scripts/slack_search.py --query "deployment issue"'
  2. Filter to a channel: sig run app-slack -- bash -c 'python scripts/slack_search.py --query "deployment" --channel #ops'
  3. Filter by date: sig run app-slack -- bash -c 'python scripts/slack_search.py --query "deployment" --after 2025-01-01 --before 2025-01-31'
Read recent channel history
  1. Find the channel: sig run app-slack -- python scripts/slack_channels.py --limit 20
  2. Get messages: sig run app-slack -- bash -c 'python scripts/slack_history.py --channel #general --limit 1d'
  3. Read a thread: sig run app-slack -- bash -c 'python scripts/slack_threads.py --channel #general --thread-ts 1234567890.123456'
Send a message to someone
  1. Find their DM: sig run app-slack -- python scripts/slack_channels.py --type im
  2. Or send directly: sig run app-slack -- bash -c 'python scripts/slack_send.py --channel @john.smith --message "Hello!"'
  3. Reply in a thread: sig run app-slack -- bash -c 'python scripts/slack_send.py --channel #project --thread-ts 1234567890.123456 --message "Thanks!"'
React to a message
  1. Get channel history to find the message timestamp: sig run app-slack -- bash -c 'python scripts/slack_history.py --channel #general --limit 10'
  2. Add a reaction: sig run app-slack -- bash -c 'python scripts/slack_reactions.py --action add --channel C0123456789 --timestamp 1234567890.123456 --emoji thumbsup'
  3. Remove a reaction: sig run app-slack -- bash -c 'python scripts/slack_reactions.py --action remove --channel C0123456789 --timestamp 1234567890.123456 --emoji thumbsup'

© sigcli, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 21 other files (scripts, references) in skills/slack of sigcli/sigcli.

  • SKILL.md
  • references/provider-config.yaml
  • scripts/__init__.py
  • scripts/requirements.txt
  • scripts/slack_channels.py
  • scripts/slack_client.py
  • scripts/slack_history.py
  • scripts/slack_reactions.py
  • scripts/slack_search.py
  • scripts/slack_send.py
  • scripts/slack_threads.py
  • scripts/slack_unreads.py
  • scripts/slack_users.py
  • tests/test_slack_channels.py
  • tests/test_slack_client.py
  • tests/test_slack_history.py
  • tests/test_slack_reactions.py
  • tests/test_slack_search.py
  • … and 4 more

Open the folder on GitHubat commit 9ba8b35

Compare with similar skills

Slack next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Slack compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Slack this skillsigcli/sigcli293—~2.1kAutomated safety check: PassMIT
Agent Browser CLIvercel-labs/agent-browser44k24 repos~864Automated safety check: PassApache-2.0
Slack GIF Creatoranthropics/skills180k28 repos~2kAutomated safety check: PassApache-2.0
Code Design Rationale Investigatorcursor/plugins10k9 repos~2.6kAutomated safety check: PassNone
Electron App Automationvercel-labs/agent-browser44k5 repos~1.7kAutomated safety check: PassApache-2.0
Slack Browser Automationvercel-labs/agent-browser44k1 repos~2.1kAutomated safety check: PassApache-2.0

Similar skills

  • Agent Browser CLI

    vercel-labs/agent-browser

    Official

    Browser automation CLI for AI agents. Use when the user needs to interact with websites, including navigating pages, filling forms, clicking buttons, taking…

    44k GitHub starsUsed in 24 repos~864 tokens
    Productivity & AutomationAuto-check passed
  • Slack GIF Creator

    anthropics/skills

    Official

    Provides Slack size and frame limits, Python animation helpers and validators for building animated GIFs sized for emoji and messages.

    180k GitHub starsUsed in 28 repos~2k tokens
    Media & CreativeAuto-check passed
  • Official

    Digs into why code is shaped the way it is by checking git history, pull requests and connected tools in parallel, then reporting a cited read on the tradeoffs.

    10k GitHub starsUsed in 9 repos~2.6k tokens
    DevelopmentAuto-check passed
  • Electron App Automation

    vercel-labs/agent-browser

    Official

    Automates Electron desktop apps such as VS Code, Slack or Discord by connecting agent-browser to their Chrome DevTools Protocol port.

    44k GitHub starsUsed in 5 repos~1.7k tokens
    Productivity & AutomationAuto-check passed
  • Slack Browser Automation

    vercel-labs/agent-browser

    Official

    Drives the Slack web app with the agent-browser CLI to check unread channels, search, read channel details and extract information, with screenshots as evidence.

    44k GitHub starsUsed in 1 repo~2.1k tokens
    Productivity & AutomationAuto-check passed
  • Composio

    ComposioHQ/composio

    Route and complete Composio work across Composio For You and Composio Platform.

    30k GitHub starsUsed in 1 repo~1.7k tokens
    Productivity & AutomationAuto-check passed

More from sigcli/sigcli

All 15 skills in this repo
  • Bilibili

    sigcli/sigcli

    Interact with Bilibili (B站) — browse trending videos, view video details, read comments, search videos and users, view user profiles, like, coin, and favorite videos.

    293 GitHub stars~2.8k tokensUpdated 9 days ago
    Auto-check passed
  • Hackernews

    sigcli/sigcli

    Interact with Hacker News (news.ycombinator.com) — browse top, new, and best stories, read item details and comment threads, look up user profiles, and search posts via Algolia.

    293 GitHub stars~2k tokensUpdated 9 days ago
    Auto-check passed
  • Linkedin

    sigcli/sigcli

    Interact with LinkedIn — view your profile, browse other profiles, read the feed, search jobs/posts/people, get job details, create posts, like/unlike posts, comment, send connection requests, and…

    293 GitHub stars~3.1k tokensUpdated 9 days ago
    Auto-check passed
  • Msteams

    sigcli/sigcli

    Interact with Microsoft Teams — send and read messages, search conversations, look up people, check calendar, get meeting transcripts, and manage chats.

    293 GitHub stars~2.7k tokensUpdated 9 days ago
    Auto-check passed
  • Outlook

    sigcli/sigcli

    Interact with Outlook email — read inbox, send emails, search messages, reply/forward, manage folders, download attachments.

    293 GitHub stars~2.6k tokensUpdated 9 days ago
    Auto-check passed
  • Reddit

    sigcli/sigcli

    Interact with Reddit — browse subreddits, read posts and comments, search content, view user profiles, post comments, vote, save posts, subscribe to subreddits.

    293 GitHub stars~3.1k tokensUpdated 9 days ago
    Auto-check passed

Works with

Questions about Slack

What does Slack do?

Interact with Slack — read channels, search messages, check unreads, send messages, manage reactions, and look up users. Slack is an agent skill from sigcli/sigcli. Interact with Slack — read channels, search messages, check unreads, send messages, manage reactions, and look up users.

When should I use Slack?

Slack fits situations like: the user mentions Slack; wants to read Slack messages; check unread channels; search Slack conversations.

How do I install Slack in Claude Code?

Run `npx skills add sigcli/sigcli --skill slack -a claude-code`. Or copy the skill folder (skills/slack in sigcli/sigcli) into .claude/skills/slack in your project. Claude Code loads it when a task matches its description.

How do I install Slack in Codex?

Run `npx skills add sigcli/sigcli --skill slack -a codex`. Or copy the skill folder (skills/slack in sigcli/sigcli) into .agents/skills/slack in your project. Codex loads it when a task matches its description.

Can I use Slack in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add sigcli/sigcli --skill slack -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/slack, .gemini/skills/slack, .github/skills/slack and .opencode/skills/slack in your project.

What does Slack need to run?

Going by SKILL.md and its folder, Slack needs Python for the scripts in its folder. Our summary lists: Python 3.

Does Slack access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Slack safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.

What licence does Slack use?

Slack is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Slack use?

About 2.1k tokens (SKILL.md is roughly 8.5k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 279 tokens, read only when the agent opens those files.

What are the alternatives to Slack?

Skills that share tags, products or a category with Slack: Agent Browser CLI (vercel-labs/agent-browser, 44k stars), Slack GIF Creator (anthropics/skills, 180k stars), Code Design Rationale Investigator (cursor/plugins, 10k stars) and Electron App Automation (vercel-labs/agent-browser, 44k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Slack?

sigcli (a GitHub organization) maintains it in sigcli/sigcli, which has 293 GitHub stars. The repository holds 15 skills in this directory. The repository was last updated on September 28, 2026.

Source: sigcli/sigcli on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.