inbox
Email triage system that handles both one-time setup and recurring triage in a single skill.
Skill by Infrasity-Labs
Chalk Labs
Need help deploying inbox?
Chalk Labs sets up agents like this inside real teams: connected to your tools, tested on your data, with a human in the loop where it matters.
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/infrasity-labs-inbox
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: documents, productivity
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
- Runs as
- Python package
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/inbox
What's inside
- Skill name
inbox- Description
- Email triage system that handles both one-time setup and recurring triage in a single skill. Auto-detects state: if no knowledge base exists at ${WORKSPACE}/Email/, runs an 8-section onboarding interview (grill-me discipline, one question at a time) to build a 7-file personalized KB, then offers to run triage immediately. If the KB already exists, skips setup and goes straight to triage — searches recent emails, classifies them via the user's taxonomy, researches new senders, generates TAKE IT/WORTH/PASS/FLAG recommendations, drafts replies (NEVER sends), delivers a report, and updates the KB. Use with 'update' argument to refresh preferences. Setup triggers: 'set up my inbox', 'configure inbox triage', 'set up my email system', 'configure email triage', 'build my email knowledge base', 'initialize email management'. Triage triggers: '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'.
- License
- MIT
- Metadata
- paired_skills: self-contained — setup and triage in one skill
- Instructions
- 377 lines in SKILL.md · view on GitHub
Before installing
- Ships executable scripts
Files (12)
- SKILL.md
- drafts_only_safety.md · references/
- grill_me_section_walk.md · references/
- kb_file_contract.md · references/
- triage_decision_framework.md · references/
- voice_calibration.md · references/
- draft_safety_validator.py · scripts/
- kb_reader.py · scripts/
- kb_validator.py · scripts/
- search_window_calculator.py · scripts/
- section_progress_tracker.py · scripts/
- voice_sample_analyzer.py · scripts/
SKILL.md (first lines)
# Inbox — Email Triage System
Self-contained email triage skill. Handles setup and recurring triage in a single command. Detects its own state and routes accordingly — no need to remember which mode to run.
## State Detection (Always First)
Before anything else, check for the KB:
| State | Route |
|---|---|
| Argument is `update` | → **Update Mode** |
| `${WORKSPACE}/Email/email-taxonomy.md` does NOT exist | → **Setup Mode** |
| `${WORKSPACE}/Email/email-taxonomy.md` exists | → **Triage Mode** |
**Edge cases:**
- User says "set up my inbox" but KB exists → acknowledge, ask: "run triage / update preferences / both?"
- User says "triage my inbox" but no KB → "No knowledge base found. Running setup first, then triage immediately after." → Setup → Triage
- Partial KB (some files missing) → list which files are missing, ask: "run full setup / fill in only the missing sections?"
---
## SETUP MODE — Build the Knowledge Base
Runs when no KB exists.
### Conduct Discipline
**Do NOT generate all files at once.** Walk through the 8 sections one at a time. Each section commits its file(s) before moving on. Partial completion (user drops off mid-interview) still produces a usable partial KB.
- **One question per turn.** Never bundle — even across section boundaries.
- **"Why I'm asking" on every question** — users answer better when they know what's at stake.
- **Forcing format where possible.** Multi-choice > open-ended.
- **Dependency-ordered.** Section N informs Section N+1.
See `references/grill_me_section_walk.md` for the 8-section discipline detail.
### Knowledge Base — 7 Files to Produce
Write to `${WORKSPACE}/Email/`:
| File | Purpose | Required? |
|---|---|---|
| `email-taxonomy.md` | Classification system + report preferences | **Yes** |
| `email-patterns.md` | Reply voice, tone, templates, hard rules | **Yes** |
| `evaluation-framework.md` | Decision tree for opportunity emails | Only if user receives pitches/opportunities |
| `rate-card.md` | Pricing, terms, negotiation posture | Only if user has pricing |
| `blocklist.md` | Auto-skip senders + learned decline patterns | **Yes** (seeded, grows over time) |
| `tracker.md` | Active follow-ups, overdue items, deadlines | **Yes** (starts mostly empty) |
| `triage-log/` | Directory for per-run logs | **Yes** (created empty) |
### Stop Condition
~25–31 questions total across 8 sections. Hard ceiling: 35 questions including sub-clarifications. Section 4 (Evaluation Framework) is skipped entirely when Section 1 surfaced no opportunity-email category. After Section 8's confirmation + handoff message, intake is closed — to change preferences, use `update` mode.
### Section 1: The Big Picture
Six grill-me questions, one at a time:
- **S1.Q1:** "What do you do? Give me your role and business in 1–2 sentences. *Why I'm asking:* Context shapes what email patterns to expect — a solo creator's inbox looks nothing like an enterprise PM's."
- **S1.Q2:** "What dominates your inbox? Pick the top 1–2: sales pitches / client work / internal team / newsletters / customer support / financial / other. *Why I'm asking:* Dominant categories drive the taxonomy."
- **S1.Q3:** "Rough volume split — e.g., '60% business inquiries, 20% ops, 20% noise'. *Why I'm asking:* The split tells me where to focus triage effort."
- **S1.Q4:** "Which email address(es) should triage cover? *Why I'm asking:* If multiple, I'll set up per-address taxonomies."
- **S1.Q5:** "Run frequency: once daily / 2x daily / 3x daily / on-demand only? *Why I'm asking:* Drives the default search window in triage (9h overlap for 2x/day)."
- **S1.Q6:** "Anyone helping manage email — assistant, VA, team — or solo? *Why I'm asking:* Persona handling differs for delegated inboxes."
**Action:** Build mental model. Do NOT write files yet. Note whether opportunity emails are a category (drives S4 skip-logic).
### Section 2: Email Categories
Propose 5–7 categories based on Section 1 — pre-recommend a subset:
- New Opportunities
- Active Conversations
- Action Required
- Financial
- Important/Personal
- Informational
- Ignore/Low Priority
Three forcing questions, one at a time:
- **S2.Q1:** "Here's my proposed taxonomy: [list]. Does this match your inbox reality — yes / mostly / no? *Why I'm asking:* If 'no', I need to redo the taxonomy before any other section makes sense."
- **S2.Q2:** "Missing categories? List them. (Skip if none.) *Why I'm asking:* Missing categories produce uncategorized emails downstream, which hurts triage quality."
- **S2.Q3:** "Which category takes the MOST time per email? *Why I'm asking:* That's where draft-reply effort needs to focus most."
**Action:** Generate `email-taxonomy.md` with categories, signals, and default actions per category.
### Section 3: Reply Style & Voice
Six grill-me questions plus the critical sample request:
- **S3.Q1:** "Register: formal / casual / in-between? *Why I'm asking:* Calibrates default voice; we'll refine from samples next."
- **S3.Q2:** "Three communication pet peeves — phrases you hate, openings you avoid. *Why I'm asking:* I treat these as forbidden tokens in drafts."
- **S3.Q3:** "Phrases or sign-offs you always use — list as many as come to mind. *Why I'm asking:* These are your voice fingerprints."
- **S3.Q4:** "Different persona for different contexts — e.g., assistant replies as you? *Why I'm asking:* Persona context changes pronoun + signature handling."
- **S3.Q5:** "Typical reply length — one-liner / short paragraph / longer? *Why I'm asking:* Length is the easiest voice signal to get wrong."
- **S3.Q6:** "Hard rules — never X / always Y? *Why I'm asking:* Hard rules are enforced as non-negotiable in every draft."
**S3.SAMPLES (highest-quality input):**
> **Paste 3–5 real sent emails from your inbox.**
>
> *Why I'm asking:* Self-description of voice is unreliable. Real samples are the best signal — use `scripts/voice_sample_analyzer.py` to extract patterns.
**Action:** Generate `email-patterns.md`. See `references/voice_calibration.md` for the sample-extraction discipline.
### Section 4: Evaluation Framework (Conditional)
**Skip if Section 1 surfaced no opportunity emails.** Otherwise six grill-me questions:
- **S4.Q1:** "First thing you check when pitched something — give me your gut filter. *Why I'm asking:* That's the top of the decision tree."
- **S4.Q2:** "Three instant deal-breakers. *Why I'm asking:* These become PASS-auto signals."
- **S4.Q3:** "Three things that make you immediately interested. *Why I'm asking:* These become TAKE-IT signals."
- **S4.Q4:** "Standard pricing / terms — or 'no fixed pricing'? *Why I'm asking:* If you have a rate card, I'll generate one."
- **S4.Q5:** "Negotiation posture: firm / flexible / depends on context? *Why I'm asking:* Drives draft tone on counter-offers."
- **S4.Q6:** "VIP senders or organizations that always get engagement. *Why I'm asking:* VIP list bypasses normal PASS filters."
**Action:** Generate `evaluation-framework.md` + `rate-card.md` (if pricing exists).From Infrasity-Labs/dev-gtm-claude-skills, MIT.
More from Infrasity-Labs/dev-gtm-claude-skills
- 0.675score
landing-page-auditor
Infrasity
Audits any landing or service page across 48 checks in 10 categories for LLM/AI discoverability, GEO readiness, content clarity, schema markup, internal…
SkillCFreshness: C★ 144Claude Code +9 - 0.508score
blog-image
Infrasity-Labs
AI image generation and editing for blog content powered by Gemini via MCP.
SkillCFreshness: C★ 144Claude Code +9 - 0.508score
blog-cluster
Infrasity-Labs
Semantic topic cluster planning and automated execution engine for claude-blog.
SkillCFreshness: C★ 144Claude Code +9 - 0.508score
churn-prevention
Infrasity-Labs
When the user wants to reduce churn, build cancellation flows, set up save offers, recover failed payments, or implement retention strategies.
SkillCFreshness: C★ 144Claude Code +9 - 0.508score
blog-google
Infrasity-Labs
Google API integration for blog performance: PageSpeed Insights, CrUX Core Web Vitals with 25-week history, Search Console performance, URL Inspection…
SkillCFreshness: C★ 144Claude Code +9 - 0.508score
anydesign
Infrasity-Labs
Analyze images, websites, and Figma files to extract their design and generate a `design.md` with token system, component inventory, and reconstruction notes.
SkillCFreshness: C★ 144Claude Code +9 - 0.508score
blog-translate
Infrasity-Labs
Translate existing blog posts into one or more target languages with SEO-optimized localization.
SkillCFreshness: C★ 144Claude Code +9 - 0.508score
ads
Infrasity-Labs
When the user wants help with paid advertising campaigns on Google Ads, Meta (Facebook/Instagram), LinkedIn, Twitter/X, or other ad platforms.
SkillCFreshness: C★ 144Claude Code +9 - 0.508score
blog-audio
Infrasity-Labs
Generate audio narration of blog posts using Google Gemini TTS.
SkillCFreshness: C★ 144Claude Code +9 - 0.508score
claude-md-starter
Infrasity-Labs
Generates a fully structured, project-specific CLAUDE.md by scanning the repo for signal files (package.json, Makefile, .github/workflows/, .env.example…
SkillCFreshness: C★ 144Claude Code +9 - 0.508score
agile-product-owner
Infrasity-Labs
Agile product ownership for backlog management and sprint execution.
SkillCFreshness: C★ 144Claude Code +9 - 0.508score
code-reviewer
Infrasity-Labs
Code review automation for TypeScript, JavaScript, Python, Go, Swift, Kotlin, C#, .NET, Java, C, C++, Rust, Ruby, PHP, and Dart/Flutter.
SkillCFreshness: C★ 144Claude Code +9
Signals
- Stars
- 144
- Forks
- 16
- Open issues
- 1
- Last commit (this folder)
- Jun 23, 2026 (4 months ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from Infrasity-Labs
- 0.508score
blog-audio
Infrasity-Labs
Generate audio narration of blog posts using Google Gemini TTS.
SkillCFreshness: C★ 144Claude Code +9 - 0.508score
blog-cluster
Infrasity-Labs
Semantic topic cluster planning and automated execution engine for claude-blog.
SkillCFreshness: C★ 144Claude Code +9 - 0.508score
anydesign
Infrasity-Labs
Analyze images, websites, and Figma files to extract their design and generate a `design.md` with token system, component inventory, and reconstruction notes.
SkillCFreshness: C★ 144Claude Code +9 - 0.508score
ads
Infrasity-Labs
When the user wants help with paid advertising campaigns on Google Ads, Meta (Facebook/Instagram), LinkedIn, Twitter/X, or other ad platforms.
SkillCFreshness: C★ 144Claude Code +9 - 0.508score
agile-product-owner
Infrasity-Labs
Agile product ownership for backlog management and sprint execution.
SkillCFreshness: C★ 144Claude Code +9 - 0.508score
blog-google
Infrasity-Labs
Google API integration for blog performance: PageSpeed Insights, CrUX Core Web Vitals with 25-week history, Search Console performance, URL Inspection…
SkillCFreshness: C★ 144Claude Code +9
Done for you
Rather not set it up yourself?
Chalk Labs scopes, builds and runs agents for your team: the task audit, the eval harness, the integrations and the weekly ops report. Fixed scope, priced before we start.
See how we build AI agents →Read the case studies
Chalk Labs is a two-founder AI and growth studio. We build AI agents, CRMs and MVPs for Web3 and AI companies, and have shipped 50+ product and token launches.
- launches shipped
- 50+
- launches shipped
- media placements
- 500+
- media placements
- founders on every account
- 2
- founders on every account
Press we've placed: Forbes · CoinDesk · Decrypt · Cointelegraph · The Block
Rahil Jain, Co-founder, Chalk Labs. Ex-Goldman Sachs engineer. You talk to the person who builds it.
Get inbox running in your business
Tell us what you want to automate. A founder replies within one working day with a plan, not a pitch deck.
Cite this page
inbox skill. Agent Mart. https://agentmart.dev/skills/infrasity-labs-inbox (last updated 2026-10-24)