Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Triage the user's REAL inbox through the Gmail connector — not a framework they run by hand. Use when asked to clear my inbox, get me to inbox zero on the actual account, triage my unread, or process my email backlog in Cowork. Reads unread via the Gmail connector, sorts every message into archive / reply-now / task / park, applies labels and archives in place, drafts the reply-now messages as real Gmail drafts. Produces a triage-report artifact of what it did and what still needs the user.
.claude/skills/mohitagw15856-inbox-triage-live/SKILL.md| Model | Eval pass | Runs |
|---|---|---|
| gemini-3.6-flash | 100% | 39 |
| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-01 | ✗→✓ | ▲ Improved | 195% | 0% |
| case-03 | ✗→✓ | ▲ Improved | 166% | 0% |
| case-05 | ✗→✓ | ▲ Improved | 412% | 0% |
| case-07 | ✗→✓ | ▲ Improved | 8% | 0% |
| case-08 | ✗→✓ | ▲ Improved | 196% | 0% |
The generic triage skill teaches a system; this one runs it on the real account. In Claude Cowork it reads the user's actual unread mail through the Gmail connector, decides each message, and takes the safe actions (label, archive, draft) itself — leaving only true judgement calls for the human.
Ask for these if not provided:
@waiting label + a weekly review.Run against the real account; act, don't just advise:
is:unread + the user's filter). Batch oldest-first; cap at a stated number per pass and report the remainder.@waiting, @task), archive the archive-bucket, and create Gmail drafts (not sends) for reply-now. Never delete, never send, never touch anything outside scope.Guardrails: draft-only by default; no bulk delete; respect the VIP/never-archive list; if the connector isn't authorised, say so and fall back to producing the rules + a manual pass, not silence.
A Triage Report artifact:
N processed · A archived · R drafted · T tasks · P parked · H need you
| Message | From | Verb | Action applied | |---|---|---|---|
@waiting/@task labels.| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-01 | fail→pass | 5,367 | 9,529 | +78% | 1 | 1 | 0% | 903 | 2,666 | +195% | 0 | 0 | — |
case-02 | fail→fail | 9,445 | 11,250 | +19% | 1 | 1 | 0% | 1,809 | 2,925 | +62% | 0 | 0 | — |
case-03 | fail→pass | 4,745 | 6,712 | +41% | 1 | 1 | 0% | 790 | 2,099 | +166% | 0 | 0 | — |
case-04 | pass→pass | 6,833 | 5,091 | -25% | 1 | 1 | 0% | 501 | 1,891 | +277% | 0 | 0 | — |
case-05 | fail→pass | 2,633 | 5,120 | +94% | 1 | 1 | 0% | 356 | 1,824 | +412% | 0 | 0 | — |
case-06 | fail→fail | 7,030 | 5,993 | -15% | 1 | 1 | 0% | 1,119 | 2,010 | +80% | 0 | 0 | — |
case-07 | fail→pass | 9,672 | 5,846 | -40% | 1 | 1 | 0% | 1,754 | 1,900 | +8% | 0 | 0 | — |
case-08 | fail→pass | 5,187 | 10,386 | +100% | 1 | 1 | 0% | 917 | 2,713 | +196% | 0 | 0 | — |
case-09 | pass→pass | 8,635 | 7,316 | -15% | 1 | 1 | 0% | 1,515 | 2,365 | +56% | 0 | 0 | — |
case-10 | fail→fail | 5,475 | 6,534 | +19% | 1 | 1 | 0% | 900 | 2,074 | +130% | 0 | 0 | — |
case-11 | fail→pass | 11,224 | 7,908 | -30% | 1 | 1 | 0% | 1,978 | 2,408 | +22% | 0 | 0 | — |
case-12 | fail→pass | 3,440 | 3,975 | +16% | 1 | 1 | 0% | 596 | 1,634 | +174% | 0 | 0 | — |
case-13 | fail→fail | 8,881 | 6,176 | -30% | 1 | 1 | 0% | 1,581 | 2,057 | +30% | 0 | 0 | — |
case-14 | fail→pass | 8,890 | 6,187 | -30% | 1 | 1 | 0% | 1,590 | 1,941 | +22% | 0 | 0 | — |
case-15 | fail→pass | 7,041 | 7,657 | +9% | 1 | 1 | 0% | 1,094 | 2,198 | +101% | 0 | 0 | — |
case-16 | fail→pass | 8,649 | 6,000 | -31% | 1 | 1 | 0% | 1,380 | 1,844 | +34% | 0 | 0 | — |
case-17 | pass→pass | 5,977 | 2,953 | -51% | 1 | 1 | 0% | 940 | 1,465 | +56% | 0 | 0 | — |
case-18 | fail→pass | 5,474 | 2,327 | -57% | 1 | 1 | 0% | 780 | 1,341 | +72% | 0 | 0 | — |
case-19 | pass→pass | 9,822 | 4,829 | -51% | 1 | 1 | 0% | 1,692 | 1,736 | +3% | 0 | 0 | — |
case-20 | pass→pass | 12,255 | 16,216 | +32% | 1 | 1 | 0% | 2,414 | 4,230 | +75% | 0 | 0 | — |
case-21 | pass→pass | 12,974 | 9,241 | -29% | 1 | 1 | 0% | 1,933 | 2,486 | +29% | 0 | 0 | — |
case-22 | pass→pass | 12,514 | 11,031 | -12% | 1 | 1 | 0% | 2,495 | 3,026 | +21% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 22 cases were attempted. The headline lift of +50 percentage points is the difference between those two pass rates over the 22 comparable cases.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.