关于 agent-slack
用于通过命令行读取、搜索 Slack 内容并执行明确授权操作的技能。它提供原生草稿和安全模式等写入防护,避免未经审核发布消息。
主要功能
- 01读取和搜索 Slack 消息
- 02管理原生消息草稿
- 03经授权发送或编辑消息
- 04操作画布和工作流
- 05通过安全模式控制写入
适用场景
- 01查找 Slack 消息或文件
- 02准备供审核的消息草稿
- 03经授权修改频道或画布
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ stablyai/ agent-slack --skill agent-slack安装后在 Claude Code 中输入/agent-slack确认已加载。
附带文件references/output.mdreferences/targets.md
详细介绍
agent-slack
从 $PATH 使用 agent-slack。如果找不到,请使用以下命令安装:
curl -fsSL https://raw.githubusercontent.com/stablyai/agent-slack/main/install.sh | sh
备用方式:npm i -g agent-slack(Node >= 22.5)。
在猜测命令或标志之前,先运行 agent-slack --help 或相关子命令的帮助信息。
如果已安装帮助中没有此处提到的功能,请报告版本不匹配,不要自行猜测。未经明确授权,不要自行更新 CLI。
安全
- 可自由读取和搜索。
- 仅在明确请求时执行写入操作:发送、编辑、删除、添加表情回应、邀请、创建或编辑频道或画布、标记为已读、安排或取消发送、上传、更改 Later 状态或提醒、创建私信或群组私信,以及运行工作流。工作流运行可能会执行下游操作。
- 对于仅撰写或审核的请求,请返回拟议文本,不要调用 Slack;也可以使用
message draft create添加 Slack 原生草稿,供用户审核和发送(不会发布任何内容)。message compose具备发送能力;只有在用户明确要求打开交互式编辑器时才使用。在 CI 或其他非交互式环境中,未经单独授权立即发送,不要调用它:CI 会跳过编辑器并发送提供的文本。 - 设置
AGENT_SLACK_SAFE_MODE=1(或全局--safe-mode标志)后,工具层将强制启用安全模式:message send会转到草稿编辑器,message edit/message delete会被阻止。当不应在未经人工审核的情况下发布内容时,请启用此模式。
工作流
- 运行
agent-slack auth whoami。如有需要,使用auth import-desktop、auth import-brave、auth import-chrome或auth import-firefox导入凭据,然后运行auth test。 - 如果有 Slack 消息 URL,优先使用它。它包含大多数消息操作所需的工作区、频道和时间戳。
- 选择范围最小的读取操作:对单条消息使用
message get,对完整线程或频道历史记录使用message list,对内容发现使用search messages或search files。 - 使用
--limit、--max-body-chars和--max-content-chars等输出限制,避免引入不必要的上下文。 - 对于用户要求的写入操作,只执行所要求的修改,并核实生成的 JSON 元数据。
对于定时写入,优先使用 --schedule 和 ISO 8601 时间戳;涉及时区时,应明确指定偏移量。命名的 --schedule-in 短语使用执行环境的本地时区;请确认时区与用户意图一致。
命名的 later remind --in 值(如 tomorrow 或 monday)也使用执行环境的本地时区,并设定为 9:00。请确认时区,或传入明确的 Unix 时间戳。
如果用户希望禁止显示 Slack 链接和媒体预览,请在 message send 或 message compose 中使用 --no-unfurl。它不能与 message send --attach 一起使用。
普通的 message send 和 message edit 调用会自动转换列表。message send --blocks 和 message edit --blocks 使用提供的 Block Kit 块,而 message send --attach 发送初始评论时不会自动转换列表。在自动转换的列表中,请使用 Slack 的 <URL|label> 语法,因为 CommonMark 的 [label](URL) 链接不会转换为带标签的链接元素。
Slack 原生草稿(message draft list|create|update|delete)用于管理会显示在用户 Slack 客户端中的草稿;create 不会发布任何内容。create 和 update 接受可重复使用的 --attach <path>;在 update 中,文件会添加到草稿现有的附件中,而不是替换它们。这些操作使用未公开文档的会话端点,并要求使用浏览器式身份验证(xoxc/xoxd)。
canvas edit 使用 Slack 的公开 canvases.edit API,每次调用只执行一项操作。默认的 replace 操作会替换整个画布;针对分区的插入、替换和删除操作需要使用 Slack Canvas 工具返回的分区 ID,而 rename 则接受 --title。内容操作必须且只能指定一个 --file 或 --markdown 源。它要求使用带有 canvases:write 权限的标准令牌;导入的浏览器凭据可以创建独立画布,但不能编辑画布。
条件参考
- 只有在选择消息 URL、频道或用户目标,或处理多个工作区时,才阅读 references/targets.md。
- 只有在处理返回的消息或画布元数据、已解析的用户,或已下载和下载失败的附件时,才阅读 references/output.md。