From devboy
Searches Slack messenger history for keyword-matching messages, scoped optionally to a chat or date window. Returns ranked hits for referencing discussions like rollbacks or incidents.
npx claudepluginhub meteora-pro/devboy-tools --plugin devboyThis skill uses the workspace's default tool permissions.
Locate one or more messages across the configured messenger (Slack today, additional providers as they come online) by keyword, optional chat scope, and optional time window. The skill returns a ranked list of hits — it does **not** condense a long conversation into a narrative; for that, use `chat-summary`.
Guides effective Slack searches for messages, files, channels, and people using tools, modifiers (in:, from:, dates), strategies, and file filters.
Guides effective Slack searches for messages, files, channels, and people using tools like slack_search_public, modifiers (in:, from:, dates), and strategies to narrow broad queries.
Searches Slack for organizational context—decisions, constraints, discussion arcs—producing a synthesized research digest with cross-analysis and value assessment. Use for planning, brainstorming, or tasks needing team knowledge.
Share bugs, ideas, or general feedback.
Locate one or more messages across the configured messenger (Slack today, additional providers as they come online) by keyword, optional chat scope, and optional time window. The skill returns a ranked list of hits — it does not condense a long conversation into a narrative; for that, use chat-summary.
solve-issue) needs to cite the originating chat discussion before acting on a ticket.If the user said something like "in #eng" or "in the deploys channel", resolve the humanised name to a chat_id first. Searching without a scope is also fine — it's just slower and noisier.
# Narrow by name — pick the best match from the returned list
devboy tools call get_messenger_chats '{"search": "eng", "limit": 10}'
Useful filters: chat_type (direct / group / channel), include_inactive (archived chats are hidden by default). Note: cursor-based pagination is accepted by the tool's argument schema today but the response is formatted as text and does not surface a next_cursor back to the caller — narrow the hit list with search / limit instead, or refine the query.
search_chat_messages takes a free-text query and optional chat_id, plus a provider-timestamp since / until window when the user cares about recency:
# Global search
devboy tools call search_chat_messages '{"query": "rollback", "limit": 30}'
# Scoped to one chat
devboy tools call search_chat_messages '{
"query": "feature flag cutover",
"chat_id": "C0123456789",
"limit": 50
}'
# Last week, any chat
devboy tools call search_chat_messages '{
"query": "incident",
"since": "1712448000.000000",
"until": "1713052800.000000"
}'
since / until are provider-native timestamps (Slack passes them straight through — floating-point epoch seconds, as strings). If the user phrases a window in natural language ("yesterday", "last week"), convert to epoch seconds before calling.
search_chat_messages returns at most limit hits per call (capped at 1000). The response is rendered as formatted text and does not surface a next_cursor back to the caller today, so cursor-based pagination is not actionable from the tool output. Instead of trying to page, narrow the query:
since / until to a smaller window.query.chat_id to the channel the user actually meant.limit as a last resort, but the hit list gets harder to skim fast.If cursor pagination becomes genuinely necessary for a user's workflow, that requires a tool-side change to expose the pagination metadata, not a skill-side workaround.
Before handing the hits back to the user:
MessengerMessage type does not include a permalink field, so do not promise jump-to-message URLs. Surface the chat_id + message id / timestamp instead — that's enough for the user to open the message directly in Slack (slack://channel?team=…&id=<chat_id>&message=<ts>) or paste into a helper script.Example render:
#eng alice 2026-04-15 14:02 "…rolling back v2.4.1, see incident-204…" (C0123/ts=1712584920.010)
DM bob bob 2026-04-14 09:31 "feature flag cutover is done on staging"
channels:history, groups:history, im:history, mpim:history), search results will be incomplete or empty. When hits look suspiciously thin, run devboy test slack and check the "Missing scopes" line.chat-summary for that.notify when the user wants to post.