/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.
$ npx -y skills add alirezarezvani/claude-skills --agent claude-codeHow 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.mdname: "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 immediatelyStop 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
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 immediatelyStop 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`
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.
Repo: alirezarezvani/claude-skills
Other commands on claude-skills.
- /focused-fix
Deep-dive feature repair — systematically fix an entire feature/module across all its files and dependencies. Usage: /focused-fix <feature-path>
Open command - /clean
Clean up merged branches locally and on remote, keeping only main, dev, and gh-pages.
Open command - /cm
Stage working tree changes and create a Conventional Commit (no push).
Open command - /cp
Stage, commit, and push the current branch following git governance rules.
Open command - /pr
Create a pull request from the current branch.
Open command - /plugin-audit
Comprehensive audit pipeline for skills, plugins, agents, and commands. Validates structure, quality, security, marketplace compliance, cross-platform compatibility, and ecosystem integration. Runs all built-in validation tools, invokes domain-appropriate agents for code review,
Open command

