slack-latest
Gather recent Slack messages, read threads, and send replies. Use when the user asks about Slack activity or wants to interact with Slack.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Gather recent Slack messages, read threads, and send replies. Use when the user asks about Slack activity or wants to interact with Slack.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
Web search, content extraction, and product image discovery via real browser. Searches with Google, Bing, DuckDuckGo, or Brave (auto-fallback). Extracts page content as markdown including image URLs. Handles SPAs, anti-bot detection, and logged-in sessions. Requires one-time browser setup.
Analyze past session files to find recurring AI agent issues and fix them via AGENTS.md updates, new skills, or code/infra changes. Use when asked to improve agent workflow, find recurring problems, optimize AGENTS.md, create skills from session patterns, or understand what went wrong across sessions.
Use tmux instead of bash tool to run commands that take more than ~30 seconds, like bulk operations, db migrations, dev servers.
Manage Linear issues: Create issues, update issues, search issues. Best when combined with GitHub CLI
Use when AWS CLI commands fail with SSO token expiration errors like "Token has expired", "SSO session has expired", or "Error when retrieving credentials".
基于 SOC 职业分类
| name | slack-latest |
| description | Gather recent Slack messages, read threads, and send replies. Use when the user asks about Slack activity or wants to interact with Slack. |
slack.py is a self-contained Python script (no dependencies beyond
the standard library) at {baseDir}/slack.py.
Requires browser tokens from a Slack session.
*.slack.com (e.g. api/client.boot)pbpaste | python3 {baseDir}/slack.py auth
# or paste directly:
python3 {baseDir}/slack.py auth <<'CURL'
curl 'https://WORKSPACE.slack.com/api/...' -H '...' -b '...' --data-raw '...'
CURL
Credentials are stored at $XDG_CONFIG_HOME/skills/slack-latest/credentials.json
(typically ~/.config/skills/slack-latest/credentials.json).
Token lifetime: Browser tokens (xoxc/xoxd) expire when you log
out or when Slack rotates the session. If commands start failing with
auth errors, re-run the setup.
To verify credentials work:
python3 {baseDir}/slack.py auth-test
Scans all conversations (channels, DMs, group DMs) and collects human messages from the last N days, with thread replies expanded inline.
python3 {baseDir}/slack.py gather --days 3 --out ~/tmp/slack-recent.json
Output: JSON array grouped by channel (most recently active first).
Indented by default; use --compact for single-line JSON.
[
{
"channel": "#general", "_id": "C0123456789",
"messages": [
{
"from": "Dan Abnormal", "at": "2026-02-08 12:18",
"text": "Interesting discussion on...",
"_uid": "U0123456789", "_ts": "1700000000.000001",
"reactions": ["eyes(2)"],
"replies": [
{"from": "Ogdred Weary", "at": "2026-02-08 12:20", "text": "Agreed, ..."}
]
}
]
}
]
repliesolder_replies: N when replies exist but fall outside the time windowin_thread: true marks messages broadcast from a thread_id, _uid, _ts fields only present with --include-ids--days N — time window (default: 3)--max-text N — truncate message text in chars (default: 500)--include-ids — add _id, _uid, _ts for follow-up API calls--compact — single-line JSON (saves ~25% size)python3 {baseDir}/slack.py thread --channel C0123456789 --ts 1700000000.000001
Returns the full thread as JSON (all replies, with author names resolved).
# Send to a channel
python3 {baseDir}/slack.py send --channel C0123456789 --text "Hello"
# Reply in a thread
python3 {baseDir}/slack.py send --channel C0123456789 --thread-ts 1700000000.000001 --text "Got it"