Agent skill

Slack Channel Monitor

by OpenHands in OpenHands/extensions

This skill should be used when the user asks to "monitor a Slack channel", "watch Slack for messages", "create a Slack bot that responds to mentions", "set up an OpenHands Slack integration"…

MITAuto-check passedProductivity & Automation

Install Slack Channel Monitor

skills CLI
$ npx skills add OpenHands/extensions --skill slack-channel-monitor -a claude-code

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

GitHub CLI
$ gh skill install OpenHands/extensions slack-channel-monitor --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/OpenHands/extensions.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/slack-channel-monitor .claude/skills/slack-channel-monitor && 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-channel-monitor
GitHub stars
163
Token cost
~3.2k tokens
SKILL.md length
1,232 words
Files
10 (incl. scripts, references)
Skills in repo
78
Repo updated
First seen
Licence
MIT

At a glance

This skill should be used when the user asks to "monitor a Slack channel", "watch Slack for messages", "create a Slack bot that responds to mentions", "set up an OpenHands Slack integration"…

  • Works in 6 steps: Collect channels → Collect trigger phrase → Generate the automation script → …
  • Asks to monitor a Slack channel
  • SKILL.md covers Prerequisites, Setup Workflow, Runtime Behaviour (per poll) and Additional Resources, plus 1 more section
  • Runs Python scripts from its folder; calls python3 and curl; reaches slack.com; needs SLACK_BOT_TOKEN and SLACK_USER_TOKEN

What it does

Slack Channel Monitor is an agent skill from OpenHands/extensions. This skill should be used when the user asks to "monitor a Slack channel", "watch Slack for messages", "create a Slack bot that responds to mentions", "set up an OpenHands Slack integration", "trigger OpenHands from Slack", "respond to @openhands in Slack", or "poll Slack channels for a trigger phrase". Guides the user through creating a cron automation that watches up to 10 Slack channels and starts an OpenHands conversation whenever a configurable trigger phrase is detected.

Its SKILL.md is about 3.2k tokens, which your agent loads only when the skill is triggered. The skill folder holds 13 other files, including scripts and reference files (for example `.plugin/plugin.json`, `README.md` and `commands/slack-monitor-poll.md`).

It sits in Productivity & Automation, covering Chatbots and conversational support, Scheduled and recurring tasks and Messaging and chat bots. It works with Slack. The repository describes itself as: Public registry for OpenHands extensions. The licence is MIT.

When your agent uses it

  • Asks to monitor a Slack channel
  • Watch Slack for messages
  • Create a Slack bot that responds to mentions
  • Set up an OpenHands Slack integration

Example prompts

  • “monitor a Slack channel”
  • “watch Slack for messages”
  • “create a Slack bot that responds to mentions”
  • “/slack-channel-monitor”

Requirements

  • Python 3
  • A credential in SLACK_BOT_TOKEN
  • A credential in SLACK_USER_TOKEN

Workflow steps

6 steps, taken from the step headings in SKILL.md.

  1. Collect channels
  2. Collect trigger phrase
  3. Generate the automation script
  4. Package and upload
  5. Create the automation
  6. Confirm

What it can do on your machine

Read from SKILL.md and the folder at commit 642df1a. 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 1 file in scripts/ (Python), which the agent can run.

    Shell commands in SKILL.md call:

    • python3
    • curl

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

  • Network

    Hosts in commands or code, which the agent is likely to contact:

    • slack.com

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

  • Credentials

    Names these keys or tokens, usually read from environment variables:

    • SLACK_BOT_TOKEN
    • SLACK_USER_TOKEN
    • OPENHANDS_AUTOMATION_API_KEY
    • SLACK_TOKEN

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

Context cost

Slack Channel Monitor loads about 3.2k tokens when it runs, and up to ~7.1k if it reads all its reference files. Until then it costs about 126 tokens; SKILL.md has 1,232 words of instructions outside code blocks.

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

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 OpenHands/extensions at commit 642df1a, republished under its MIT licence (© OpenHands). 1,232 words, ~3,222 tokens.

