Imported from slackapi/slack-skills-plugin (
skills/slack-search/SKILL.md) via skills.sh. Install upstream withnpx skills add slackapi/slack-skills-plugin --skill slack-search. Copyright stays with the author.
Slack Search
This skill provides guidance for effectively searching Slack to find messages, files, and information.
When to Use
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.
Search Tools Overview
| 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. |
Search Strategy
Start Broad, Then Narrow
- Begin with a simple keyword or natural language question.
- If too many results, add filters (
in:,from:, date ranges). - If too few results, remove filters and try synonyms or related terms.
Choose the Right Search Mode
- Natural language questions (e.g., "What is the deadline for project X?"): Best for fuzzy, conceptual searches where you don't know exact keywords.
- Keyword search (e.g.,
project X deadline): Best for finding specific, exact content.
Use Multiple Searches
Don't rely on a single search. Break complex questions into smaller searches:
- Search for the topic first
- Then search for specific people's contributions
- Then search in specific channels
Search Modifiers Reference
Location Filters
in:channel-name: Search within a specific channelin:<#C123456>: Search in channel by ID-in:channel-name: Exclude a channelin:<@U123456>orin:@username: Search in DMs with a user
User Filters
from:<@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 person
Content Filters
is: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 reaction
Date Filters
before: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)
Text Matching
"exact phrase": Match an exact phrase-word: Exclude messages containing a wordwild*: Wildcard matching (minimum 3 characters before*)
File Search
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:videos
Example: content_types="files" type:pdfs budget after:2025-01-01
All the standard modifiers above (in:, from:, dates, etc.) work with file searches too.
Useful Parameters
Beyond the query string, the search tools accept parameters that materially improve results:
sort:score(relevance, default) ortimestamp(newest first); pair withsort_dir(asc/desc).content_types:messages(default) orfiles.only_my_channels: restrict to channels you're a member of.limit: results per page (capped at 20); paginate with the returnedcursor.
Following Up on Results
After finding relevant messages:
- Use
slack_read_threadto get the full thread context for any threaded message. - Use
slack_read_channelwitholdest/latesttimestamps to read surrounding messages for context. - Use
slack_read_user_profileto identify who a user is when their ID appears in results. - Use
slack_read_fileto read the contents of a file surfaced by a file search. - Use
slack_list_channel_membersto see who is in a channel you found.
Common Pitfalls
- Boolean operators don't work.
AND,OR,NOTare not supported. Use spaces (implicit AND) and-for exclusion. (Repeating the same modifier, e.g. twofrom:, ORs those values together.) - Parentheses don't work. Don't try to group search terms with
(). - Search is not real-time. Very recent messages (last few seconds) may not appear in search results. Use
slack_read_channelfor the most recent messages. - Private channel access. Use
slack_search_public_and_privatewhen you need to include private channels, but note this requires user consent.
Notes
- Scope: this skill owns searching workspace content: messages, files, channels, and people inside Slack. To search and read the official Slack platform documentation at docs.slack.dev (conceptual and how-to questions about Slack features), use the
slack:slack-docsskill instead.