Email Triage
Classify a batch of email subjects + senders into action buckets and surface inbox-zero candidates.
Keywords
email, inbox, inbox zero, triage, unsubscribe, mailing list, mailbox, gmail, outlook, productivity
Clarify First
Before triaging, confirm these inputs. If any is unknown or vague, ASK — do not assume:
Stop rule: ask only the 2-3 that most change the output. If the user says "just draft it," proceed and list your assumptions at the top of the artifact.
Quick Start
- Export inbox to CSV with columns:
subject,sender,snippet,received_at
- Run:
python scripts/email_classifier.py inbox.csv
- Review action buckets; act on each in order
Core Workflows
Workflow 1: Weekly Inbox Triage
- Export the past week's inbox
- Run classifier
- Action in order: reply-now → reply-later (move to follow-up folder) → archive → unsubscribe → delete
- Apply Gmail filters (see
assets/gmail_filter_template.md) so future similar emails route automatically
Time Estimate: 30-45 minutes for a busy week.
Workflow 2: Unsubscribe Pass
- Run classifier; review unsubscribe candidates
- Unsubscribe in batch (most senders honor unsubscribe links within ~10 days)
- For senders that don't honor, set Gmail filter to auto-delete
Time Estimate: 15 minutes per pass.
Workflow 3: Inbox-Zero Reset
- Apply the full inbox-zero method from
references/inbox_zero_method.md
- Move every email older than 30 days to archive (you'll find 1% later via search)
- Triage the remaining recent emails using the classifier
Time Estimate: 1-2 hours one-time; then 20 min/week to maintain.
Tools
email_classifier.py
Classifies email rows into action buckets using rule-based pattern matching on sender domain, subject line, and snippet.
python scripts/email_classifier.py inbox.csv
python scripts/email_classifier.py inbox.csv --json
Action buckets:
- reply_now — direct addressing, time-sensitive language, named-person sender
- reply_later — informational threads, longer non-urgent
- archive — receipts, confirmations, completed transactions
- unsubscribe — newsletters, marketing, promotional
- delete — spam patterns, low-signal senders
- review — couldn't classify confidently
Reference Guides
references/inbox_zero_method.md — Method, daily routine, common pitfalls
Templates
assets/gmail_filter_template.md — Common Gmail filter recipes for the action buckets above
Best Practices
- The 2-minute rule: if a reply takes < 2 minutes, do it now.
- Don't archive instead of unsubscribing. Recurring senders compound — kill the source.
- Process in batches. Constant inbox checking destroys focus more than email itself.
- Inbox is not a to-do list. Move action items to a real task tool.
1---2name: email-triage3description: Classify a batch of emails into action categories (reply now, reply later, archive, delete, unsubscribe) and surface unsubscribe candidates. Use after a busy week, running inbox zero, or triaging email overload.4license: MIT + Commons Clause5---6
7# Email Triage
8
9Classify a batch of email subjects + senders into action buckets and surface inbox-zero candidates.
10
11---
12
13## Keywords
14
15email, inbox, inbox zero, triage, unsubscribe, mailing list, mailbox, gmail, outlook, productivity
16
17---
18
19## Clarify First
20
21Before triaging, confirm these inputs. If any is unknown or vague, ASK — do not assume:
22
23- [ ] **Inbox export fields** — subject, sender, snippet drive classification accuracy; missing columns degrade the buckets
24- [ ] **Priority / VIP senders** — who always routes to reply_now regardless of content
25- [ ] **Unsubscribe tolerance** — purge all marketing vs keep newsletters you value; sets how aggressive the unsubscribe/delete buckets are
26
27Stop rule: ask only the 2-3 that most change the output. If the user says "just draft it," proceed and list your assumptions at the top of the artifact.
28
29---
30
31## Quick Start
32
331. Export inbox to CSV with columns: `subject,sender,snippet,received_at`
342. Run: `python scripts/email_classifier.py inbox.csv`
353. Review action buckets; act on each in order
36
37---
38
39## Core Workflows
40
41### Workflow 1: Weekly Inbox Triage
421. Export the past week's inbox
432. Run classifier
443. Action in order: reply-now → reply-later (move to follow-up folder) → archive → unsubscribe → delete
454. Apply Gmail filters (see `assets/gmail_filter_template.md`) so future similar emails route automatically
46
47**Time Estimate:** 30-45 minutes for a busy week.
48
49### Workflow 2: Unsubscribe Pass
501. Run classifier; review unsubscribe candidates
512. Unsubscribe in batch (most senders honor unsubscribe links within ~10 days)
523. For senders that don't honor, set Gmail filter to auto-delete
53
54**Time Estimate:** 15 minutes per pass.
55
56### Workflow 3: Inbox-Zero Reset
571. Apply the full inbox-zero method from `references/inbox_zero_method.md`
582. Move every email older than 30 days to archive (you'll find 1% later via search)
593. Triage the remaining recent emails using the classifier
60
61**Time Estimate:** 1-2 hours one-time; then 20 min/week to maintain.
62
63---
64
65## Tools
66
67### email_classifier.py
68
69Classifies email rows into action buckets using rule-based pattern matching on sender domain, subject line, and snippet.
70
71```bash
72python scripts/email_classifier.py inbox.csv
73python scripts/email_classifier.py inbox.csv --json
74```
75
76Action buckets:
77- **reply_now** — direct addressing, time-sensitive language, named-person sender
78- **reply_later** — informational threads, longer non-urgent
79- **archive** — receipts, confirmations, completed transactions
80- **unsubscribe** — newsletters, marketing, promotional
81- **delete** — spam patterns, low-signal senders
82- **review** — couldn't classify confidently
83
84---
85
86## Reference Guides
87
88- **`references/inbox_zero_method.md`** — Method, daily routine, common pitfalls
89
90---
91
92## Templates
93
94- **`assets/gmail_filter_template.md`** — Common Gmail filter recipes for the action buckets above
95
96---
97
98## Best Practices
99
100- **The 2-minute rule:** if a reply takes < 2 minutes, do it now.
101- **Don't archive instead of unsubscribing.** Recurring senders compound — kill the source.
102- **Process in batches.** Constant inbox checking destroys focus more than email itself.
103- **Inbox is not a to-do list.** Move action items to a real task tool.