Skip to content
Development
Command

/cs-inbox-triage

/cs:inbox-triage — Recurring email triage execution. Reads 7-file KB built by /cs:inbox-setup. Classifies recent emails, drafts replies (NEVER SENDS), delivers report, updates KB. Run 1-3x/day or on demand. Halts with clear message if KB missing.

From plugin
claude-skills
24k116 skills100 agents116 commands1 MCP
Install
$ npx -y skills add alirezarezvani/claude-skills --agent claude-code

How it fires

How this command gets triggered: by you, by Claude, or both.

  • Fires itselfClaude auto-loads it when your prompt matches the work.
  • You can call itInvoke it directly when you want it.
  • Slash command/cs-inbox-triage

Context preview

What this command does when you run it.

/cs:inbox-triage — Recurring email triage execution. Reads 7-file KB built by /cs:inbox-setup. Classifies recent emails, drafts replies (NEVER SENDS), delivers report, updates KB. Run 1-3x/day or on demand. Halts with clear message if KB missing.

Command definition

cs-inbox-triage.md
name: "cs-inbox-triage"
description: "/cs:inbox-triage — Recurring email triage execution. Reads 7-file KB built by /cs:inbox-setup. Classifies recent emails, drafts replies (NEVER SENDS), delivers report, updates KB. Run 1-3x/day or on demand. Halts with clear message if KB missing."

/cs:inbox-triage — Recurring Email Triage

**Command:** `/cs:inbox-triage`

The `cs-inbox-triage` persona processes your inbox using the knowledge base built by `/cs:inbox-setup`. Designed for recurring runs (1-3x/day) with light intake — most invocations skip questions and run with KB-default preferences.

When to Run

  • **Recurring cadence** — 1-3 times daily, per your `email-taxonomy.md` run frequency
  • **On-demand** — outside cadence (after a long break, before a meeting, etc.)
  • **Pre-triage scan** — quick check of overdue tracker items only

**Do NOT run if** the KB doesn't exist yet — the skill will halt and direct you to `/cs:inbox-setup` first.

DRAFTS ONLY — Non-Negotiable

> **This skill creates drafts. It NEVER sends.**

This is the safety property that makes the skill safe to run automatically. The `draft_safety_validator.py` enforces it post-run. Any send-shaped tool call in the action log fails validation.

If you want the skill to send for you: don't. Review the drafts in your email client and send them yourself. This is by design.

Light Intake (Max 2 Optional Questions)

Most runs skip both questions entirely.

| Q | Asked when | Default if skipped | |---|---|---| | Q1 — Override default 9h window? | On-demand run outside normal cadence | use cadence default | | Q2 — Skip categories this run? | User invocation includes skip-intent ("skip newsletters") | run all categories |

What Happens (10 Steps)

After reading the KB:

1. **Determine search window** — cadence + now → window_start (default 9h for 2x/day; overlap prevents missed emails) 2. **Search email provider** — primary (inbox + sent after window_start) + secondary (starred unread) 3. **Classify** — apply taxonomy; skip lowest-priority threads (newsletters/automation) without reading 4. **Research new senders** — web search for opportunity senders not in tracker/blocklist 5. **Generate recommendations** — apply `evaluation-framework.md` if exists; categorize TAKE IT / WORTH CONSIDERING / PASS / FLAG FOR REVIEW 6. **Draft replies** — match voice from `email-patterns.md`. NEVER SEND. 7. **Deliver report** — honor `email-taxonomy.md` report preferences (email / file / chat) 8. **Update KB** — append new declines to `blocklist.md`; update `tracker.md` with new/resolved follow-ups 9. **Internal log** — write `triage-log/<YYYY-MM-DD>-<run-label>.md` 10. **Empty inbox handling** — still produces minimal report; flags overdue tracker items

Trigger Phrases (auto-invoke without /cs:)

  • "triage my inbox"
  • "inbox triage"
  • "check my email"
  • "run email triage"
  • "process my inbox"
  • "what's new in my email"
  • "handle my email"
  • "email triage"

Workflow

# 1. Pre-flight — read + validate KB (fail-fast if missing)
python ../skills/inbox-triage/scripts/kb_reader.py --workspace ${WORKSPACE}

# 2. Compute search window
python ../skills/inbox-triage/scripts/search_window_calculator.py \
  --cadence 2x-daily --now $(date -u +%Y-%m-%dT%H:%M)

# 3. Execute Steps 2-10 (described in SKILL.md). For each step, log to:
#    ${WORKSPACE}/Email/triage-log/<date>-<label>.md

# 4. Post-flight — verify NEVER-SEND held
python ../skills/inbox-triage/scripts/draft_safety_validator.py \
  --action-log ${WORKSPACE}/Email/triage-log/$(date +%Y-%m-%d)-*.md
# Failure here is critical — halt + alert user immediately

Stop Conditions

  • All 10 steps complete → report delivered + KB updated + log written
  • KB files missing → halt; direct to `/cs:inbox-setup`
  • Email tool unavailable → halt; tell user which tool is needed
  • 100+ new emails → flag volume; offer to focus on priority categories only
  • User says "stop" → produce partial report from what's been processed; flag the rest

Critical Rules

1. **DRAFTS ONLY — NEVER SEND.** Non-negotiable. 2. **Fail-fast on missing KB.** Halt cleanly; direct to setup. 3. **Honor the KB.** Documented preferences are source of truth; don't override with judgment. 4. **Privacy.** No credentials in KB; reference threads by ID for sensitive content. 5. **Transparency.** Note every KB change in the triage log. 6. **First runs need oversight.** Documented — system learns from your edits and overrides.

Triage Decision Categories

| Category | When | Output | |---|---|---| | **TAKE IT** | Meets criteria from `evaluation-framework.md` | Recommend engaging; draft reply | | **WORTH CONSIDERING** | Has potential, needs user judgment | Surface key context; draft reply for user to edit | | **PASS** | Doesn't meet criteria | Brief "why"; draft polite decline | | **FLAG FOR REVIEW** | Unusual; needs direct user decision | Surface fully; NO draft (user decides response shape) |

Anti-Patterns Rejected

  • **Sending emails** — drafts only, non-negotiable
  • Operating without knowledge base files
  • Storing passwords / credentials in KB
  • Skipping the learning loop (KB updates) at end of run
  • Overriding user's documented preferences with own judgment
  • Reading lowest-priority threads (waste of context)
  • Including draft text previews in report (drafts are already in email client)
  • Provider lock-in without adapter pattern
  • Silently failing on missing tools

Related

  • Companion: [`/cs:inbox-setup`](./cs-inbox-setup.md) — must run first
  • Agent: [`cs-inbox-triage`](../agents/cs-inbox-triage.md)
  • Skill: [`inbox-triage`](../skills/inbox-triage/SKILL.md)
  • Source spec: [`megaprompts/07-inbox-triage-megaprompt.md`](../../../megaprompts/07-inbox-triage-megaprompt.md)

---

**Version:** 1.0.0 **Source:** Path-B direct conversion of `megaprompts/07-inbox-triage-megaprompt.md`

Read more
Ships withclaude-skills

362 production-ready Claude Code skills, plugins, and agent skills for 13 AI coding tools. The most comprehensive open-source library of Claude Code skills and agent plugins — also works with OpenAI Codex, Gemini CLI, Cursor, and 9 more coding agents.

Get the whole plugin, auto-invoked
Stats
24,115
Stars
1
Views
3,400
Forks
Active
Maintenance
Python
Language
MIT
License
3d ago
Last commit
9mo ago
Created

Repo: alirezarezvani/claude-skills