Slack Thread Reader

ReviewAudited by ClawScan on May 10, 2026.

Overview

This appears to be a real Slack reader, but it uses a local Slack bot token that is not declared in the registry and can fetch entire channel histories by default.

Review this skill before installing. It is read-only and appears aligned with Slack summarization, but you should confirm which Slack token it will use, what scopes that token has, and avoid running unbounded channel-history reads unless you intend to expose all accessible channel messages to the agent.

Findings (4)

Artifact-based informational review of SKILL.md, metadata, install specs, static scan signals, and capability signals. ClawScan does not execute the skill or run runtime probes.

What this means

Installing or invoking the skill may use an existing Slack bot token from the user's local OpenClaw config to access Slack workspace data.

Why it was flagged

The skill reads a local Slack bot token from the user's OpenClaw configuration. This is purpose-aligned for Slack access, but the registry metadata declares no primary credential and no required config path, so the credential dependency is under-disclosed.

Skill content
CONFIG_FILE = Path.home() / ".openclaw" / "openclaw.json" ... return json.load(f)["channels"]["slack"]["botToken"]
Recommendation

Declare the Slack credential and config path in metadata, document required Slack scopes, and make clear which workspace data the token can read.

What this means

A request to view or summarize a channel could bring a large amount of private Slack history into the agent context.

Why it was flagged

The documented default for channel history is to fetch all messages. For Slack channels, this can expose substantially more workspace conversation history than a user may have intended from a simple channel link.

Skill content
`--limit N` | Number of channel history messages (0=all) | 0 (all)
Recommendation

Default to a small limit or recent date range, and ask for explicit confirmation before fetching all channel history or all thread replies.

What this means

Slack user identity mappings may remain on disk after the command finishes.

Why it was flagged

The script stores Slack user ID to real-name mappings locally for reuse. This is limited and purpose-aligned, but it is persistent local storage of workspace identity information.

Skill content
USER_CACHE_FILE = Path.home() / ".cache" / "slack-reader" / "users.json" ... json.dump({"_ts": existing_ts or time.time(), "users": existing_users}, f, ensure_ascii=False)
Recommendation

Document the cache location and retention behavior, and provide a simple way to clear the cache.

What this means

Users have less provenance information and may encounter an undeclared runtime dependency.

Why it was flagged

The registry does not identify a source or homepage, and it does not declare python3 even though the shell entrypoint runs a Python script. No remote installer or suspicious dependency is shown, so this is a disclosure/provenance note rather than a direct malicious signal.

Skill content
Source: unknown; Homepage: none; Required binaries (all must exist): none
Recommendation

Publish source/homepage information where possible and declare python3 as a required binary.