Download SKILL.mdSave it as .claude/skills/slack-channel-monitor/SKILL.md (or your agent's skills folder). This skill also uses 9 other files; get the full folder from GitHub.
name
slack-channel-monitor
description
This skill should be used when the user asks to "monitor a Slack channel", "watch Slack for messages", "create a Slack bot that responds to mentions", "set up an OpenHands Slack integration", "trigger OpenHands from Slack", "respond to @openhands in Slack", or "poll Slack channels for a trigger phrase". Guides the user through creating a cron automation that watches up to 10 Slack channels and starts an OpenHands conversation whenever a configurable trigger phrase is detected.
triggers
/slack-monitor:poll

Slack Channel Monitor

Create a cron automation that polls up to 10 Slack channels every minute. Windows PowerShell equivalents for the setup, packaging, upload, and API-check shell snippets are in references/windows.md. When a message containing the trigger phrase (default: @openhands) is detected it:

  1. Adds a 👀 reaction to the triggering message.
  2. Opens an OpenHands conversation with the message and recent channel context.
  3. Posts a reply in the Slack thread with a link to the conversation.

On every subsequent run:

  • New Slack thread replies are forwarded only when they contain the trigger phrase, so unrelated conversation in the thread is ignored.
  • When the conversation finishes (or errors), the agent's final response is posted back to the Slack thread.
  • Completed conversations stay in a short follow-up watch window, allowing triggered Slack replies to continue the same OpenHands conversation.

Local mode only. This automation targets the local OpenHands setup (dev:automation stack). A cloud/webhook-based variant is out of scope here.


Prerequisites

Required secrets

Verify that at least one of the following secrets is set in OpenHands Settings → Secrets before proceeding:

Secret nameToken typeMinimum scopes
SLACK_BOT_TOKENBot (xoxb-…)channels:history, channels:read, reactions:write, chat:write
SLACK_USER_TOKENUser (xoxp-…)Same as bot, plus search:read for multi-channel efficiency

Check with:

bash
# For bot token:
curl -s https://slack.com/api/auth.test -H "Authorization: Bearer $SLACK_BOT_TOKEN" \
  | python3 -c "import json,sys; d=json.load(sys.stdin); print('ok' if d.get('ok') else d.get('error'))"

# For user token:
curl -s https://slack.com/api/auth.test -H "Authorization: Bearer $SLACK_USER_TOKEN" \
  | python3 -c "import json,sys; d=json.load(sys.stdin); print('ok' if d.get('ok') else d.get('error'))"

If neither token is present, inform the user and stop - the automation cannot function without Slack credentials.

Optional secret
Secret nameDefaultPurpose
OPENHANDS_URLhttp://localhost:8000Base URL used to build conversation links posted in Slack

Setup Workflow

Follow these steps in order.

Step 1 - Collect channels

Ask the user: "Which Slack channels should be monitored? You can provide channel names (e.g. #general) or IDs (e.g. C0123456789)."

If the user provides channel names, resolve them to IDs:

bash
SLACK_TOKEN="${SLACK_BOT_TOKEN:-$SLACK_USER_TOKEN}"
curl -s "https://slack.com/api/conversations.list?types=public_channel,private_channel&limit=200&exclude_archived=true" \
  -H "Authorization: Bearer $SLACK_TOKEN" \
  | python3 -c "
import json, sys
data = json.load(sys.stdin)
if not data.get('ok'):
    print('ERROR:', data.get('error'))
    exit(1)
names = set(n.lstrip('#') for n in ['CHANNEL_NAMES_HERE'.split(',')])
for ch in data.get('channels', []):
    if ch['name'] in names:
        print(f\"{ch['name']} → {ch['id']}\")
"

Replace CHANNEL_NAMES_HERE with the comma-separated names the user provided.

If conversations.list returns missing_scope or not_authed: Inform the user: "The token doesn't have permission to list channels. Please provide the channel IDs directly (right-click a channel in Slack → Copy link - the last path segment starting with C is the ID)."

If the bot token lacks channels:read for private channels, the user can either invite the bot first (/invite @botname) or switch to a user token.

Collect up to 10 channel IDs. Record them as a Python list literal, e.g.:

python
["C0123456789", "C9876543210"]
Step 2 - Collect trigger phrase

Ask the user: "What trigger phrase should OpenHands respond to? (Press Enter to use the default: @openhands)"

Accepted values: any non-empty string unlikely to appear accidentally, e.g. @openhands, jazz hands, take-me-to-funky-town.

Step 3 - Generate the automation script

Read scripts/main.py from this skill's directory and copy it verbatim. Apply exactly three constant substitutions near the top of the file:

Do not reimplement, simplify, or hand-write a replacement script. The template already contains the correct secret-loading, state-path, conversation-creation, and context-forwarding logic. Only the three configuration constants below should change unless syntax validation fails.

PlaceholderReplace with
TRIGGER_PHRASE = "@openhands"TRIGGER_PHRASE = "{user_phrase}"
CHANNEL_IDS: list[str] = []CHANNEL_IDS: list[str] = {channel_id_list}
DEFAULT_OPENHANDS_URL = "http://localhost:8000"DEFAULT_OPENHANDS_URL = "{url}" (keep default if user has no preference)

Write the customised script to a temporary directory:

bash
mkdir -p /tmp/slack-monitor-build
# copy scripts/main.py to /tmp/slack-monitor-build/main.py
# then replace only the three constants above

Validate syntax before packaging:

bash
python3 -m py_compile /tmp/slack-monitor-build/main.py && echo "Syntax OK"

Then run a quick integrity check to confirm the template structure is still present and only the configuration block was customised:

bash
grep -n 'TRIGGER_PHRASE = "' /tmp/slack-monitor-build/main.py
grep -n 'CHANNEL_IDS: list\[str\] =' /tmp/slack-monitor-build/main.py
grep -n 'DEFAULT_OPENHANDS_URL = "' /tmp/slack-monitor-build/main.py
grep -n 'def get_secret' /tmp/slack-monitor-build/main.py
grep -n 'def _state_file_path' /tmp/slack-monitor-build/main.py
grep -n 'def create_conversation' /tmp/slack-monitor-build/main.py

If any of those checks fail, stop and re-copy the template instead of trying to repair a hand-written variant.

Step 4 - Package and upload

Determine the Automation backend URL and auth from the <RUNTIME_SERVICES> block in your system context:

  • Use the Automation backend url_from_agent as OPENHANDS_HOST
  • Auth: X-Session-API-Key: $OPENHANDS_AUTOMATION_API_KEY

If no Automation backend is listed in <RUNTIME_SERVICES>, stop and tell the user to start the full automation stack.

bash
tar -czf /tmp/slack-monitor.tar.gz -C /tmp/slack-monitor-build .

# OPENHANDS_HOST: read from <RUNTIME_SERVICES> Automation backend url_from_agent
OPENHANDS_HOST="<automation-url-from-runtime-services>"

TARBALL_PATH=$(curl -s -X POST \
  "${OPENHANDS_HOST}/api/automation/v1/uploads?name=slack-channel-monitor" \
  -H "X-Session-API-Key: $OPENHANDS_AUTOMATION_API_KEY" \
  -H "Content-Type: application/gzip" \
  --data-binary @/tmp/slack-monitor.tar.gz \
  | python3 -c "import json,sys; print(json.load(sys.stdin)['tarball_path'])")

echo "Uploaded: $TARBALL_PATH"

If the upload fails with a size error, the tarball must be under 1 MB. main.py is under 15 KB so this should never trigger.

Step 5 - Create the automation
bash
curl -s -X POST "${OPENHANDS_HOST}/api/automation/v1" \
  -H "X-Session-API-Key: $OPENHANDS_AUTOMATION_API_KEY" \
  -H "Content-Type: application/json" \
  -d "{
    \"name\": \"Slack Channel Monitor\",
    \"trigger\": {\"type\": \"cron\", \"schedule\": \"* * * * *\"},
    \"tarball_path\": \"$TARBALL_PATH\",
    \"entrypoint\": \"python3 main.py\",
    \"timeout\": 55
  }" | python3 -m json.tool

A 55-second timeout keeps runs well within the 60-second cron window.

Record the returned id - share it with the user as confirmation.

Step 6 - Confirm

Tell the user:

✅ Slack Channel Monitor is running!

  • Automation ID: {id}
  • Channels: {channel list}
  • Trigger phrase: {phrase}
  • Polling every minute via cron * * * * *
  • State file: ~/.openhands/workspaces/automation-state/slack_poller_{id}.json

Send a message containing {phrase} in any monitored channel to test it. The bot will react with 👀 and reply with a link to the new conversation.


Show full SKILL.md (538 more words)Show less

Runtime Behaviour (per poll)

Each cron run executes main.py, which runs 10 polling iterations (every 5 seconds) within the 55-second timeout window. Each iteration:

  1. Loads state from the JSON file (see references/state-schema.md).
  2. Resolves the Slack token - checks SLACK_USER_TOKEN then SLACK_BOT_TOKEN.
  3. Fetches new messages:
    • User token + search:read + > 1 channel → single search.messages call (searches for the trigger phrase across all channels).
    • Otherwise → one conversations.history call per channel.
  4. Fetches due thread replies - polls at most one tracked thread per iteration using per-thread exponential backoff to stay within Slack rate limits.
  5. Processes messages in chronological order:
    • Skips messages already in processed_ts (dedup across the overlap window).
    • Skips bot messages and any ts in bot_message_ts.
    • Reply in a tracked thread whose text contains the trigger phrase → forwards a follow-up request to the existing conversation and resets the follow-up watch window. Replies without the trigger phrase are marked processed and ignored.
    • Contains trigger phrase outside a tracked conversation → 👀 reaction, create a new conversation, post link.
      • Records default and the concrete model from the server settings already used to start the conversation, for the response footer.
      • Thread replies: agent receives full thread history for context.
      • Root messages: agent receives the trigger text only.
  6. Checks conversation statuses - for each active conversation where time.time() - last_activity > 15 s:
    • If status is idle, finished, error, or stuck → fetch the agent's final response via /api/conversations/{id}/agent_final_response, append the LLM profile and model, and post it to the Slack thread using Slack's markdown_text field so Markdown formatting renders correctly. Mark the record watching for five minutes so triggered follow-up replies can continue the same conversation.
  7. Advances last_poll to now - 10 s (overlap window prevents boundary races). If a conversation creation failed, pins last_poll further back to retry on the next iteration.
  8. Saves state (including processed_ts) and continues to the next iteration.
  9. After all iterations, fires the completion callback.

Debug output is written to both stdout and a persistent log at:

{WORKSPACE_BASE_ROOT}/automation-state/slack_poller_debug.log

Additional Resources

Reference Files
  • references/slack-api.md - Slack token types, required scopes, API endpoint reference, rate limits, and common error codes.
  • references/state-schema.md - State JSON schema, field definitions, example file, and conversation lifecycle diagram.
Script Template
  • scripts/main.py - The complete automation script. Customise the three constants at the top (TRIGGER_PHRASE, CHANNEL_IDS, DEFAULT_OPENHANDS_URL) before packaging.

Troubleshooting

SymptomLikely causeFix
Bot doesn't react to messagesToken missing or bot not in channelVerify token with auth.test; /invite @botname
not_in_channel error in run logsBot token used but bot not a memberInvite bot or switch to user token
missing_scope errorToken lacks required scopesRe-install Slack app with correct scopes (see references/slack-api.md)
No messages detectedlast_poll timestamp is in the futureDelete the state file to reset; it will be recreated on next run
Conversation link 404OPENHANDS_URL points to wrong hostSet the OPENHANDS_URL secret to the correct base URL
Summary never postedConversation stuck in running stateCheck conversation in the OpenHands UI; the agent may need intervention
Duplicate conversations createdprocessed_ts state missing or corruptedDelete the state file to reset; dedup will rebuild on next run
Trigger message processed on each cron runState file deleted between runsEnsure automation-state/ directory is persistent across runs
Debug info neededNeed detailed per-message traceCheck {WORKSPACE_BASE_ROOT}/automation-state/slack_poller_debug.log

© OpenHands, 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 9 other files (scripts, references) in skills/slack-channel-monitor of OpenHands/extensions.

  • SKILL.md
  • .claude-plugin
  • .codex-plugin
  • .plugin/plugin.json
  • README.md
  • commands/slack-monitor-poll.md
  • references/slack-api.md
  • references/state-schema.md
  • references/windows.md
  • scripts/main.py

Open the folder on GitHubat commit 642df1a

Compare with similar skills

Slack Channel Monitor 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 Channel Monitor compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Slack Channel Monitor this skillOpenHands/extensions163—~3.2kAutomated safety check: PassMIT
Use Avibeavibe-bot/avibe624—~2.5kAutomated safety check: PassMIT
Chat SDKdatabuddy-analytics/Databuddy1.2k—~2.6kAutomated safety check: PassAGPL-3.0
Slackhuangruiteng/CS-Notes4k10 repos~578Automated safety check: PassMIT
Superset Automatesuperset-sh/superset15k—~1.4kAutomated safety check: PassCustom licence
Slack Messaginghaojing8312/WorkClaw141—~897Automated safety check: PassApache-2.0

Similar skills

  • Use Avibe

    avibe-bot/avibe

    Safely inspect and modify local Avibe configuration, routing, runtime settings, watches, scheduled tasks, Avibe Cloud remote access, and operational state.

    624 GitHub stars~2.5k tokensUpdated today
    Productivity & AutomationAuto-check passed
  • Chat SDK

    databuddy-analytics/Databuddy

    Build multi-platform chat bots with Chat SDK (chat npm package).

    1.2k GitHub stars~2.6k tokensUpdated today
    Agent WorkflowsAuto-check passed
  • Slack

    huangruiteng/CS-Notes

    A skill your agent uses when you need to control Slack from Clawdbot via the slack tool, including reacting to messages or pinning/unpinning items in Slack channels or DMs.

    4k GitHub starsUsed in 10 repos~578 tokens
    Productivity & AutomationAuto-check passed
  • Superset Automate

    superset-sh/superset

    Turns a recurring chore into a scheduled or event-triggered Superset agent, drafting its prompt, picking a target and trigger, and reviewing the first run.

    15k GitHub stars~1.4k tokensUpdated today
    Productivity & AutomationAuto-check passed
  • Slack Messaging

    haojing8312/WorkClaw

    A skill your agent uses when asked to send or read Slack messages, check Slack channels, test Slack integrations, or interact with a Slack workspace from the command line.

    141 GitHub stars~897 tokensUpdated 4 mo ago
    Productivity & AutomationAuto-check passed
  • Im Adapter

    0xranx/golembot

    Format responses for instant messaging platforms such as Lark, DingTalk, WeCom, Slack, and Telegram.

    322 GitHub stars~1.4k tokensUpdated 12 days ago
    Productivity & AutomationAuto-check passed

More from OpenHands/extensions

All 78 skills in this repo
  • Agent Readiness Report

    OpenHands/extensions

    Evaluate how well a codebase supports autonomous AI-assisted development.

    163 GitHub stars~1.1k tokensUpdated yesterday
    Auto-check passed
  • Discord

    OpenHands/extensions

    Build and automate Discord integrations (bots, webhooks, slash commands, and REST API workflows).

    163 GitHub stars~1.1k tokensUpdated yesterday
    Auto-check passed
  • GitHub

    OpenHands/extensions

    Interact with GitHub repositories, pull requests, issues, and workflows using the GITHUBTOKEN environment variable and GitHub CLI.

    163 GitHub stars~1.7k tokensUpdated yesterday
    Auto-check passed
  • GitHub Issue To PR

    OpenHands/extensions

    Create an automation that implements GitHub issues when a configurable trigger label is applied.

    163 GitHub stars~4.4k tokensUpdated yesterday
    Auto-check passed
  • GitHub Repo Monitor

    OpenHands/extensions

    This skill should be used when the user asks to "monitor a GitHub repository", "watch GitHub for issues or PRs", "respond to @OpenHands mentions on GitHub", "set up an OpenHands GitHub integration"…

    163 GitHub stars~3.1k tokensUpdated yesterday
    Auto-check passed
  • GitLab Issue To Mr

    OpenHands/extensions

    Create an automation that implements GitLab issues when a configurable trigger label is applied.

    163 GitHub stars~4.9k tokensUpdated yesterday
    Auto-check passed

Works with

Questions about Slack Channel Monitor

What does Slack Channel Monitor do?

This skill should be used when the user asks to "monitor a Slack channel", "watch Slack for messages", "create a Slack bot that responds to mentions", "set up an OpenHands Slack integration"…. Slack Channel Monitor is an agent skill from OpenHands/extensions. This skill should be used when the user asks to "monitor a Slack channel", "watch Slack for messages", "create a Slack bot that responds to mentions", "set up an OpenHands Slack integration", "trigger OpenHands from Slack", "respond to @openhands in Slack", or "poll Slack channels for a trigger phrase".

When should I use Slack Channel Monitor?

Slack Channel Monitor fits situations like: asks to monitor a Slack channel; watch Slack for messages; create a Slack bot that responds to mentions; set up an OpenHands Slack integration.

How do I install Slack Channel Monitor in Claude Code?

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

How do I install Slack Channel Monitor in Codex?

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

Can I use Slack Channel Monitor 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 OpenHands/extensions --skill slack-channel-monitor -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-channel-monitor, .gemini/skills/slack-channel-monitor, .github/skills/slack-channel-monitor and .opencode/skills/slack-channel-monitor in your project.

What does Slack Channel Monitor need to run?

Going by SKILL.md and its folder, Slack Channel Monitor needs Python for the scripts in its folder, the command-line tools its instructions call (python3 and curl) and credentials named SLACK_BOT_TOKEN, SLACK_USER_TOKEN, OPENHANDS_AUTOMATION_API_KEY and SLACK_TOKEN. Our summary lists: Python 3; A credential in SLACK_BOT_TOKEN; A credential in SLACK_USER_TOKEN.

Does Slack Channel Monitor access the network?

SKILL.md names 1 domain. In commands or code: slack.com; the agent is likely to contact it when it follows the instructions. This is read from the text; nothing was executed.

Is Slack Channel Monitor 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 Channel Monitor use?

Slack Channel Monitor 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 Channel Monitor use?

About 3.2k tokens (SKILL.md is roughly 13k 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 3.9k tokens, read only when the agent opens those files.

What are the alternatives to Slack Channel Monitor?

Skills that share tags, products or a category with Slack Channel Monitor: Use Avibe (avibe-bot/avibe, 624 stars), Chat SDK (databuddy-analytics/Databuddy, 1.2k stars), Slack (huangruiteng/CS-Notes, 4k stars) and Superset Automate (superset-sh/superset, 15k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Slack Channel Monitor?

OpenHands (a GitHub organization) maintains it in OpenHands/extensions, which has 163 GitHub stars. The repository holds 78 skills in this directory. The repository was last updated on October 9, 2026.

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