name: inbox-zero-operator
description: "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."
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.
Example Trigger Phrases
- "Get my inbox to zero."
- "Triage my email hands-on."
- "Process my inbox for me."
- "Run inbox zero."