onewave-ai/cowork-inbox-triage
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.
npx skills add https://github.com/OneWave-AI/claude-skills --skill cowork-inbox-triage
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 elapsedTake onewave-ai/cowork-inbox-triage from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.