Slack Triage
This skill should be used when the user asks to "check Slack", "triage my Slack", "check my messages", "Slack summary", "what did I miss on Slack", or invokes /slack or /messages. Scans Eric's Slack workspace for recent messages, DMs, threads, and mentions — classifies by priority tier, and offers reply drafting. References porres-family-assistant for contacts context.
MCP get_skill({ skillId: "slack-triage-ae1d11d1" })Use this skill with your agent
Create a free account and connect via MCP
# Slack Triage Skill
## Overview
Scan Eric's Slack workspace for recent messages, classify them into three priority tiers, and offer to draft replies for urgent items. This skill mirrors the email-triage pattern but adapted for Slack's channel-based, threaded communication model.
This skill does NOT maintain its own contact data — it reads from the porres-family-assistant skill as the canonical source for people context.
## Available Slack MCP Tools
The Slack connector (https://mcp.slack.com/mcp) provides these tools:
| Tool | Purpose |
|------|---------|
| `slack_read_channel` | Read recent messages from a specific channel |
| `slack_search_public_and_private` | Search across all accessible channels |
| `slack_search_users` | Find users by name or email |
| `slack_search_channels` | Find channels by name or topic |
## Step 0 — Load Context (runtime references)
Before scanning, read these files from the family assistant to establish priority context:
| File | What it provides |
|------|-----------------|
| `shared/skills/porres-family-assistant/references/family-members.md` | Family names — helps identify personal messages from family members |
| `shared/skills/porres-family-assistant/references/email-aliases.md` | Alias routing — email/Slack identity overlap |
**Load only these two.** Don't load insurance, medical, or finance unless a specific message requires that context.
Also load `references/workspace-config.md` from this skill for channel priority mappings (once Eric configures it).
## Step 1 — Scan Workspace
Use the Slack MCP tools to gather recent activity. Run these searches in parallel:
### 1a. Direct Messages
Search for recent DMs sent to Eric:
```
slack_search_public_and_private: "to:me" (filtered to DMs)
```
### 1b. Mentions
Search for @mentions of Eric across channels:
```
slack_search_public_and_private: "@eric" or Eric's Slack user mention
```
### 1c. Threads Eric is in
Search for replies in threads Eric has participated in:
```
slack_search_public_and_private: threads where Eric has replied
```
### 1d. Priority Channels
Read latest messages from channels marked as priority in `references/workspace-config.md`.
**Time window options:**
- Default: last 24 hours (good for daily morning triage)
- If Eric says "just now" or "last hour": last 2 hours
- If Eric says "catch me up" or "this week": last 3 days
**Snippet-first approach:** Classify from search result snippets first. Only read full channel history or thread for:
- All Tier 1 messages (need full context for reply drafting)
- Ambiguous Tier 2 messages where the snippet isn't enough to classify
This avoids token blowout on busy days.
## Step 2 — Classify into Tiers
### Tier 1 — Reply Needed
Messages with a direct question, request, or action aimed at Eric. Each gets:
- One-line summary of what the sender needs
- Channel/DM context
- Suggested action: Reply / React / Schedule / Forward to [person]
**Urgency signals (auto-promote to Tier 1):**
- Direct messages from anyone (DMs inherently signal intent)
- @mentions of Eric by name
- Messages from Eric's manager or direct reports
- Time-sensitive language: "by EOD", "deadline", "urgent", "asap", "blocker", "blocked on you", "need your input"
- Threads Eric started that have unresolved questions
- Messages in channels tagged as "priority" in workspace config
- Requests with deadlines or action items assigned to Eric
- Escalations or incidents (keywords: "P0", "P1", "incident", "outage", "down", "broken", "escalating")
### Tier 2 — Review / Decide
Needs Eric's eyes but not necessarily a reply:
- FYI mentions ("cc @eric", "looping in @eric")
- Shared links, documents, or announcements in priority channels
- Meeting notes or decision summaries
- Channel activity in watched channels (not priority, but relevant)
- Bot notifications (deploy alerts, CI/CD results, PR reviews)
- Reactions/threads on Eric's own messages (social signals)
### Tier 3 — Noise
General channel chatter, automated bot spam, social messages, memes, off-topic threads. Summarize as counts by channel.
### Channel Priority Mapping
Use `references/workspace-config.md` for Eric's channel configuration. Until configured, use these defaults:
**Default priority channels (Tier 1 if action-oriented):**
- Any channel with "ai", "logitech", or Eric's team name in the name
- #general (company-wide announcements only — filter noise)
**Default review channels (Tier 2):**
- Project-specific channels Eric is a member of
- #announcements or #all-hands type channels
**Default noise (Tier 3):**
- #random, #social, #watercooler, #pets, etc.
- Channels Eric hasn't posted in for 30+ days
## Step 3 — Present Results
Format output as:
```markdown
# Slack Triage — [Today's Date]
[X messages scanned from last 24h across Y channels]
## Reply Needed (X)
1. **[Sender Name]** in #[channel] (or DM)
[One-line summary of what they need]
→ Suggested: [Reply / React / Schedule / Forward to X]
2. ...
## Review (X)
- **[Sender]** in #[channel] — [One-line summary]
- ...
## Noise (X)
[X] #random, [X] #social, [X] bot notifications, [X] other
```
**Numbering matters.** Tier 1 items are numbered so Eric can say "draft a reply to #3."
## Step 4 — Reply Drafting (conversational)
When Eric asks to draft a reply (e.g., "draft a reply to #3"):
1. Read the full thread for context using `slack_read_channel` or search tools
2. Identify who else is in the thread (for tone calibration)
3. Draft a reply matching Eric's Slack voice
4. Present the draft for Eric's review
5. **Never auto-send.** Always require explicit "send it" or "yes, post" confirmation.
### Eric's Slack voice guidelines
- More casual than email — shorter sentences, fewer formalities
- Direct and to the point
- Uses emoji reactions where appropriate (suggest these too)
- First names always
- Doesn't over-explain
- Thread replies preferred over channel-level responses for ongoing discussions
## Step 5 — Catch-Up Summary (optional)
If Eric asks for a summary rather than full triage:
```markdown
# Slack Catch-Up — [Date Range]
**Hot topics:** [2-3 sentence summary of the most important threads]
**Action items for you:**
1. [Action] — from [Person] in #[channel]
2. ...
**Decisions made without you:**
- [Decision] in #[channel] — [who decided, when]
**Nothing urgent:** [Channels with no activity or only noise]
```
## Edge Cases
- **Slack connector not connected:** Tell Eric the Slack connector isn't available yet and remind him to connect it in Cowork settings. Offer to check email instead.
- **Empty results:** "Nothing new on Slack in the last 24 hours — all quiet."
- **Very high volume (100+ messages):** Warn Eric, offer to filter by DMs-only, mentions-only, or specific channels.
- **Cross-platform threads:** If a Slack message references an email or vice versa, note the cross-reference.
- **Out of office:** If Eric mentions he's been away, auto-extend the time window to cover the absence.
## What This Skill Does NOT Do
- Does not maintain its own contact list (uses family-assistant)
- Does not save output to files (ephemeral conversation view)
- Does not send messages without explicit confirmation
- Does not modify channel settings, pins, or bookmarks
- Does not join or leave channels
- Does not handle Slack Connect (external org) channels differently (yet)Related Skills
More skills in Personal Productivity
Academic Cv Builder
Format CVs for academic positions with publications, grants, and teaching
Act Informed: First understand together with the human, then do
Interactive, input-tool powered, task refinement workflow: interrogates scope, deliverables, constraints before carrying out the task; Requires the Joyride extension.
Add Multiple Attendees to a Calendar Event
Add a list of attendees to an existing Google Calendar event and send notifications.
AgentMail — Agent-Owned Email Inboxes
Give the agent its own dedicated email inbox via AgentMail. Send, receive, and manage email autonomously using agent-owned email addresses (e.g. hermes-agent@agentmail.to).
Agent Mail Automation via Rube MCP
Automate Agent Mail tasks via Rube MCP (Composio). Always search tools first for current schemas.
Airtable
Airtable REST API via curl. Records CRUD, filters, upserts.
Explore Other Categories
Skills from other categories with shared topics
Slack
Slack tool actions: send/read/edit/delete messages, react, pin/unpin, list pins/reactions/emoji, member info.
Slack Messaging via slackcli
Use when asked to send or read Slack messages, check Slack channels, test Slack integrations, or interact with a Slack workspace from the command line.