Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Daily inbox triage using Cowork's email write tools (Microsoft 365 or Gmail) -- classifies unread mail, drafts replies in your voice, flags what needs a decision, and schedules follow-ups. Built to run as a recurring Cowork scheduled task.
.claude/skills/onewave-ai-cowork-inbox-triage/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-03 | ✗→✓ | ▲ Improved | 104% | 0% |
| case-10 | ✗→✓ | ▲ Improved | 17% | 0% |
| case-11 | ✗→✓ | ▲ Improved | 257% | 0% |
| case-13 | ✗→✓ | ▲ Improved | 90% | 0% |
| case-14 | ✗→✓ | ▲ Improved | 27% | 0% |
Work an inbox the way a good chief of staff does: everything gets a disposition, nothing gets sent without approval, and the owner ends the run with a short list of real decisions instead of 80 unread threads. Uses the connected mail tools (Microsoft 365 or Gmail MCP connectors) for reading, labeling, and drafting.
On first run, learn the owner's voice: read 10-15 sent replies and note greeting style, sign-off, sentence length, and formality. Store the profile in the conversation and reuse it for every draft. Ask once which categories matter (default set below) and what the auto-archive rules are.
NEEDS DECISION -- only the owner can answer (pricing, commitments, personnel)DRAFT READY -- routine reply Claude can write for approvalWAITING ON THEM -- owner already replied; schedule a follow-up checkFYI -- no response needed; summarize in the digestNOISE -- newsletters, notifications, cold outreach; label/archive per the standing rulesDRAFT READY thread, write the reply in the owner's voice as a draft -- never send. Keep drafts shorter than the email being answered.WAITING ON THEM threads past their expected response window (default 3 business days), draft a polite bump. For threads with dates in them, propose calendar holds via the calendar write tools.NEEDS DECISION item. Surfacing a question without a recommendation is half the job.As a Cowork scheduled task (weekday mornings), run the full workflow unattended in a cloud session and deliver the digest before the workday starts. Track threads across runs so a bump is never drafted twice for the same silence.
WAITING ON THEM ledger with days elapsed| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-07 | pass→pass | 6,306 | 5,869 | -7% | 1 | 1 | 0% | 970 | 1,634 | +68% | 0 | 0 | — |
case-01 | fail→fail | 7,237 | 14,402 | +99% | 1 | 1 | 0% | 973 | 2,253 | +132% | 0 | 0 | — |
case-02 | fail→fail | 7,360 | 10,703 | +45% | 1 | 1 | 0% | 1,169 | 2,422 | +107% | 0 | 0 | — |
case-03 | fail→pass | 7,091 | 9,392 | +32% | 1 | 1 | 0% | 1,056 | 2,150 | +104% | 0 | 0 | — |
case-04 | fail→fail | 12,775 | 9,401 | -26% | 1 | 1 | 0% | 2,505 | 2,407 | -4% | 0 | 0 | — |
case-05 | fail→fail | 19,882 | 14,046 | -29% | 1 | 1 | 0% | 2,661 | 2,678 | +1% | 0 | 0 | — |
case-06 | fail→fail | 11,426 | 14,623 | +28% | 1 | 1 | 0% | 2,003 | 2,715 | +36% | 0 | 0 | — |
case-08 | pass→pass | 8,655 | 8,771 | +1% | 1 | 1 | 0% | 1,163 | 2,088 | +80% | 0 | 0 | — |
case-09 | fail→fail | 6,343 | 13,023 | +105% | 1 | 1 | 0% | 941 | 2,416 | +157% | 0 | 0 | — |
case-10 | fail→pass | 10,491 | 6,498 | -38% | 1 | 1 | 0% | 1,476 | 1,725 | +17% | 0 | 0 | — |
case-11 | fail→pass | 2,245 | 4,905 | +118% | 1 | 1 | 0% | 424 | 1,512 | +257% | 0 | 0 | — |
case-17 | fail→fail | 3,132 | 12,715 | +306% | 1 | 1 | 0% | 462 | 2,519 | +445% | 0 | 0 | — |
case-12 | pass→fail | 8,384 | 6,568 | -22% | 1 | 1 | 0% | 1,308 | 1,584 | +21% | 0 | 0 | — |
case-13 | fail→pass | 4,266 | 4,024 | -6% | 1 | 1 | 0% | 733 | 1,392 | +90% | 0 | 0 | — |
case-14 | fail→pass | 8,645 | 6,780 | -22% | 1 | 1 | 0% | 1,399 | 1,777 | +27% | 0 | 0 | — |
case-15 | pass→pass | 4,440 | 7,016 | +58% | 1 | 1 | 0% | 601 | 1,698 | +183% | 0 | 0 | — |
case-16 | pass→pass | 5,905 | 10,541 | +79% | 1 | 1 | 0% | 969 | 2,192 | +126% | 0 | 0 | — |
case-18 | fail→pass | 4,031 | 8,895 | +121% | 1 | 1 | 0% | 515 | 1,905 | +270% | 0 | 0 | — |
case-19 | fail→fail | 4,652 | 4,410 | -5% | 1 | 1 | 0% | 723 | 1,282 | +77% | 0 | 0 | — |
case-20 | fail→fail | 3,920 | 9,291 | +137% | 1 | 1 | 0% | 473 | 1,857 | +293% | 0 | 0 | — |
case-21 | pass→pass | 7,127 | 5,012 | -30% | 1 | 1 | 0% | 1,056 | 1,423 | +35% | 0 | 0 | — |
case-22 | pass→pass | 8,219 | 8,499 | +3% | 1 | 1 | 0% | 1,055 | 2,058 | +95% | 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 +23 percentage points is the difference between those two pass rates over the 22 comparable cases. 1 case got worse with the skill loaded, and it is included in that figure.
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.