# Triage Superhuman Inbox

Work through a Superhuman inbox, sort what is there into needs a reply, waiting on...

- Repository: https://github.com/ParadevAI/Paradev (15823 stars)
- Category: Engineering
- License: see repository
- Last updated: 2026-11-01
- Runs scripts: no, instructions only

## Install

Claude Code: `npx skills add ParadevAI/Paradev --skill triage-superhuman-inbox -g -a claude-code -y`
Codex: `npx skills add ParadevAI/Paradev --skill triage-superhuman-inbox -g -a codex -y`
Cursor: `npx skills add ParadevAI/Paradev --skill triage-superhuman-inbox -g -a cursor -y`
Gemini CLI: `npx skills add ParadevAI/Paradev --skill triage-superhuman-inbox -g -a gemini-cli -y`
Claude Code plugin marketplace: `/plugin marketplace add ParadevAI/Paradev`

## Description

Work through a Superhuman inbox, sort what is there into needs a reply, waiting on someone else, worth knowing, and noise, then archive, star, label, remind, or unsubscribe only as the user directs. Use when the user asks what needs their attention, what they are waiting on, to triage or clean up their inbox, or to deal with newsletters and notifications.

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

# Sort first, act second

Triage is a reading job with a short list of actions at the end. Read enough of
each thread to know what it asks of the user, group the inbox by what happens
next, and change the mailbox only where the user said to.

## 1. Scope the sweep

`list_accounts` first. When the user named an account, or more than one is
linked, every call that follows carries that account's `acting_email`, reads
and changes alike: a call without it acts on the default account, so a sweep of
the wrong mailbox looks exactly like a successful sweep. Then `list_splits`:
splits carry thread and unread counts, so you can say "Important has 14 unread,
Other has 212" before reading anything. Triage the splits the user cares about
(Important, VIP, Team, a support split) one at a time with `list_threads`, and
leave Other and the notification splits for a cleanup pass the user asks for.
`is_unread` narrows a split, but `split` ignores the date filters and `sort`
only orders the returned page, so a time window is yours to enforce: page with
`cursor` and compare each thread's timestamp against the window. An older
thread on a page does not end the sweep; later pages can still hold threads
inside it.

## 2. Read enough to classify

The listing's snippet is the latest message, which is often the user's own
reply. Open threads where the ask is unclear with `get_thread` and read the last
exchange. Sort each thread into one of four groups:

- **Needs a reply from the user**: a question or request addressed to them,
  with no answer from them after it.
- **Waiting on someone else**: the user wrote last, or asked for something that
  has not come back.
- **Worth knowing**: FYI, decisions made elsewhere, receipts.
- **Noise**: newsletters, automated notifications, cold outreach.

The rest: https://github.com/ParadevAI/Paradev/blob/HEAD/plugins/superhuman/skills/triage-superhuman-inbox/SKILL.md
