slack-daily-digest

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.

685 stars

Best use case

slack-daily-digest is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

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.

Teams using slack-daily-digest should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/slack-daily-digest/SKILL.md --create-dirs "https://raw.githubusercontent.com/openai/plugins/main/plugins/slack/skills/slack-daily-digest/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/slack-daily-digest/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How slack-daily-digest Compares

Feature / Agentslack-daily-digestStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

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.

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

SKILL.md Source

# 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.

Related Skills

teams-daily-digest

685
from openai/plugins

Create a daily Microsoft Teams digest from selected chats, channels, or workstreams. Use when the user asks for a daily Teams recap or summary of today's Teams activity.

slack

685
from openai/plugins

Read Slack context, route to the right Slack workflow, and prepare or perform Slack writes that match the user's intent.

slack-reply-drafting

685
from openai/plugins

Draft Slack replies from available context. Use when the user wants help finding messages that likely need a response and preparing reply drafts.

slack-outgoing-message

685
from openai/plugins

Primary skill for composing, drafting, or refining any outbound Slack content. Use this whenever the task will require using `slack_send_message`, `slack_send_message_draft`, or `slack_create_canvas`. Use `slack` to read or analyze Slack context; use this skill to produce the final outgoing message.

slack-notification-triage

685
from openai/plugins

Triage recent Slack activity into a priority queue or task list for the user.

slack-channel-summarization

685
from openai/plugins

Summarize activity from one Slack channel and return a concise recap, post-ready update, or summary doc.

outlook-calendar-daily-brief

685
from openai/plugins

Build polished one-day Outlook Calendar briefs. Use when the user asks for today, tomorrow, or a specific date summary with an agenda, conflict flags, free windows, remaining-meeting readouts, or a calendar brief, and Outlook Calendar is available.

google-calendar-daily-brief

685
from openai/plugins

Build polished one-day Google Calendar briefs. Use when the user asks for today, tomorrow, or a specific date summary with an agenda, conflict flags, free windows, remaining-meeting readouts, or a calendar brief, and the Google Calendar connector is available.

workflow

685
from openai/plugins

Vercel Workflow DevKit (WDK) expert guidance. Use when building durable workflows, long-running tasks, API routes or agents that need pause/resume, retries, step-based execution, or crash-safe orchestration with Vercel Workflow.

verification

685
from openai/plugins

Full-story verification — infers what the user is building, then verifies the complete flow end-to-end: browser → API → data → response. Triggers on dev server start and 'why isn't this working' signals.

vercel-storage

685
from openai/plugins

Vercel storage expert guidance — Blob, Edge Config, and Marketplace storage (Neon Postgres, Upstash Redis). Use when choosing, configuring, or using data storage with Vercel applications.

vercel-services

685
from openai/plugins

Vercel Services — deploy multiple services within a single Vercel project. Use for monorepo layouts or when combining a backend (Python, Go) with a frontend (Next.js, Vite) in one deployment.