Inbox Zero Operator Skill
The judgment layer for an agent that can actually touch a mailbox. The thinking half (what deserves you, what doesn't) and the acting half (archive, label, draft) are strictly separated: analysis is free, action is gated, and sending is never on the menu. (For triage-as-advice without tool access, email-triage covers you.)
What This Skill Produces
- The triage ledger — every message classified: 🔴 act (needs you) · 🟡 delegate (draft prepared for someone else to own) · 🔵 defer (snooze with a date and reason) · ⚪ archive (with the one-line why)
- Prepared drafts — replies written and saved as drafts, never sent
- The action plan — the exact archive/label/snooze operations, shown before any are taken
Required Inputs
Ask for these if not provided:
- Scope — whole inbox, unread only, or a date range (default: unread, newest 100)
- The user's role and current priorities — triage without priorities is sorting, not judgment
- Standing rules — senders who always matter, threads to never touch, newsletters policy
- Delegation targets — who drafts can be addressed to
Framework: The Triage Pass
- Thread-level, not message-level — classify conversations; the latest message decides.
- Two-minute drafts — anything answerable in two minutes gets its draft written NOW (saved, unsent), not deferred.
- The defer honesty rule — every defer carries a date and what will be different then; "later" without a trigger is denial.
- Archive is the default — a message must earn the inbox; when in doubt, archive with a label (recoverable, searchable, gone).
- Escalation floor — anything legal, HR-sensitive, or from a name on the standing-rules list is 🔴 regardless of content.
Output Format
Inbox Triage: [scope] — [count] threads
| Thread |
From |
Class |
Why (one line) |
Action |
| Drafts prepared: [n] · To archive: [n] · Deferred: [n with dates] |
|
|
|
|
| Needs you (the 🔴 list, ranked): … |
|
|
|
|
Quality Checks
Anti-Patterns
Execution
For computer-use or tool-using agents with mailbox access (Gmail/Outlook APIs or UI). Runtimes without tools deliver the ledger as a document. Rules per SKILLSPEC.md §5.
Preconditions
- The triage ledger above has been produced and explicitly approved by a human — line-item vetoes honored.
- Mailbox access is already authenticated; scope (folder/label/date range) is named by the user.
- The action plan (exact archive/label/snooze/draft operations) has been displayed and confirmed.
Allowed actions
- Archive threads on the approved ⚪ list; apply labels named in the plan.
- Snooze/defer threads on the 🔵 list to their approved dates.
- Create drafts (never send) for the 🟡 and 🔴 lists as written in the ledger.
- Nothing else: no sending, no deleting, no forwarding, no rule/filter creation, no marking-read of untriaged mail, no touching threads outside the approved scope.
Verification
- Re-count: inbox scope now contains only 🔴 threads; archived/snoozed counts match the plan exactly.
- List every draft created (recipient, subject) back to the user.
Rollback
- Archives are reversible: move the labeled threads back to inbox on request.
- Stop and ask a human if: a thread changed (new message arrived) after approval, any operation fails, or the mailbox state disagrees with the ledger mid-run.
1---2name: inbox-zero-operator3description: Drive an email inbox to zero through a computer-use or tool-using agent — triage every message into act/delegate/defer/archive with drafts prepared, never a send. Use when asked to get my inbox to zero, triage my email hands-on, process my inbox for me, or run inbox zero. Produces the triage ledger, prepared reply drafts, and an approval-gated action plan the agent then executes read-mostly.4---5
6# Inbox Zero Operator Skill
7
8The judgment layer for an agent that can actually touch a mailbox. The thinking half (what deserves you, what doesn't) and the acting half (archive, label, draft) are strictly separated: analysis is free, action is gated, and *sending* is never on the menu. (For triage-as-advice without tool access, `email-triage` covers you.)
9
10## What This Skill Produces
11
12- **The triage ledger** — every message classified: 🔴 act (needs you) · 🟡 delegate (draft prepared for someone else to own) · 🔵 defer (snooze with a date and reason) · ⚪ archive (with the one-line why)
13- **Prepared drafts** — replies written and saved as drafts, never sent
14- **The action plan** — the exact archive/label/snooze operations, shown before any are taken
15
16## Required Inputs
17
18Ask for these if not provided:
19- **Scope** — whole inbox, unread only, or a date range (default: unread, newest 100)
20- **The user's role and current priorities** — triage without priorities is sorting, not judgment
21- **Standing rules** — senders who always matter, threads to never touch, newsletters policy
22- **Delegation targets** — who drafts can be addressed to
23
24## Framework: The Triage Pass
25
261. **Thread-level, not message-level** — classify conversations; the latest message decides.
272. **Two-minute drafts** — anything answerable in two minutes gets its draft written NOW (saved, unsent), not deferred.
283. **The defer honesty rule** — every defer carries a date and what will be different then; "later" without a trigger is denial.
294. **Archive is the default** — a message must earn the inbox; when in doubt, archive with a label (recoverable, searchable, gone).
305. **Escalation floor** — anything legal, HR-sensitive, or from a name on the standing-rules list is 🔴 regardless of content.
31
32## Output Format
33
34# Inbox Triage: [scope] — [count] threads
35| Thread | From | Class | Why (one line) | Action |
36|---|---|---|---|---|
37**Drafts prepared:** [n] · **To archive:** [n] · **Deferred:** [n with dates]
38**Needs you (the 🔴 list, ranked):** …
39
40## Quality Checks
41- [ ] Every thread has a class and a one-line why — no silent skips
42- [ ] Every 🟡 has a draft; every 🔵 has a date and trigger
43- [ ] The 🔴 list is ranked and short — if everything needs the user, the triage failed
44- [ ] The action plan was shown and approved before any mailbox mutation
45
46## Anti-Patterns
47- [ ] Do not send anything, ever — drafts are the ceiling of this skill's authority
48- [ ] Do not delete — archive with labels; deletion is a human's irreversible call
49- [ ] Do not mark-as-read what you didn't triage — cosmetic zero is lying with a mailbox
50- [ ] Do not defer without a date — that's the pile with extra steps
51
52## Execution
53
54For computer-use or tool-using agents with mailbox access (Gmail/Outlook APIs or UI). Runtimes without tools deliver the ledger as a document. Rules per [SKILLSPEC.md §5](../../SKILLSPEC.md).
55
56### Preconditions
57- The triage ledger above has been produced and **explicitly approved by a human** — line-item vetoes honored.
58- Mailbox access is already authenticated; scope (folder/label/date range) is named by the user.
59- The action plan (exact archive/label/snooze/draft operations) has been displayed and confirmed.
60
61### Allowed actions
62- Archive threads on the approved ⚪ list; apply labels named in the plan.
63- Snooze/defer threads on the 🔵 list to their approved dates.
64- Create drafts (never send) for the 🟡 and 🔴 lists as written in the ledger.
65- Nothing else: **no sending, no deleting, no forwarding, no rule/filter creation, no marking-read of untriaged mail, no touching threads outside the approved scope.**
66
67### Verification
68- Re-count: inbox scope now contains only 🔴 threads; archived/snoozed counts match the plan exactly.
69- List every draft created (recipient, subject) back to the user.
70
71### Rollback
72- Archives are reversible: move the labeled threads back to inbox on request.
73- Stop and ask a human if: a thread changed (new message arrived) after approval, any operation fails, or the mailbox state disagrees with the ledger mid-run.