slack

Read, search, sync, and post Slack messages as the user via an xoxp user token.

Updated May 3, 2026
One-click install
npx skills add https://github.com/spikelab/multiplai-cc-mktplace --skill slack-spikelab
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: slack
Source: https://github.com/spikelab/multiplai-cc-mktplace/tree/main/plugins/multiplai-messaging/skills/slack
Command: npx skills add https://github.com/spikelab/multiplai-cc-mktplace --skill slack-spikelab

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires slack_sdk, multiplai-core, and includes scripts (resource) and references (resource) components.

What problem does it solve? Reading Slack threads, searching workspace history, and posting messages normally requires switching to the Slack app or inviting a bot into channels. This Skill lets an AI agent read any pasted Slack permalink, search the workspace, sync channel history into a local SQLite cache, and post messages as the user — all from the terminal, with no bot to invite. ## Core Features & Use Cases - Thread reading from permalinks: Paste any slack.com/archives link and get the full message plus its thread, with author names, timestamps, and downloaded attachments. - Server-side and local search: Search the whole workspace via Slack's search API, or query the synced SQLite cache offline with channel and author filters. - Incremental sync and posting: Cache new messages from all member channels without re-fetching, and post messages as the user to channels, DMs, or threads. - Use Case: A colleague pastes a Slack thread link into chat and asks for a summary. The Skill fetches the thread, downloads its attachments, and returns the conversation — then can post a reply back to the same thread. ## Quick Start Ask the agent to read a pasted Slack link, for example: read this Slack thread and summarize what was decided, then post the summary back to the channel.

Frequently Asked Questions about slack

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I read a Slack thread from a pasted link?

Pass the Slack permalink to the thread verb of the slack_client.py script. It parses the channel ID and timestamp from the URL, fetches the message plus all thread replies, and prints authors and timestamps while caching everything locally.

How do I search Slack messages from the command line?

Run the search verb with a query for server-side workspace search via Slack's search.messages API, which requires the search:read scope. Add --local to search only the synced SQLite cache offline, with optional --channel and --from filters.

What Slack token and scopes does this require?

It needs an xoxp user token from a custom internal Slack app, exported as SLACK_TOKEN. Required scopes include channels:history, groups:history, im:history, mpim:history, users:read, files:read, chat:write for posting, and search:read for workspace search.

Why does Slack search return a missing_scope error?

The search:read scope is missing from the app's User Token Scopes. Add it in the Slack app settings, reinstall the app to the workspace, re-export the token, or fall back to search --local over the synced cache.

Can it post messages to Slack as me?

Yes, the send verb posts as the user via chat.postMessage with the chat:write scope. The --to flag accepts me, a #channel, a channel or user ID, or a person's name resolved against the cached user directory, with --thread-ts for replies.

What are the limitations of the Slack sync?

New replies on old idle threads may be missed because conversations.history only resurfaces a thread when a reply is broadcast to the channel. Local search and export also only cover messages that have already been synced into the cache.