Token导航 LogoToken导航TokenDH.com
开发需要联网clawhub未标认证来源可访问clear审计提醒

slack-readerSlack reader 文档

Agent Skill

用于处理 Slack 工作区里的频道、消息、线程、用户和通知信息。它适合让 Agent 查询团队沟通记录、整理上下文、回复线程或辅助协作提醒。使用时需要确认机器人或用户 token 是否具备目标频道访问权,私有频道和历史消息通常有额外权限限制;发送消息、@成员或批量读取对话时,应避免泄露内部讨论和敏感工作信息。

总安装

7,869

周安装

338

GitHub Stars

公开资料未说明

下载量

2,758
OpenClaw

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

MIT-0

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:slack-reader(Slack reader 文档)
来源仓库:https://github.com/epikoding/slack-reader
安装命令:
openclaw skills install slack-reader
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 OpenClaw 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

ClawHubOpenClaw
openclaw skills install slack-reader

简介

slack-reader 用于阅读并总结 Slack 频道历史与话题对话。

  • 适合在 OpenClaw 中快速掌握团队讨论要点或追踪项目进展。
  • 通过 clawhub 安装,需提供 Slack 链接或频道标识符。
  • 安装前应确认机器人权限能否访问目标频道与历史消息。
  • 摘要结果依赖模型理解能力,复杂对话建议人工复核关键点。

SKILL.md

