From devboy
Summarizes messenger chat messages from channels or DMs over a time window by pulling pages, summarizing chunks, and grouping into bullet points. Use to catch up on #eng or deploy channels.
npx claudepluginhub meteora-pro/devboy-tools --plugin devboyThis skill uses the workspace's default tool permissions.
Produce a concise, grouped summary of what happened in a chat (channel, group, or DM) over a user-specified window. The skill pulls message history in pages, summarises each page, then merges the page-level summaries into a single grouped bullet list — it does **not** keyword-search across chats (that's `chat-search`) and it does **not** send anything (that's `notify`).
Summarizes recent activity across multiple Microsoft Teams channels into a scannable digest of key discussions, decisions, action items, and mentions.
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.
Handles Slack channel and thread messaging with context-aware session management. Reads messages, sends replies, searches channels/users, drafts, and schedules via Slack MCP tools.
Share bugs, ideas, or general feedback.
Produce a concise, grouped summary of what happened in a chat (channel, group, or DM) over a user-specified window. The skill pulls message history in pages, summarises each page, then merges the page-level summaries into a single grouped bullet list — it does not keyword-search across chats (that's chat-search) and it does not send anything (that's notify).
If the user named the chat by a humanised handle (#eng, "the deploy channel", "DMs with Alice"), look up the chat_id:
devboy tools call get_messenger_chats '{"search": "eng", "limit": 10}'
# Pick the match whose name / topic clearly corresponds to what the user said.
If the user already handed over a chat_id, skip this step.
get_chat_messages takes since / until as provider-native timestamps (for Slack: floating-point epoch seconds, as strings — e.g. "1712448000.000000"). Convert the user's natural-language window ("today", "this week", "since Monday") into those before calling. Default to the last 24 hours when the user does not name a window.
The tool returns formatted text and does not surface a next_cursor in the output today, so you cannot page by cursor from the tool result. Instead, split a large window into several narrow since / until calls and summarise each slice independently:
# Morning slice
devboy tools call get_chat_messages '{
"chat_id": "C0123456789",
"since": "1713052800.000000",
"until": "1713091200.000000",
"limit": 200
}'
# Afternoon slice
devboy tools call get_chat_messages '{
"chat_id": "C0123456789",
"since": "1713091200.000000",
"until": "1713139200.000000",
"limit": 200
}'
Cap limit at 200 per call to keep each response small enough to summarise cleanly. If a slice comes back close to the cap, halve the window and re-run. If a thread is referenced by thread_id and the user asked about a specific thread, pull its replies separately:
devboy tools call get_chat_messages '{"chat_id": "C0123456789", "thread_id": "1712450000.001500", "limit": 200}'
Rather than feeding the entire history into one summary prompt:
Decisions, Action items, Open questions, Context / FYI. Omit groups that have no bullets.alice: shipped v2.4.2). Cite threads by their chat_id + thread_id pair — the unified messenger output does not supply a permalink field.Target shape (adjust headings based on what actually came up):
Summary of #eng — 2026-04-14 00:00 UTC → 2026-04-15 00:00 UTC (312 messages, 4 threads)
Decisions
- Rolled back v2.4.1 after staging regression (alice, bob)
- Ship v2.4.2 with the patched migration tomorrow at 09:00 UTC
Action items
- @alice: draft incident-204 post-mortem by Thursday
- @carol: add regression test covering the migration case
Open questions
- Is the feature flag cutover still on for Friday?
Context
- Customer X asked about the GitLab SAML change — redirected to #support
If the window had fewer than ~20 messages, skip the grouping and render a single flat list.
channels:history, groups:history, im:history, or mpim:history, the corresponding chat types will return empty. When a summary feels suspiciously short, run devboy test slack and check the "Missing scopes" line before blaming the users.chat-search.notify after confirming the target.