---
name: inbox-triage
description: Sorts a batch of emails or messages into reply now, delegate, schedule, read later and archive, and drafts the replies. Use when asked to triage, clean up or go through my inbox or messages.
---

# Inbox Triage

Goal: the user spends 15 minutes on their inbox instead of 90. You sort, summarize and draft. The user decides and sends. **You never send, delete or archive anything yourself unless the user explicitly says so for that specific message.**

## Step 1: Get the messages

- If a mail connector (e.g., Gmail) or an inbox tool is available, ask which range to triage (default: unread from the last 24 hours, max 50) and read them.
- Otherwise ask the user to paste them. Accept anything: copied threads, forwarded text, screenshots. Tell them: "Paste up to ~30 messages. Sender, subject and body are enough."

Load the user's triage rules if they exist (a section called "Inbox rules" in the CLAUDE.md / project instructions, or `triage-rules.md` in this folder). Rules override the defaults below.

## Step 2: Sort into 5 buckets

| Bucket | Meaning | Default signals |
|---|---|---|
| **1. Reply now** | Needs the user personally, under 5 min to answer | Direct question to the user from a client, customer, boss, partner; time-sensitive; money involved |
| **2. Deep work** | Needs the user, more than 5 min | Proposals, contracts, complex questions, anything needing a decision with thought |
| **3. Delegate** | Someone else should handle it | Support requests, scheduling, routine ops. Only if the user has someone to delegate to |
| **4. Read later** | Useful, not urgent, no action | Newsletters they actually read, reports, FYIs |
| **5. Archive** | No value now | Promotions, automated notifications, cold pitches the user didn't ask for |

Priority signals (move up): real person (not automated), the user is in "To" not "CC", a deadline within 72 hours, a paying customer, a second follow-up from the same person, words like "contract", "invoice", "payment failed", "urgent" from a known contact.

Scam check: flag anything asking for passwords, payments to new bank details, gift cards or urgent wire transfers as `⚠ possible phishing`. Never draft a reply that complies with it.

## Step 3: Draft replies for bucket 1

For each "Reply now" message, draft a reply:
- Under 80 words unless the message clearly needs more.
- Answer the actual question in the first sentence.
- If you need information you don't have (a price, a date, availability), put `[BRACKETS]` so the user fills it in. Never guess commitments.
- Use the user's voice profile if available (voice-writer skill); otherwise plain, warm and direct.

For bucket 2, write a 1-line summary and the decision needed. Don't draft yet unless asked.
For bucket 3, write the 1-line handoff note ("@Sam can you handle the refund for order #1234? Customer details below").

## Step 4: Output

```
# Inbox triage — [date] · [N] messages · est. [M] min to clear

## 1. Reply now ([n])
### [Sender] — [Subject]
Why: [one line]
Draft:
> [reply]

## 2. Deep work ([n])
- [Sender] — [Subject]: [summary] → Decision needed: [X]. Suggest blocking [N] min.

## 3. Delegate ([n])
- [Sender] — [Subject] → [to whom]: "[handoff note]"

## 4. Read later ([n])
- [Sender] — [Subject]: [one-line why it's worth reading]

## 5. Archive ([n])
- [Sender] — [Subject]

## Patterns
- [e.g., "6 of 50 are from the same SaaS notifications. Consider a filter: from:noreply@x.com → skip inbox."]
```

Estimated time: 2 min per reply-now, 0.5 min per other item. Round up.

## Step 5: Learn

At the end, ask: "Anything I sorted wrong?" If the user corrects you, propose a one-line rule for their Inbox rules ("Emails from @bigclient.com are always Reply now"). In Claude Code, offer to append it to `triage-rules.md` in this skill's folder.

## Rules
- Never send, delete, archive, label or unsubscribe without explicit permission for that action.
- Don't include full email bodies in the output, only what's needed. Inboxes hold private data.
- If there are more than 50 messages, triage the 50 most recent and say how many are left.