name
slack-thread
description
Read and summarize Slack channel history and thread conversations. Use when receiving Slack links (https://...slack.com/archives/...) or requests to view channel/thread/reply conversations, summarize discussions, or check recent messages in a channel.

Slack Thread Reader

Script to fetch Slack channel history, threads, and individual replies. Output is LLM-friendly format: one message per line, ascending order (oldest→newest), minimal whitespace.

Script Location

scripts/slack-thread.sh (entry point) → scripts/slack-thread.py (main logic)

Slack Link Structure

https://abstract-im.slack.com/archives/C0AE4MGLNUU
                                        ^^^^^^^^^^^
                                        Channel ID

https://abstract-im.slack.com/archives/C0AE4MGLNUU/p1770775935866499
                                        ^^^^^^^^^^^  ^^^^^^^^^^^^^^^^
                                        Channel ID    Message ts (parent)

https://abstract-im.slack.com/archives/C0AE4MGLNUU/p1770776063826049?thread_ts=1770775935.866499&cid=C0AE4MGLNUU
                                        ^^^^^^^^^^^  ^^^^^^^^^^^^^^^^            ^^^^^^^^^^^^^^^^     ^^^^^^^^^^^
                                        Channel ID    Reply ts (child)           Parent ts            Channel ID (duplicate)
  • pTS: Timestamp in URL path. p + 10 digits (seconds) + 6 digits (microseconds). API uses seconds.microseconds format (e.g., p17707759358664991770775935.866499)
  • thread_ts: Parent message ts of the thread. If present, it's a reply link
  • cid: Duplicate channel ID info (for app deep links, ignored by script)
  • ts: Unique ID and timestamp of a Slack message. Unique within a channel

Usage

3 Modes

Link FormatModeBehavior
/archives/CHANNELChannelFetch channel history
/archives/CHANNEL/pTSThreadFetch full thread with ts as parent
/archives/CHANNEL/pTS?thread_ts=...ReplyFetch single reply only

Read Thread

scripts/slack-thread.sh https://abstract-im.slack.com/archives/CHANNEL/pTIMESTAMP
scripts/slack-thread.sh <channel-id> <thread-ts>

Read Channel History

scripts/slack-thread.sh https://abstract-im.slack.com/archives/CHANNEL
scripts/slack-thread.sh <channel-id>
scripts/slack-thread.sh <channel-id> --limit 100

Channel History + Thread Replies (Full)

scripts/slack-thread.sh <channel-id> --with-threads
scripts/slack-thread.sh <channel-id> --with-threads --thread-limit 5

Read Single Reply

scripts/slack-thread.sh https://abstract-im.slack.com/archives/CHANNEL/pREPLY_TS?thread_ts=PARENT_TS&cid=CHANNEL

Workflow

  1. When given a Slack link or channel ID, use this script to fetch conversation history.
  2. ⚠️ If the link type and request content don't match, always ask a clarifying question.

- Link formats: /archives/CHANNEL = channel, /archives/CHANNEL/pTS = thread, /archives/CHANNEL/pTS?thread_ts=... = reply - Example: If given a thread link but asked to "fetch channel history", ask for clarification

  1. When asked to summarize channel history: Confirm "Should thread replies be included?" before deciding on --with-threads.
  2. Summarize the fetched content or deliver it as-is.

Options

OptionDescriptionDefault
--limit NNumber of channel history messages (0=all)0 (all)
--from YYYY-MM-DDMessages after this date only (channel mode)none
--to YYYY-MM-DDMessages up to this date only (channel mode)none
--with-threadsInclude thread replies inlineoff
--thread-limit NMax replies per thread (0=all)0
--descDescending order (newest→oldest)off (default ascending)

Output Format

Sort Order: Ascending (oldest → newest, conversation flow)

Use --desc to switch to descending order.

Reply Mode

[reply] ch:C0AE4MGLNUU(#dev-backend) thread:1770775935.866499
[2026-03-04T14:32:28|1770776063.826049] user1: Confirmed, will apply the fix

Thread Mode

[thread] ch:C0AE4MGLNUU(#dev-backend) parent:1770775935.866499 replies:144 range:2026-02-25~2026-03-04
[participants] user1, user2, user3, absbot (4)
[2026-02-25T22:57:27|1770775935.866499] user1: Parent message (oldest)
[2026-03-04T14:31:05|1770776005.123456] user1: Second message
[2026-03-04T14:32:28|1770776063.826049] absbot: Latest message text 📎file.png [:thumbsup:user2,user3]

Channel Mode

[channel] ch:C0AE4MGLNUU(#dev-backend) msgs:200 threads:3
[participants] user1, user2, user3, absbot (4)
[2026-03-04T14:29:00|1770775740.111111] user1: Message text
[2026-03-04T14:32:28|1770775948.222222] absbot: Message text [thread replies:13 latest:2026-03-04T16:00:00]
 [2026-03-04T14:30:00|1770775800.333333] user3: Thread reply (older)
 [2026-03-04T14:31:00|1770775860.444444] user2: Thread reply (newer)

Output Elements

ElementFormatExample
Timestamp+IDISO 8601 + ts`[2026-02-11T17:45:56\1770775935.866499]`
SenderReal name (including bots)user1:, absbot:
Mention@name@user3
Reaction[:emoji:names][:thumbsup:user2,user3]
Attachment📎filename userID/fileID📎image.png U0ADM19GY6N/F0ADRC9PEHL
Thread info[thread replies:N latest:time][thread replies:13 latest:2026-03-04T16:00:00]
Inline reply1-space indentation [ts] user: text
Participants[participants] names (N)[participants] user1, user2 (2)
Channel namech:ID(#name)ch:C0AE4MGLNUU(#dev-backend)

LLM Optimization

  • Default ascending: LLM naturally follows conversation flow in chronological order
  • Newlines/consecutive spaces within messages → collapsed to single space
  • No decorative characters (📌, ---, ├ └ etc. removed)
  • No blank lines (messages separated by single newline)
  • Thread mode: fetches all messages without omission (automatic pagination)
  • Each message includes ts (unique ID): enables referencing specific messages
  • Attachment permalink shortened: shows only userID/fileID (removes URL-encoded filename duplication)

- Output: 📎filename U0ADM19GY6N/F0ADRC9PEHL - Full URL reconstruction: https://abstract-im.slack.com/files/{userID}/{fileID}

Technical Details

Pagination & Deduplication

  • conversations.replies API duplicates parent message at [0] on every page
  • Automatic deduplication via seen_ts set
  • Cursor-based pagination collects all replies without omission
  • --limit applies only in channel mode (thread mode always fetches all)

Parallel Processing

  • Channel name lookup and data fetch run concurrently (saves 1 round-trip)
  • --with-threads fetches thread replies in parallel with up to 8 workers
  • User name lookups also run in parallel with up to 5 workers

User Cache

  • User ID → real name cache at ~/.cache/slack-reader/users.json (TTL 24 hours)
  • Cached users are resolved instantly without API calls

Rate Limit

  • On 429 response, waits for Retry-After header duration then retries (max 3 attempts)
  • Rate limit wait timestamp shared across parallel workers (prevents thundering herd)

Error Handling

  • In --with-threads, if an individual thread fetch fails, only that thread is skipped; the rest outputs normally
  • Summary of failed thread count and ts printed to stderr

Notes

  • Bot must be a member of the channel. On channel_not_found, suggest /invite @absbot.
  • Fetching only channel history without --with-threads may miss conversations inside threads.

适合场景

01

OpenClaw 用户查找和安装 Skill 时

02

用户想查找某类 Agent Skill 时

03

需要根据任务场景推荐可安装能力包时

04

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

补充不同宿主或平台的使用分布数据

能力 5

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

OpenClaw

95.11%
按下载量换算2,623

安全审计

VirusTotal

通过

ClawScan

可疑

Static analysis

通过

权限和风险

需要联网

该 Skill 可能需要联网访问来源站点、仓库或外部 API;具体网络访问范围需要结合源码和 README 复核。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。来源安全扫描存在 warning/failed 结果,不能写成本站确认安全。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills