npx skills add ...
npx skills add microsoft/work-iq --skill channel-digest
npx skills add microsoft/work-iq --skill channel-digest
Summarize activity across multiple Teams channels into a single consolidated digest — key discussions, decisions, mentions, and action items.
Produce a consolidated summary of activity across multiple Microsoft Teams channels. Scans recent messages from each channel, identifies key discussions, decisions made, action items, and @‑mentions — then presents everything in a single, scannable digest. Ideal for managers, leads, or anyone tracking multiple project channels.
Extract displayName, email, and timeZone.
List all teams and their channels:
If the user specified particular channels (e.g., "Engineering #general and #design-reviews"), filter to only those. Otherwise, include all non‑archived channels across relevant teams.
Build a channel inventory:
For each target channel, fetch recent messages within the lookback window:
For each message, capture:
For each channel, classify the messages into categories:
🔑 Key Decisions — messages containing:
💬 Active Discussions — threads with:
📌 Action Items — messages containing:
📢 Announcements — messages that are:
📎 Shared Resources — messages with:
👤 Your Mentions — messages where the current user was @‑mentioned or referenced by name.
Cast a wider net for the user's mentions:
Cross‑reference with messages already captured to avoid duplicates. Add any new mentions to the Your Mentions category.
Organize findings by channel, then surface cross‑channel themes at the top.
| Parameter | Required | Default | Description |
|---|---|---|---|
| Lookback | No | 24 hours | Time window to scan (e.g., "3 days", "this week") |
| Teams | No | All user's teams | Specific teams to include |
| Channels | No | All channels | Specific channels to include |
| Focus | No | All categories | Filter to "decisions", "action-items", or "mentions" |
| Include Quiet | No | true | Whether to list channels with no activity |
| Max Messages | No | 30 per channel | Maximum messages to pull per channel |
| MCP Server | Tool | Purpose |
|---|---|---|
| workiq (Local WorkIQ CLI) | ask | User identity, team/channel discovery, message retrieval, and mention search |
Example 1 — Morning standup prep (default 24-hour window)
"Give me a channel digest for today."
Scans all of the user's Teams channels for the past 24 hours, surfaces any decisions made overnight, flags action items assigned to the user, and lists @-mentions — all in a single digest organized by team and channel.
Example 2 — Catch up after time off (multi-day, scoped channels)
"Channel digest for the Engineering and Product channels over the last 5 days."
Limits the scan to channels in the Engineering and Product teams, pulls up to 30 messages per channel across the 5-day window, and highlights key decisions (e.g., architecture choices, scope changes), active threads, and any messages that mentioned the user while they were away.
Example 3 — Decision-focused digest before a planning meeting
"Show me only decisions and action items from the sprint channels this week."
Uses the Focus parameter to filter output to Key Decisions and Action Items only, skipping announcements and low-activity channel summaries. Ideal for quickly building a pre-meeting agenda from what was agreed or assigned across sprint-related channels.
No teams or channels found
ask returns an empty result if the user is not a member of any team, or if the account lacks access to the Teams API.Channel message fetch returns empty or partial results
ask may return fewer messages than expected if the channel has low activity or if the lookback window predates available message history (Teams message retention policies vary).Permission denied on a channel
ask will indicate an access error if the user is not a member of a private channel even within a team they belong to.Search for mentions returns no results
ask may return empty results for broad queries or large tenants.Slow responses with many channels
ask calls and may be slow.Teams or Channels parameters.📰 CHANNEL DIGEST
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📅 Period: {start date} → {end date}
🔍 Channels scanned: {N} · 💬 Messages analyzed: {N}
🎯 CROSS‑CHANNEL HIGHLIGHTS
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
🔑 {N} decisions made · 📌 {N} action items · 👤 {N} times you were mentioned
Top Decisions:
1. {Team} › #{Channel}: "{decision summary}" — {Person}, {date}
2. {Team} › #{Channel}: "{decision summary}" — {Person}, {date}
Action Items Needing You:
• {Person} in #{Channel}: "{action item}" — due {date}
• {Person} in #{Channel}: "{action item}"
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📢 {Team Name} › #{Channel Name}
💬 {N} messages · 🧵 {N} threads · 👥 {N} participants
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
🔑 DECISIONS
• "{Decision summary}" — {Person}, {date}
💬 KEY DISCUSSIONS
• "{Topic summary}" — {N} replies, {participants}
└─ Status: {resolved / ongoing / needs input}
📌 ACTION ITEMS
• {Person}: "{task description}" — {due date or "no deadline"}
📢 ANNOUNCEMENTS
• {Person}: "{announcement summary}" — {date}
📎 SHARED FILES
• {filename} — shared by {Person}, {date}
👤 YOUR MENTIONS
• {Person}: "@you {message preview}" — {date}
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📢 {Team Name} › #{Channel Name}
💬 {N} messages · ⏸️ Low activity
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
• {brief summary of the few messages}
🔇 QUIET CHANNELS (no messages in period)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
• {Team} › #{Channel}
• {Team} › #{Channel}