triage-messages

$npx mdskill add techwolf-ai/ai-first-toolkit/triage-messages

Batch-processes Slack and email to surface urgent messages.

  • Helps managers catch up after focus time or meetings.
  • Depends on Slack and email MCP connectors.
  • Uses calendar context and user input to set time window.
  • Returns a prioritised overview by urgency and type.

SKILL.md

.github/skills/triage-messagesView on GitHub ↗
---
name: triage-messages
description: Batch-processes Slack messages and emails to surface what needs the manager's attention, categorised by urgency and type. Designed for batch-responder managers who do Slack sweeps rather than staying in reactive mode. Supports effective communication and responsiveness. Never drafts replies, only surfaces and prioritises.
---

# Triage Messages

> **Principle: "You are responsible."** This skill surfaces and categorises. The manager decides what to act on and how.

Scans unread Slack messages and recent emails, categorises them by urgency and type, and presents a prioritised overview.

## When to Use

- Morning routine: catch up on what happened overnight
- After a block of focus time or meetings
- When the manager says "what did I miss?", "catch me up", "triage my messages"
- Can be scoped to a time window: "triage since yesterday", "triage last 2 hours"

## Instructions

If any MCP connector is unavailable, follow the connector unavailability protocol in `references/operating-principles.md`.

### 1. Determine Time Window

Default: since the manager's last likely check-in (use calendar to estimate, if they were in back-to-back meetings for 3 hours, scan those 3 hours).

If specified: use the provided time window.

If unclear, ask:
```
What time period should I triage? Options:
- Since this morning
- Last [N] hours
- Since yesterday
- Custom range
```

### 2. Load Manager Context

Read from `manager-context/` (if available):
- `manager-profile.md`: to know who the direct reports are (their messages get higher priority)
- `terminology.md`: to decode internal shorthand in messages
- `team/`: to understand team members' projects and responsibilities
- `sources.md`: to know which customer/project channels to monitor

### 3. Scan Slack

Search for messages in the time window:

**Priority channels** (scan first):
- Channels where the manager was @-mentioned
- DMs to the manager
- Team channels (from manager-context)
- Customer/project channels (from manager-context)

**Broader channels** (scan for relevance):
- Company-wide channels
- Cross-functional channels the manager is in

For each message/thread, capture:
- Who sent it
- Channel
- Content summary (1 line)
- Whether the manager was mentioned or it's in a direct thread
- Link to the message

### 4. Scan Email

Search Gmail for messages in the time window:

- Unread emails
- Emails where the manager is in To: (not just CC:)
- Emails from direct reports or known stakeholders
- Emails with urgent/action keywords

For each email, capture:
- Sender
- Subject
- Brief summary
- Whether it requires action or is FYI

### 5. Categorise

Sort everything into these buckets:

**🔴 Needs Your Decision**
- Blockers waiting on the manager
- Approval requests
- Escalations
- Time-sensitive decisions
- Criteria: someone is explicitly waiting for the manager's input

**🟡 Team Member Needs**
- Questions from direct reports
- Requests for help or guidance
- Friction signals (repeated blockers, frustration)
- Criteria: a team member needs support but isn't fully blocked

**🔵 FYI / Context**
- Status updates
- Announcements
- Cross-functional threads where the manager should be aware
- Criteria: useful to know, no action needed right now

**🟢 Customer-Related** (if applicable)
- Messages in customer/project channels
- Customer-related emails
- Delivery updates, escalations, timeline changes

### 6. Present the Triage

Read `references/output-template.md` for the full output template structure.

### 7. Offer Follow-Up

```
That's your triage for [time window]. Want me to:
- Dig deeper on any specific item?
- Prep context for responding to something?
- Run /plan-priorities to fold these into your day?
```

## Important Notes

Read `references/operating-principles.md` for shared operating principles (data scope, DM flagging, signals vs diagnoses, connector unavailability).

Additional notes specific to this skill:
- **Never draft replies.** The manager writes their own messages. This skill only surfaces and categorises.
- **Don't over-categorise as urgent.** Reserve the red category for genuine blockers. Most things are FYI.
- **Link everything.** Every item should link directly to the source message/email.
- **Decode shorthand.** Use terminology.md to translate internal terms so the triage is immediately clear.
- **If volume is high** (50+ messages), summarise the FYI bucket rather than listing every item.

More from techwolf-ai/ai-first-toolkit

SkillDescription
ai-firstifyAnalyze, re-engineer, or bootstrap projects to align with AI-first design principles. Use when asked to review, audit, improve, 'ai-firstify', or start a new project. Performs deep analysis across 7 dimensions, actively restructures existing projects, or guides new project setup through discovery questions. Based on the 9 design principles and 7 design patterns from the TechWolf AI-First Bootcamp.
brainstorm-linkedinGenerate LinkedIn post ideas from external sources (files, URLs, research). Use when the user provides source material (PDFs, URLs, articles) to brainstorm topics. NOT for writing or developing drafts - use write-linkedin-post instead.
brainstorm-opinionGenerate opinion piece ideas from recent LinkedIn posts (last 30 days). Use when asked to find opinion topics, brainstorm article ideas, or cross-pollinate content between LinkedIn and opinion pieces.
build-mcpBuild an MCP server end to end, tailored to how it will be used. Use when asked to build an MCP, create an MCP server, wrap an API as a tool, make a tool for Claude, expose a service to an agent, build a Claude connector, or turn a service into MCP tools. Asks up front who the server is for (just me, my org, or public) and what it wraps, then walks through analyze, build, deploy, scale, and distribute with steps tailored to that answer. Builds on the example-skills:mcp-builder skill for implementation depth.
content-studioEntry point for the TechWolf content-studio plugin. Use to understand the workflow, pick the right content skill, or start setup for a new author/repository.
customer-statusSynthesised view of account health and activity for managers overseeing customer-facing teams (Sales, CS, Professional Services, Presales). Scans project channels, email threads, and Notion pages to surface status, risks, and upcoming milestones, without requiring the manager to trawl through individual channels. Supports proactive account management.
goal-promptTurn a task, plan, or feature request into a ready-to-paste Claude Code /goal command — a single completion condition with a measurable end state, a demonstrable proof, and the constraints that must not drift. Use when the user says "give me a goal", "goal prompt", "make this a /goal", "turn this into a goal", or wants an autonomous long-running objective for Claude Code.
kb-answer|
kb-import|
kb-refresh|