slack-notification-triage

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

685 stars

Best use case

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

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

Teams using slack-notification-triage 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-notification-triage/SKILL.md --create-dirs "https://raw.githubusercontent.com/openai/plugins/main/plugins/slack/skills/slack-notification-triage/SKILL.md"

Manual Installation

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

How slack-notification-triage Compares

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

Frequently Asked Questions

What does this skill do?

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

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 Notification Triage

Use this skill to produce a priority queue or task list for the user from recent Slack messages. It is for surfacing what the user likely needs to read, reply to, or do next.

## Start Here

- If the user provided a time window, use it. For requests like "today" or "this morning," resolve the user's timezone with `slack_read_user_profile`.
- Treat this as best-effort triage over recent Slack activity, not an exact unread or notification-state view.

## Workflow

1. Treat this as personal triage for the user. Focus on messages directed at the user, messages likely needing a reply, and messages that create a concrete follow-up or task for the user.
2. Resolve the current user with `slack_read_user_profile` so you have the user's Slack ID for mention-based searches.
3. If the user provided channel names, DMs, people, or topic keywords, use that scope.
4. **Named channels:** Resolve IDs through `slack_search_channels`, then call `slack_read_channel` with `limit` at `100` per channel.
5. **Named people or DMs:** Resolve people through `slack_search_users`, then use `slack_search_public_and_private` with several small searches using filters `from:<@USER_ID>`, `to:<@USER_ID>`, or `in:<@USER_ID>` to surface relevant DM or person-specific activity.
6. **Named topics:** Use `slack_search_public_and_private`, and if channels were also provided, keep the search inside those channels.
7. **No explicit scope:** Search in this order:
   - unanswered direct conversations: run `slack_search_public_and_private` over `channel_types="im"`, paging until you have a reasonable set of unique conversations, then dedupe and expand promising DMs with `slack_read_channel`
   - unanswered group DMs: repeat over `channel_types="mpim"`, again preferring unique conversations over repeated hits from one chat
   - direct mentions: `slack_search_public_and_private` with `query` set to `<@USER_ID>`
   - threads with prior user participation: `slack_search_public_and_private` with `query` set to `from:<@USER_ID> is:thread`, then `slack_read_thread`
   - threads with prior user mention: `slack_search_public_and_private` with `query` set to `<@USER_ID> is:thread`, then `slack_read_thread`
8. Use `slack_read_thread` when the thread could hold more necessary context.
9. Prioritize messages that likely need a reply or could create a concrete follow-up or task for the user. Explicit asks, review or approval requests, blockers, and bumps should rank above casual questions, FYIs, or repeated snippets from the same conversation.
10. Read the full `## Formatting Rules` section below.
11. Before sending the final answer, map the findings into the exact structure in **Formatting Rules**. Do not invent alternate section names or top-level layouts.
12. If the user also asked to draft or send follow-ups from the triage results, use `../slack-outgoing-message/SKILL.md` and align with the explicit intent:
   - explicit send/post/reply: write directly
   - explicit draft/review-first: draft
   - otherwise keep this skill analysis-only

## 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
**Slack Notification Triage - YYYY-MM-DD**
**Overview**
<1-2 sentence summary of what the user most likely needs to read, reply to, or do next>

**Tasks for you**
- ...

**Worth skimming**
- ...

**Can ignore for now**
- ...

**Notes**
- <gaps, caveats, or partial coverage>
```

- Keep the triage compact; aim for 3–15 bullets total across all sections.
- Treat **Tasks for you** as the primary section whenever the triage is meant to produce a personal todo list.
- Include **Can ignore for now** only when the user explicitly asked to filter tasks.
- Start each bullet with the key update, then add the action the user may need to take.
- Preserve exact channel names and mention DMs explicitly.
- Use **Notes** for coverage limits or sparse results.

Related Skills

teams-notification-triage

685
from openai/plugins

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

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-daily-digest

685
from openai/plugins

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-channel-summarization

685
from openai/plugins

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

outlook-email-inbox-triage

685
from openai/plugins

Triage an Outlook inbox into actionable buckets such as urgent, needs reply soon, waiting, and FYI using connected Outlook data. Use when the user asks to triage the inbox, rank what needs attention, find what still needs a reply, or separate important mail from noise.

gmail-inbox-triage

685
from openai/plugins

Triage a Gmail inbox into actionable buckets such as urgent, needs reply soon, waiting, and FYI using connected Gmail data. Use when the user asks to triage the inbox, rank what needs attention, find what still needs a reply, or separate important mail from noise.

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.