| name | slack-recall |
| description | Recall context from a Slack thread — either the current thread (if in one) or the most recent thread in the channel. Acts as a memory layer by pulling conversation history from Slack. Only works when Slack message context is present (channel_id available). Use when you need to review what was discussed, recall decisions, or catch up on a prior conversation thread. |
Slack Recall — Thread Context Retrieval
Pull conversation context from Slack threads to inform your current work. This is your "third memory layer" — beyond session memory and persistent file memory, you can look back into the full Slack record of collaborative work.
When to use
- You need context from an ongoing thread you're replying in
- You want to review the most recent conversation thread in a channel
- The user asks "what were we discussing?" or "recall what we decided"
- You need to catch up on prior discussion before starting work
- You want to check what was already tried or decided in a thread
When NOT to use
- No Slack message context is present (no
channel_id available) — this skill requires Slack metadata
- You already have the context you need from session memory or file memory
Prerequisites
This skill requires the ## Slack Message Context block to be present in the system prompt. That block provides channel_id, thread_ts, and message_ts. If those fields are absent, tell the user this skill only works for Slack-originated messages.
Procedure
Step 1 — Detect context mode
Check the Slack message context injected into the system prompt:
- If
thread_ts is present → Thread mode: the user is in a thread, recall that thread
- If
thread_ts is absent → Channel mode: find and recall the most recent thread in the channel
Step 2a — Thread mode (thread_ts present)
Use the Slack MCP tool slack_read_thread to read the full thread:
Tool: mcp__claude_ai_Slack__slack_read_thread
channel_id: <channel_id from context>
message_ts: <thread_ts from context>
limit: 100
response_format: "detailed"
If the thread has more than 100 messages, paginate using the cursor returned.
Step 2b — Channel mode (no thread_ts)
First, read recent channel messages to find the most recent thread:
Tool: mcp__claude_ai_Slack__slack_read_channel
channel_id: <channel_id from context>
limit: 20
response_format: "detailed"
Scan the returned messages for any with thread_ts set (indicating they are thread parents or that threads exist). Find the most recent thread parent message — this is a message where ts equals its own thread_ts, or a message with reply_count > 0.
Then read that thread:
Tool: mcp__claude_ai_Slack__slack_read_thread
channel_id: <channel_id from context>
message_ts: <the thread parent ts>
limit: 100
response_format: "detailed"
Step 3 — Synthesize and report
After reading the thread, produce a structured summary for yourself (the agent). Include:
- Thread topic: What the conversation is about (one line)
- Participants: Who was involved
- Key decisions: Any decisions made or directions agreed on
- Open questions: Anything unresolved
- Action items: Any tasks mentioned or assigned
- Technical context: Code, files, commands, or architectural details discussed
- Timeline: When the conversation happened (relative to now)
Format this as a concise internal briefing. Do NOT dump raw messages — synthesize.
Step 4 — Apply context
Use the recalled context to inform your current response. If the user asked you to recall, present the summary. If you recalled proactively, use it silently to improve your answer quality.
Arguments
$ARGUMENTS can optionally specify:
thread <message_ts> — recall a specific thread by its parent timestamp
recent <N> — look at the N most recent threads (default: 1)
search <query> — use slack_search_public to find a thread by keyword, then recall it
Search mode
If $ARGUMENTS starts with search:
Tool: mcp__claude_ai_Slack__slack_search_public
query: "<search terms> in:<channel_name>"
limit: 5
Find the most relevant thread from results, then read it with slack_read_thread.
Error handling
- No Slack context → "This skill requires Slack message context. It only works when I'm responding to a Slack message."
- Channel read fails → Check channel_id is valid, try
slack_search_channels to verify
- No threads found → "No recent threads found in this channel. The channel may be quiet or only have top-level messages."
- Thread too long (500+ messages) → Read the most recent 100 messages and note that earlier context was truncated
Notes
- This skill reads Slack — it never writes or reacts
- Thread content may include messages from other bots, users, or system messages — filter appropriately
- Respect that some context may be outdated — cross-reference with current code/file state when acting on recalled information