---
name: inbox-triage
description: Classify new messages, label them, and draft replies for the user's approval — never send unattended.
version: 1.0.0
metadata:
  hermes:
    tags: [email, triage, approval]
    category: personal
    config:
      - key: triage.categories
        description: "The labels to sort messages into."
        default: "support, billing, personal, spam"
        prompt: "Which categories should messages be sorted into?"
---
# Inbox triage

## When to use
When new messages arrive and the user wants them pre-sorted, with draft replies ready to
review — but wants to stay in control of what actually gets sent. This is the
**level-3 "act with my approval"** pattern: the agent prepares, the human approves.

## Procedure
1. Fetch unread messages from the connected inbox.
2. For each, classify it into one of `triage.categories`. If unsure, label it `personal` and flag it for the user.
3. Apply the matching label / folder.
4. For anything that needs a reply, write a **draft** in the user's voice and save it as a draft.
5. Report back: a short table of "from · category · drafted? (y/n)". Do **not** send anything.

## Pitfalls
- **Never send a message.** Drafts only. Sending is the user's action, always.
- Don't auto-archive or delete. Labelling is reversible; deletion is not.
- Keep drafts short and factual — flag anything that needs a decision rather than guessing.

## Verification
Every unread message has a label, every reply-worthy one has a saved draft, the sent folder
is unchanged, and the user gets a one-screen summary table to act on.
