Explore

hugo / rig-inbox-aide

AI executive assistant for Gmail - triage unread threads, draft replies for routine ones, summarize long threads, produce a morning brief. Drafts only; the human reviews and sends. Built for solopreneurs, indie founders, vibe coders losing hours to inbox.

v0.1.0claude-code
rig use hub:hugo/rig-inbox-aide

Readme

rig-inbox-aide

A Claude Code rig that runs the daily Gmail loop for solo operators: triage unread threads, draft replies for the routine ones, summarize long threads on demand, and produce a morning brief of what actually needs you. Drafts only — you review and send.

Built for solopreneurs, AI-native founders, and vibe coders losing 60–90 minutes a day to inbox triage.

What it does

Four skills on top of a shared triage/ and briefs/ folder:

SkillInputOutput
/triage [N]last N unread threads (default 20)triage/{date}.md — classification table (reply/escalate/archive/fyi)
/draft-reply <thread-id>one threadGmail draft (visible in Gmail drafts folder) + triage/draft-{thread-id}.md audit copy
/summarize <thread-id>one long threadterminal + triage/summary-{thread-id}.md (3 lines)
/briefthe day's triage/*.mdbriefs/{date}.md — counts, escalations, drafts to review

Layout

rig-inbox-aide/
  CLAUDE.md           # rig orientation (read by claude on every session)
  README.md           # this file
  rig.toml            # rig manifest
  .mcp.json           # Gmail MCP server config
  triage/             # daily classification logs + draft/summary audit copies (gitignored, local-only)
  briefs/             # morning briefs (gitignored, local-only)
  .claude/skills/
    triage/
    draft-reply/
    summarize/
    brief/

First run

1. Install the rig

rig use hub:hugo/rig-inbox-aide
cd ~/rigs/hugo/rig-inbox-aide   # or wherever rig installed it

2. Set up the Gmail MCP

The rig ships with .mcp.json pointing at the @gongrzhe/server-gmail-autoauth-mcp npm package. On first run, npx will download and execute the server, which opens a browser to authenticate against your Google account.

One-time setup steps:

  1. The first time Claude starts in this rig, the Gmail MCP server will launch via npx -y @gongrzhe/server-gmail-autoauth-mcp. Follow the auth flow it prints — it opens a browser, you grant Gmail read + draft scopes, the OAuth tokens are saved locally.
  2. After auth, the Gmail tools become available in this session as mcp__gmail__search_threads, mcp__gmail__get_thread, mcp__gmail__create_draft, mcp__gmail__list_labels.

Don't want to run that server? Edit .mcp.json and replace the gmail block with your preferred Gmail MCP (e.g. a Google Workspace connector, your own self-hosted server, etc.). The skills only require:

  • The server is registered under the gmail key in .mcp.json (so tool names start with mcp__gmail__).
  • The server exposes Gmail-standard tools: search_threads, get_thread, create_draft, list_labels.

3. Launch claude

claude

4. Run the daily loop

/triage

This pulls your last 20 unread threads, classifies each, writes triage/{today}.md.

Read the table. For threads classified reply:

/draft-reply <thread-id>

Claude reads the full thread, drafts a reply, saves it as a Gmail draft (it'll show up in your Gmail drafts folder). A local copy lands at triage/draft-{thread-id}.md for audit. You open Gmail, review, edit if needed, hit send.

For long threads you need to catch up on without reading:

/summarize <thread-id>

3-line summary in your terminal + triage/summary-{thread-id}.md.

End of the morning loop:

/brief

Rolled-up view: total counts by class, top escalations that need you, drafts already waiting for review. Lands at briefs/{today}.md.

Tools required

  • claude (Claude Code CLI)
  • A Gmail MCP server registered under the gmail alias in .mcp.json (default: @gongrzhe/server-gmail-autoauth-mcp via npx).

Boundaries

  • Drafts only. Every reply lives in Gmail's drafts folder until you send it.
  • No auto-archive, no auto-label. The rig reads and drafts; it never mutates inbox state on your behalf.
  • No invented content. Quotes and facts come from get_thread. If a detail isn't in the thread, the draft leaves it out.
  • Append-only on triage/ and briefs/. Re-running /triage on the same day appends a timestamped section.
  • /draft-reply respects the triage classification. If the latest /triage table classified a thread as escalate, /draft-reply refuses until you edit the table row to reply. Prevents accidentally drafting a tricky reply Claude shouldn't write.

Files

.claude5 files
briefsempty
triageempty
.mcp.json889 B
CLAUDE.md4.6 KB
README.md4.3 KB
rig.toml1.1 KB

Versions (1)

v0.1.0ebaf6c2f