npx skills add ...
npx skills add slackapi/slack-skills-plugin --skill slack-search
Use when locating messages, files, channels, or people across Slack, or gathering context before answering, with the search MCP tools (slack_search_public, slack_search_public_and_private, slack_search_channels, slack_search_users). Covers search modifiers (in:, from:, before:), file-type filters, natural-language vs. keyword search, and reading results in context.
npx skills add slackapi/slack-skills-plugin --skill slack-search
This skill provides guidance for effectively searching Slack to find messages, files, and information.
Apply this skill whenever you need to find information in Slack, including when a user asks you to locate messages, conversations, files, or people, or when you need to gather context before answering a question about what's happening in Slack.
| Tool | Use When |
|---|---|
slack_search_public | Searching public channels only. Does not require user consent. |
slack_search_public_and_private | Searching all channels including private, DMs, and group DMs. Requires user consent. |
slack_search_channels | Finding channels by name or description. |
slack_search_users | Finding people by name, email, or role. |
in:, from:, date ranges).project X deadline): Best for finding specific, exact content.Don't rely on a single search. Break complex questions into smaller searches:
in:channel-name: Search within a specific channelin:<#C123456>: Search in channel by ID-in:channel-name: Exclude a channelin:<@U123456> or in:@username: Search in DMs with a userfrom:<@U123456>: Messages from a specific user (by ID)from:username: Messages from a user (by Slack username)to:<@U123456>: Messages sent to a specific userto:me: Messages sent directly to youcreator:@username: Canvases created by a specific personis:thread: Only threaded messagesis:saved: Only your saved messageshas:pin: Pinned messageshas:link: Messages containing linkshas:file: Messages with file attachmentshas::emoji:: Messages with a specific reactionhasmy::emoji:: Messages you reacted to with a specific reactionbefore:YYYY-MM-DD: Messages before a dateafter:YYYY-MM-DD: Messages after a dateon:YYYY-MM-DD: Messages on a specific dateduring:month: Messages during a specific month (e.g., during:january)"exact phrase": Match an exact phrase-word: Exclude messages containing a wordwild*: Wildcard matching (minimum 3 characters before *)To search for files, set the content_types="files" parameter and use a type: filter in the query:
type:images, type:documents, type:pdfs, type:spreadsheets, type:presentationstype:canvases, type:lists, type:emails, type:audio, type:videosExample: content_types="files" type:pdfs budget after:2025-01-01
All the standard modifiers above (in:, from:, dates, etc.) work with file searches too.
Beyond the query string, the search tools accept parameters that materially improve results:
sort: score (relevance, default) or timestamp (newest first); pair with sort_dir (asc/desc).content_types: messages (default) or files.only_my_channels: restrict to channels you're a member of.limit: results per page (capped at 20); paginate with the returned cursor.After finding relevant messages:
slack_read_thread to get the full thread context for any threaded message.slack_read_channel with oldest/latest timestamps to read surrounding messages for context.slack_read_user_profile to identify who a user is when their ID appears in results.slack_read_file to read the contents of a file surfaced by a file search.slack_list_channel_members to see who is in a channel you found.AND, OR, NOT are not supported. Use spaces (implicit AND) and - for exclusion. (Repeating the same modifier, e.g. two from:, ORs those values together.)().slack_read_channel for the most recent messages.slack_search_public_and_private when you need to include private channels, but note this requires user consent.slack:slack-docs skill instead.