.agents/skills/slack-search/SKILL.md
Guidance for effectively searching Slack to find messages, files, channels, and people
npx skillsauth add mmahalwy/cooper slack-searchInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
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> — Search in DMs with a userfrom:<@U123456> — Messages from a specific user (by ID)from:username — Messages from a user (by Slack username)to:me — Messages sent directly to youis:thread — Only threaded messageshas:pin — Pinned messageshas:link — Messages containing linkshas:file — Messages with file attachmentshas::emoji: — Messages 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, use the content_types="files" parameter with type filters:
type:images — Image filestype:documents — Document filestype:pdfs — PDF filestype:spreadsheets — Spreadsheet filestype:canvases — Slack CanvasesExample: content_types="files" type:pdfs budget after:2025-01-01
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.AND, OR, NOT are not supported. Use spaces (implicit AND) and - for exclusion.().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.development
Use this skill any time a spreadsheet file is the primary input or output. This means any task where the user wants to: open, read, edit, or fix an existing .xlsx, .xlsm, .csv, or .tsv file (e.g., adding columns, computing formulas, formatting, charting, cleaning messy data); create a new spreadsheet from scratch or from other data sources; or convert between tabular file formats. Trigger especially when the user references a spreadsheet file by name or path — even casually (like "the xlsx in my downloads") — and wants something done to it or produced from it. Also trigger for cleaning or restructuring messy tabular data files (malformed rows, misplaced headers, junk data) into proper spreadsheets. The deliverable must be a spreadsheet file. Do NOT trigger when the primary deliverable is a Word document, HTML report, standalone Python script, database pipeline, or Google Sheets API integration, even if tabular data is involved.
content-media
Interactive PDF viewer. Use when the user wants to open, show, or view a PDF and collaborate on it visually — annotate, highlight, stamp, fill form fields, place signature/initials, or review markup together. Not for summarization or text extraction (use native Read instead).
documentation
Write or review UX copy — microcopy, error messages, empty states, CTAs. Trigger with "write copy for", "what should this button say?", "review this error message", or when naming a CTA, wording a confirmation dialog, filling an empty state, or writing onboarding text.
development
Rapidly triage an incoming NDA and classify it as GREEN (standard approval), YELLOW (counsel review), or RED (full legal review). Use when a new NDA arrives from sales or business development, when screening for embedded non-solicits, non-competes, or missing carveouts, or when deciding whether an NDA can be signed under standard delegation.