关于 slack
用于通过命令行搜索和操作 Slack 工作区的技能,涵盖消息、频道、讨论串和用户,并通过封装脚本避免在 API 命令中直接暴露令牌。
主要功能
- 01使用 Slack 筛选条件搜索消息
- 02发送消息并加入频道
- 03读取频道历史和讨论串
- 04列出频道并查看用户
- 05安全调用其他 Slack API 接口
适用场景
- 01按频道、发送者或日期查找消息
- 02向频道或用户发送更新
- 03查看频道历史和讨论串回复
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ letta-ai/ skills --skill slack安装后在 Claude Code 中输入/slack确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
manifest.yamlreferences/api.mdscripts/slackslack-apislack-setup详细介绍
Slack
通过命令行搜索并与 Slack 工作区交互。
重要:令牌安全
切勿在 curl 命令中直接包含 $SLACK_TOKEN。 令牌会被记录并暴露。
始终使用在内部从环境中读取令牌的包装脚本:
slack send——不要使用curl ... -H "Authorization: Bearer $SLACK_TOKEN"slack-api POST ...——用于高级 API 调用
快速设置(新用户)
# Add scripts to PATH
export PATH="$PATH:$HOME/.letta/skills/slack/scripts"
# Create Slack app with one click (opens browser)
slack-setup
这会打开 Slack 应用创建页面,并预先配置所有权限。然后:
- 点击 Create 创建应用
- 前往 OAuth & Permissions → Install to Workspace
- 复制 User OAuth Token(
xoxp-...)——不要复制 bot token - 在 shell 中设置:
export SLACK_TOKEN="xoxp-..."
为什么使用用户令牌? Bot token(xoxb-)无法搜索消息(这是 Slack 的限制)。用户令牌可以执行 bot 能执行的所有操作,还能搜索。
快速设置(已有令牌)
export SLACK_TOKEN="xoxp-..." # User token (recommended) or xoxb- bot token
export PATH="$PATH:$HOME/.letta/skills/slack/scripts"
命令
搜索消息
slack search "deployment failed"
slack search "from:@caren database"
slack search "in:#engineering api"
slack search "in:#engineering after:2024-01-01 bug"
搜索支持 Slack 的修饰符:from:、in:、to:、has:link、has:reaction、before:、after:、on:。
发送消息
slack send "#general" "Hello team!"
slack send "#alerts" ":rocket: Deployment complete"
slack send "@caren" "Quick question..."
加入频道
Bot 必须是频道成员才能读取其历史记录。使用以下命令加入公开频道:
slack join "#engineering"
对于私密频道,必须由其他人在 Slack 中手动邀请 bot。
列出频道
slack channels
读取频道历史记录
slack history "#engineering"
slack history "#engineering" 50 # Last 50 messages
读取线程回复
slack thread "C1234567890" "1234567890.123456"
slack thread "C1234567890" "1234567890.123456" --json # Raw JSON output
线程时间戳(ts)来自搜索结果或频道历史记录。
列出并查看用户
slack users
slack user "U1234567890"
高级用法:直接访问 API
对于 slack 未涵盖的操作,请使用 slack-api(可确保令牌安全):
# Post with rich formatting (blocks)
slack-api POST chat.postMessage '{"channel": "#general", "blocks": [{"type": "section", "text": {"type": "mrkdwn", "text": "*Bold* and _italic_"}}]}'
# Add reaction
slack-api POST reactions.add '{"channel": "C1234", "timestamp": "1234.5678", "name": "thumbsup"}'
# Get user info
slack-api GET "users.info?user=U1234567890"
# Reply to thread
slack-api POST chat.postMessage '{"channel": "C1234", "thread_ts": "1234.5678", "text": "Thread reply"}'
更多 API 用法示例,请参阅 references/api.md。
包含的权限
清单(slack-setup)包含以下 bot 权限范围:
| 类别 | 权限范围 |
|---|---|
| 搜索 | search:read |
| 消息 | chat:write、chat:write.public、reactions:read、reactions:write |
| 公开频道 | channels:read、channels:history、channels:join |
| 私密频道 | groups:read、groups:history |
| 私信 | im:read、im:write、im:history |
| 用户 | users:read、users:read.email |
| 文件 | files:read、files:write |
| 其他 | emoji:read、links:read |
评论
支持 Markdown