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 channel
in:<#C123456>: Search in channel by ID
-in:channel-name: Exclude a channel
in:<@U123456> or in:@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 user
to:me: Messages sent directly to you
creator:@username: Canvases created by a specific person
Content Filters
is:thread: Only threaded messages
is:saved: Only your saved messages
has:pin: Pinned messages
has:link: Messages containing links
has:file: Messages with file attachments
has::emoji:: Messages with a specific reaction
hasmy::emoji:: Messages you reacted to with a specific reaction
Date Filters
before:YYYY-MM-DD: Messages before a date
after:YYYY-MM-DD: Messages after a date
on:YYYY-MM-DD: Messages on a specific date
during:month: Messages during a specific month (e.g., during:january)
Text Matching
"exact phrase": Match an exact phrase
-word: Exclude messages containing a word
wild*: 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:presentations
type: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) 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.
Following Up on Results
After finding relevant messages:
- Use
slack_read_thread to get the full thread context for any threaded message.
- Use
slack_read_channel with oldest/latest timestamps to read surrounding messages for context.
- Use
slack_read_user_profile to identify who a user is when their ID appears in results.
- Use
slack_read_file to read the contents of a file surfaced by a file search.
- Use
slack_list_channel_members to see who is in a channel you found.
Common Pitfalls
- Boolean operators don't work.
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.)
- 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_channel for the most recent messages.
- Private channel access. Use
slack_search_public_and_private when 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-docs skill instead.
1---2name: slack-search3description: 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.4---56# Slack Search78This skill provides guidance for effectively searching Slack to find messages, files, and information.910## When to Use1112Apply 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.1314## Search Tools Overview1516| Tool | Use When |17| --------------------------------- | ------------------------------------------------------------------------------------ |18| `slack_search_public` | Searching public channels only. Does not require user consent. |19| `slack_search_public_and_private` | Searching all channels including private, DMs, and group DMs. Requires user consent. |20| `slack_search_channels` | Finding channels by name or description. |21| `slack_search_users` | Finding people by name, email, or role. |2223## Search Strategy2425### Start Broad, Then Narrow26271. Begin with a simple keyword or natural language question.282. If too many results, add filters (`in:`, `from:`, date ranges).293. If too few results, remove filters and try synonyms or related terms.3031### Choose the Right Search Mode3233- **Natural language questions** (e.g., "What is the deadline for project X?"): Best for fuzzy, conceptual searches where you don't know exact keywords.34- **Keyword search** (e.g., `project X deadline`): Best for finding specific, exact content.3536### Use Multiple Searches3738Don't rely on a single search. Break complex questions into smaller searches:3940- Search for the topic first41- Then search for specific people's contributions42- Then search in specific channels4344## Search Modifiers Reference4546### Location Filters4748- `in:channel-name`: Search within a specific channel49- `in:<#C123456>`: Search in channel by ID50- `-in:channel-name`: Exclude a channel51- `in:<@U123456>` or `in:@username`: Search in DMs with a user5253### User Filters5455- `from:<@U123456>`: Messages from a specific user (by ID)56- `from:username`: Messages from a user (by Slack username)57- `to:<@U123456>`: Messages sent to a specific user58- `to:me`: Messages sent directly to you59- `creator:@username`: Canvases created by a specific person6061### Content Filters6263- `is:thread`: Only threaded messages64- `is:saved`: Only your saved messages65- `has:pin`: Pinned messages66- `has:link`: Messages containing links67- `has:file`: Messages with file attachments68- `has::emoji:`: Messages with a specific reaction69- `hasmy::emoji:`: Messages you reacted to with a specific reaction7071### Date Filters7273- `before:YYYY-MM-DD`: Messages before a date74- `after:YYYY-MM-DD`: Messages after a date75- `on:YYYY-MM-DD`: Messages on a specific date76- `during:month`: Messages during a specific month (e.g., `during:january`)7778### Text Matching7980- `"exact phrase"`: Match an exact phrase81- `-word`: Exclude messages containing a word82- `wild*`: Wildcard matching (minimum 3 characters before `*`)8384## File Search8586To search for files, set the `content_types="files"` parameter and use a `type:` filter in the query:8788- `type:images`, `type:documents`, `type:pdfs`, `type:spreadsheets`, `type:presentations`89- `type:canvases`, `type:lists`, `type:emails`, `type:audio`, `type:videos`9091Example: `content_types="files" type:pdfs budget after:2025-01-01`9293All the standard modifiers above (`in:`, `from:`, dates, etc.) work with file searches too.9495## Useful Parameters9697Beyond the query string, the search tools accept parameters that materially improve results:9899- `sort`: `score` (relevance, default) or `timestamp` (newest first); pair with `sort_dir` (`asc`/`desc`).100- `content_types`: `messages` (default) or `files`.101- `only_my_channels`: restrict to channels you're a member of.102- `limit`: results per page (capped at 20); paginate with the returned `cursor`.103104## Following Up on Results105106After finding relevant messages:107108- Use `slack_read_thread` to get the full thread context for any threaded message.109- Use `slack_read_channel` with `oldest`/`latest` timestamps to read surrounding messages for context.110- Use `slack_read_user_profile` to identify who a user is when their ID appears in results.111- Use `slack_read_file` to read the contents of a file surfaced by a file search.112- Use `slack_list_channel_members` to see who is in a channel you found.113114## Common Pitfalls115116- **Boolean operators don't work.** `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.)117- **Parentheses don't work.** Don't try to group search terms with `()`.118- **Search is not real-time.** Very recent messages (last few seconds) may not appear in search results. Use `slack_read_channel` for the most recent messages.119- **Private channel access.** Use `slack_search_public_and_private` when you need to include private channels, but note this requires user consent.120121## Notes122123- **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-docs` skill instead.