Slack Hub Skill
Send messages, reply in threads, search workspace content, and list public channels using Slack Bot integration with rate-limit handling.
MIT-0 · Free to use, modify, and redistribute. No attribution required.
⭐ 1 · 1.5k · 0 current installs · 0 all-time installs
MIT-0
Security Scan
OpenClaw
Suspicious
medium confidencePurpose & Capability
The name, SKILL.md, and slack_hub.py all implement a Slack integration (sending messages, searching, listing channels) which is consistent with the stated purpose — but the registry metadata at the top of the package declares no required env vars while both SKILL.md and the code require a SLACK_BOT_TOKEN. That mismatch should be resolved.
Instruction Scope
SKILL.md instructs storing SLACK_BOT_TOKEN in a .env file and promises rate-limit handling. The code does read SLACK_BOT_TOKEN via os.getenv (so it needs the env var), but there is no .env loader in the code (e.g., python-dotenv) and there is no actual rate-limit handling implemented. The instructions also imply access to workspace searches and channel lists; the code will call Slack endpoints and — depending on token scopes — could access private channels. These mismatches are scope/behavior inconsistencies that could lead to unexpected credential placement or overprivileged access.
Install Mechanism
This is instruction-only (no install spec). skill.json lists 'requests' as a dependency, but there is no install step or packaging guidance. That means the runtime must already provide the requests package; otherwise the skill will fail. Not an immediate security red flag, but an operational hole that should be fixed.
Credentials
The code requires a single sensitive credential (SLACK_BOT_TOKEN) which is appropriate for a Slack integration. However, the package metadata (registry summary) does not declare this requirement even though skill.json includes env_vars in permissions and SKILL.md explicitly requires the token. The token grants the skill the ability to read/search and post on behalf of the bot — if the token has broad scopes it could access private channels or send messages. The requested secret is proportionate for Slack, but the lack of clear declaration and guidance about minimal scopes is concerning.
Persistence & Privilege
No 'always: true' and model invocation is not disabled, which is expected and appropriate. The skill does not attempt to modify other skill configs or request permanent system-wide presence.
What to consider before installing
This skill implements Slack messaging/search and needs a SLACK_BOT_TOKEN, but the package metadata doesn't declare that requirement and there are a few inconsistencies you should resolve before installing:
- Confirm the SLACK_BOT_TOKEN: the code reads SLACK_BOT_TOKEN from the environment. Only provide a token with the minimal scopes required (e.g., chat:write, search:read, channels:read) and avoid full admin tokens. Understand that a token with broad scopes can read private channels and post messages.
- .env vs environment: SKILL.md asks you to put the token in a .env file, but the code doesn't load .env. Ensure your runtime will load that file (or set the env var securely in the agent environment) rather than leaving secrets in an unprotected file.
- Dependency/install: skill.json lists 'requests' but there is no install spec. Make sure the runtime includes the requests package or install it in an isolated environment before use.
- Claims vs implementation: SKILL.md claims rate-limit handling and threading support; the code does not implement explicit rate-limit backoff logic and threading is only included insofar as chat.postMessage accepts thread_ts. Ask the author to clarify or update the code/README.
- Review token scopes and audit: inspect or run the code in an isolated environment (or read the source, which appears to call only slack.com endpoints) and verify no external endpoints aside from slack.com are used. If you proceed, rotate the bot token afterward and monitor Slack app activity/logs.
If the author can correct the metadata (declare SLACK_BOT_TOKEN as a required credential), add clear install steps for dependencies, and either implement or remove the claimed rate-limit handling, this package would be internally coherent. Until then, treat it as suspicious and verify details before granting it a production token.Like a lobster shell, security has layers — review code before you run it.
Current versionv0.1.0
Download ziplatest
License
MIT-0
Free to use, modify, and redistribute. No attribution required.
SKILL.md
Slack Hub Skill
Professional Slack integration for OpenClaw. Supports messaging, threading, and workspace search.
Configuration
Requires a Slack Bot Token (xoxb-...) in your .env as SLACK_BOT_TOKEN.
Tools
slack_send
Send a message to a channel or user.
target: Channel ID or name (e.g., "#general").message: Text content.thread_ts: (Optional) Timestamp for replying to a thread.
slack_search
Search the workspace for messages or files.
query: The search term.
slack_list_channels
List all public channels in the workspace.
Implementation Notes
- Uses
https://slack.com/api/chat.postMessage - Uses
https://slack.com/api/search.messages - Implements rate-limit handling for high-volume workspaces.
Files
3 totalSelect a file
Select a file to preview.
Comments
Loading comments…
