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
- Confirm channels or topic keywords.
- 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.
- Named channels: Resolve IDs through
slack_search_channels, then call slack_read_channel for today's window with limit at 50 per channel.
- 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.
- Prioritize decisions, blockers, incidents, asks, ownership changes, deadline changes, and status changes.
- 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.
- Read the full
## Formatting Rules section below.
- 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.
**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.
1---2name: slack-daily-digest3description: 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.4---56# Slack Daily Digest78Use this skill to produce a daily digest of today's important Slack activity from selected channels or topics.910## Start Here1112- If the user did not name channels or topics, ask first before making any Slack tool calls.13- Do not guess the user's main or starred channels.1415## Workflow16171. Confirm channels or topic keywords.182. 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.193. Named channels: Resolve IDs through `slack_search_channels`, then call `slack_read_channel` for today's window with `limit` at `50` per channel.204. 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.215. Prioritize decisions, blockers, incidents, asks, ownership changes, deadline changes, and status changes.226. 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**.237. Read the full `## Formatting Rules` section below.248. 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:25 - explicit send/post/share: write directly26 - explicit draft/review-first: create a draft27 - no Slack delivery request: return the digest in chat2829## Formatting Rules3031- For a concise Slack or chat summary, you MUST use exactly this structure unless the user explicitly requests a different format.32- 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.3334```md35**Daily Slack Digest - YYYY-MM-DD**36**Scope**37- <clickable channel mentions for resolved channels + topics + time window>38- <coverage note or omitted-channel caveat, if any>3940**Summary**41<1-2 sentence summary of volume + key signals>4243**Topic: <group 1>**44- ...45- ...4647**Topic: <group 2>**48- ...49- ...5051**Needs attention**52- ...5354**Notes**55- <gaps, absences, or caveats>56```5758- Group the digest by topic or channel, whichever better matches the request.59- Use short group headers and keep each group to 1–3 bullets.60- Keep the digest compact; aim for 4–10 bullets total across all sections.61- Start each bullet with the key update, then add implication, owner, blocker, or action if relevant.62- If grouping by topic, include the channel when helpful.63- If grouping by channel, include the topic when helpful.64- 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.65- Include **Needs attention** only for items requiring user action, decisions, or input.66- Include **Notes** for gaps, absences, sparse results, or caveats.