slack-daily-digest
$
npx mdskill add openai/plugins/slack-daily-digestCompile today's Slack activity into a concise daily recap.
- Generates summaries of important messages from chosen channels or topics.
- Integrates with Slack tools for reading channels, threads, and user profiles.
- Prioritizes updates on decisions, blockers, incidents, and status changes.
- Delivers a structured digest with clear time windows and key highlights.
SKILL.md
.github/skills/slack-daily-digestView on GitHub ↗
--- name: slack-daily-digest description: Create a daily Slack digest from selected channels or topics. Use when the user asks for a daily Slack recap or summary of today's Slack activity. --- # Slack Daily Digest Use this skill to produce a daily digest of today's important Slack activity from selected channels or topics. ## Start Here - If the user did not name channels or topics, ask first before making any Slack tool calls. - Do not guess the user's main or starred channels. ## Workflow 1. Confirm channels or topic keywords. 2. Resolve the user's timezone with `slack_read_user_profile`. For "today," use local start-of-day through now and state that window in the digest. 3. Named channels: Resolve IDs through `slack_search_channels`, then call `slack_read_channel` for today's window with `limit` at `50` per channel. 4. Named topics: Use `slack_search_public_and_private` for each topic phrase. If channels were also provided, run one search per topic and channel with `query` set to `<topic phrase> in:<#CHANNEL_ID>` so the search stays inside the selected channels. If no channels were provided, set `query` to the topic phrase. Then read the returned channels with `slack_read_channel` or parent threads with `slack_read_thread` when a result looks important. 5. Prioritize decisions, blockers, incidents, asks, ownership changes, deadline changes, and status changes. 6. When a named channel was resolved to a channel ID, render that channel in the final digest as a Slack channel mention like `<#CHANNEL_ID>` instead of plain `#channel-name`, especially in **Scope**. 7. Read the full `## Formatting Rules` section below. 8. If the user asked to post or send the digest in Slack, use `../slack-outgoing-message/SKILL.md` and follow the user's explicit intent: - explicit send/post/share: write directly - explicit draft/review-first: create a draft - no Slack delivery request: return the digest in chat ## Formatting Rules - For a concise Slack or chat summary, you MUST use exactly this structure unless the user explicitly requests a different format. - If you use `../slack-outgoing-message/SKILL.md` to draft or send the final message, this output contract remains binding. The downstream skill does not relax or rename these sections. ```md **Daily Slack Digest - YYYY-MM-DD** **Scope** - <clickable channel mentions for resolved channels + topics + time window> - <coverage note or omitted-channel caveat, if any> **Summary** <1-2 sentence summary of volume + key signals> **Topic: <group 1>** - ... - ... **Topic: <group 2>** - ... - ... **Needs attention** - ... **Notes** - <gaps, absences, or caveats> ``` - Group the digest by topic or channel, whichever better matches the request. - Use short group headers and keep each group to 1–3 bullets. - Keep the digest compact; aim for 4–10 bullets total across all sections. - Start each bullet with the key update, then add implication, owner, blocker, or action if relevant. - If grouping by topic, include the channel when helpful. - If grouping by channel, include the topic when helpful. - For resolved channels, prefer Slack channel mentions like `<#CHANNEL_ID>` so the names are clickable. Use plain text only when you do not have a channel ID. - Include **Needs attention** only for items requiring user action, decisions, or input. - Include **Notes** for gaps, absences, sparse results, or caveats.
More from openai/plugins
- accessibility-and-inclusive-visualizationMake data visualizations accessible and inclusive. Use when the user needs chart or diagram accessibility guidance, text alternatives for complex visuals, color and contrast review, keyboard support, reduced-motion behavior for animation or parallax, or an accessibility QA workflow for exported figures, UML-like diagrams, and dashboards.
- agent-browserBrowser automation CLI for AI agents. Use when the user needs to interact with websites, verify dev server output, test web apps, navigate pages, fill forms, click buttons, take screenshots, extract data, or automate any browser task. Also triggers when a dev server starts so you can verify it visually.
- agent-browser-verifyAutomated browser verification for dev servers. Triggers when a dev server starts to run a visual gut-check with agent-browser — verifies the page loads, checks for console errors, validates key UI elements, and reports pass/fail before continuing.
- agents-sdkBuild AI agents on Cloudflare Workers using the Agents SDK. Load when creating stateful agents, durable workflows, real-time WebSocket apps, scheduled tasks, MCP servers, or chat applications. Covers Agent class, state management, callable RPC, Workflows integration, and React hooks. Biases towards retrieval from Cloudflare docs over pre-trained knowledge.
- ai-elementsAI Elements component library guidance — pre-built React components for AI interfaces built on shadcn/ui. Use when building chat UIs, message displays, tool call rendering, streaming responses, reasoning panels, or any AI-native interface with the AI SDK.
- ai-gatewayVercel AI Gateway expert guidance. Use when configuring model routing, provider failover, cost tracking, or managing multiple AI providers through a unified API.
- ai-generation-persistenceAI generation persistence patterns — unique IDs, addressable URLs, database storage, and cost tracking for every LLM generation
- ai-sdkVercel AI SDK expert guidance. Use when building AI-powered features — chat interfaces, text generation, structured output, tool calling, agents, MCP integration, streaming, embeddings, reranking, image generation, or working with any LLM provider.
- aiq-deploy|
- aiq-research|