
Slack Search
Teach your coding agent how to find Slack messages, files, channels, and people without guessing which search tool or filter to use.
Overview
Slack Search is an agent skill most often used in Build (also Operate, Grow) that teaches agents how to query Slack messages, files, channels, and people with the right tool and filter strategy.
Install
npx skills add https://github.com/anthropics/knowledge-work-plugins --skill slack-searchWhat is this skill?
- Maps four Slack search tools with consent boundaries (public-only vs public-and-private)
- Broad-then-narrow strategy with `in:`, `from:`, and date filters
- Natural-language vs keyword mode selection for fuzzy vs exact lookups
- Recommends multiple searches and synonyms when result sets are too thin or too wide
- 4 search tools documented in the overview table
Adoption & trust: 1.7k installs on skills.sh; 19.6k GitHub stars; 2/3 security scanners passed (skills.sh audits).
What problem does it solve?
Your agent can call Slack search tools but returns noise, misses DMs, or uses the wrong public/private endpoint without a clear search playbook.
Who is it for?
Solo builders whose agents need reliable Slack retrieval across public channels and consent-gated private/DM search.
Skip if: Teams that only need Slack in the browser with no agent integration, or installs where Slack search MCP tools are not enabled.
When should I use this skill?
Apply 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 happeni
What do I get? / Deliverables
After following the skill, the agent picks the correct Slack search tool, applies filters systematically, and gathers workspace context before answering user questions.
- Ranked Slack messages/files/channel matches
- User/channel resolution for follow-up queries
Recommended Skills
Journey fit
Spans multiple journey phases - primary shelf plus alternate fits below.
Canonical shelf is Build → integrations because the skill wires agent behavior to Slack search MCP/tools, which is where solo builders plug comms into their agent stack. Integrations subphase fits tool-specific guidance (`slack_search_public`, private search with consent, channel/user lookup) rather than generic PM or docs work.
Where it fits
Configure which Slack search tool to expose when wiring a knowledge-work plugin into your agent.
Find onboarding feedback in a private channel after the user approves private search.
How it compares
Procedure for Slack search primitives—not a standalone Slack client or notification bot.
Common Questions / FAQ
Who is slack-search for?
Indie and solo builders wiring Slack into Claude Code, Cursor, or Codex so agents can locate messages, files, channels, and people on demand.
When should I use slack-search?
Use it whenever the agent must find Slack context: during Build integrations setup, Operate support triage, or Grow lifecycle threads before drafting replies or summaries.
Is slack-search safe to install?
Private and DM search requires explicit user consent per the skill; review the Security Audits panel on this Prism page before enabling broad workspace search in production agents.
SKILL.md
READMESKILL.md - Slack Search
# 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 1. Begin with a simple keyword or natural language question. 2. If too many results, add filters (`in:`, `from:`, date ranges). 3. 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>` — 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:me` — Messages sent directly to you ### Content Filters - `is:thread` — Only threaded messages - `has:pin` — Pinned messages - `has:link` — Messages containing links - `has:file` — Messages with file attachments - `has::emoji:` — Messages 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, use the `content_types="files"` parameter with type filters: - `type:images` — Image files - `type:documents` — Document files - `type:pdfs` — PDF files - `type:spreadsheets` — Spreadsheet files - `type:canvases` — Slack Canvases Example: `content_types="files" type:pdfs budget after:2025-01-01` ## 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. ## Common Pitfalls - **Boolean operators don't work.** `AND`, `OR`, `NOT` are not supported. Use spaces (implicit AND) and `-` for exclusion. - **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.