# Inbox Triage

Go through recent mail and sort it into needs-a-reply, waiting-on-others, to-do and...

- Repository: https://github.com/nano-muse/nanoMuse (2980 stars)
- Category: Engineering
- License: GPL-3.0
- Last updated: 2026-11-01
- Runs scripts: no, instructions only

## Install

Claude Code: `npx skills add nano-muse/nanoMuse --skill inbox-triage -g -a claude-code -y`
Codex: `npx skills add nano-muse/nanoMuse --skill inbox-triage -g -a codex -y`
Cursor: `npx skills add nano-muse/nanoMuse --skill inbox-triage -g -a cursor -y`
Gemini CLI: `npx skills add nano-muse/nanoMuse --skill inbox-triage -g -a gemini-cli -y`

## Description

Go through recent mail and sort it into needs-a-reply, waiting-on-others, to-do and can-ignore, with draft replies ready for review. Use when the user asks to triage, sort, catch up on or clear their inbox; never to send anything on its own.

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

# Inbox triage

Needs the mail connector (`read_emails`). If it is not available, say so and stop.

## Read

- `read_emails` with `unread_only=true` first (up to 50). If there are fewer than 10, read the last 3 days with `unread_only=false` too, so nothing waiting since yesterday is missed.
- For each sender the user has written to before, `contacts` action=search gives the name and company; use names, not addresses, in what you write.
- `recall` "inbox" and "email" for the user's rules: senders that always matter, newsletters they keep, how they like replies to sound.

## Sort

Every message lands in exactly one group:

1. **Reply needed**: someone asked the user something, or is waiting.
2. **Waiting on them**: the user asked, no answer yet; note how long.
3. **To do**: no reply needed, but an action is: pay, book, read a document, show up somewhere.
4. **Read later**: newsletters, notifications, receipts.
5. **Ignore**: clear spam, expired offers, automated noise.

Threads with the same subject count once. Anything that mentions money, a deadline, a contract or health goes to the top of its group.

## Draft, do not send

- For each *Reply needed* mail, write a reply the user could send as is: their voice (from memory), short, answering the actual question. Put all drafts in one file, `mail/drafts-YYYY-MM-DD.md`, one section per thread with *To*, *Subject*, the draft, and a one-line note on what you were unsure about.
- Do not call `send_email` in this job unless the user tells you, mail by mail, to send. A reply the user approves later is a separate step.

## Report

In chat, a short list per group: sender name, subject, what it is about in a few words (groups 4 and 5 as counts only). Then the file with the drafts, and the two or three things that should not wait. Deadlines or events found in the mail: offer to set a `reminders` or draft a `calendar` event; do it only when the user says yes.

The rest: https://github.com/nano-muse/nanoMuse/blob/HEAD/nanomuse/skills/builtin/inbox-triage/SKILL.md
