RAHU is a Claude Code-native re-implementation of Dimension (the "AI coworker that never sleeps", wound down May 20 2026). It reproduces Dimension's feature set inside the Google ecosystem with no separate UI: every output lands as a Gmail draft/label, a Google Calendar event, a Google Task, or a Google Doc. Claude Code is the engine; Google is the interface.
It learns your writing voice and your tagging conventions from your own email trails, stores them in a local, open-source, token-efficient memory (no SaaS), and routes each job to the cheapest Claude model that can do it well.
| Dimension feature | RAHU | Lands in |
|---|---|---|
| Auto email triage — label, prioritize, organize before you open it | inbox-triage agent (Haiku) + email-triage skill |
Gmail labels |
| Auto-draft replies in your tone | voice-drafter agent (Sonnet) + draft-in-voice skill |
Gmail drafts |
| Morning / Evening Briefing (one screen) | rahu-morning-briefing workflow + briefing-writer |
Google Doc + draft-to-self |
| Catch Up — summary + ready draft per message | rahu-catchup workflow |
Gmail drafts |
| Meeting prep & daily recaps | meeting-prep agent + skill |
Calendar event / Doc |
| Action items, all in one place | action-extractor agent (Haiku) |
Google Tasks |
| CRM / deal context + IC memo (VC/founder) | deal-analyst agent (Opus) + deal-context skill |
Google Doc + memory |
| Inbox Autopilot (tag + draft every inbound) | rahu-inbox-autopilot workflow under /loop |
Gmail drafts/labels |
| Learns your voice + tags from history | memory-curator agent + rahu-learn-voice workflow |
local memory |
| 30+ integrations via MCP | one open-source Google Workspace MCP server | Gmail/Cal/Tasks/Drive/Docs |
Feature list verified by deep research against dimension.dev's own pages
(/email, /morning-briefing, /vc, /founder, /pricing), docs, the founder's
launch post, and Product Hunt (3-0 adversarial verification on each core claim).
.claude/
├── settings.example.json # MCP servers, model routing, hooks, permissions — REVIEW then copy to settings.json
├── commands/ # what you type
│ ├── briefing.md # /briefing [morning|evening] [window]
│ ├── catchup.md # /catchup [window]
│ ├── autopilot.md # /autopilot [since] (wrap with /loop for always-on)
│ ├── prep.md # /prep [today|<meeting>]
│ ├── learn.md # /learn (refresh voice + tagging memory)
│ └── memo.md # /memo <company> [memo|brief]
├── workflows/ # multi-agent orchestration (the /workflows)
│ ├── morning-briefing.js # triage → draft+tasks+prep (parallel) → synthesize Doc
│ ├── catchup.js # triage → per-message draft (pipelined)
│ ├── inbox-autopilot.js # one autopilot pass (loop calls it repeatedly)
│ └── learn-voice.js # learn voice + tagging from email trails
├── agents/ # specialists, each pinned to a model
│ ├── inbox-triage.md (haiku) ├── action-extractor.md (haiku)
│ ├── voice-drafter.md (sonnet) ├── briefing-writer.md (sonnet)
│ ├── meeting-prep.md (sonnet) ├── memory-curator.md (sonnet)
│ └── deal-analyst.md (opus)
├── skills/ # the "how" for each capability
│ ├── email-triage/ draft-in-voice/ morning-briefing/ meeting-prep/
│ └── action-items/ deal-context/ voice-memory/
├── hooks/
│ ├── session-start-inject-memory.sh # cheap context at session start
│ └── pre-send-guard.sh # never auto-send unless explicitly opted in
└── memory/ # local supermemory-style store (the user-context brain)
└── store.py # SQLite + optional semantic recall, keyword fallback
/briefing
└─ Workflow: rahu-morning-briefing
├─ phase Triage → inbox-triage (Haiku) reads Gmail, applies labels, returns digest
├─ phase Act → parallel:
│ ├─ voice-drafter (Sonnet) ×N → Gmail drafts (recall voice from memory)
│ ├─ action-extractor (Haiku) → Google Tasks
│ └─ meeting-prep (Sonnet) → Calendar descriptions
└─ phase Synthesize→ briefing-writer (Sonnet) → one Google Doc
Each agent recalls only the few memory facts it needs (voice, tagging, contact, deal) — never the whole inbox — which is what keeps token cost low.
.claude/memory/store.py is a single-file SQLite store inspired by the open-source
supermemory project, reduced so it runs
anywhere python3 exists — no server, no API key, nothing leaves your machine.
- Namespaced facts (
voice,tagging,contact,deal,pref,thread) so each agent pulls only its slice. recall --query ... --k N --max-chars Creturns a hard-capped compact JSON blob — a recall can never blow your token budget.- Semantic recall via
sentence-transformersif installed; otherwise a deterministic keyword/recency fallback. Same CLI either way. - Idempotent on
(kind,key)— re-learning updates in place, so the profile stays current as your style drifts (the "dynamic" part).
python3 .claude/memory/store.py recall --kind voice --query "investor reply" --k 4
python3 .claude/memory/store.py add --kind pref --key no-lp-autosend --text "Never auto-send to LPs."
python3 .claude/memory/store.py statsRun /learn to populate it from your Sent mail + existing Gmail labels.
Optional, for semantic recall: pip install sentence-transformers.
| Job | Model | Why |
|---|---|---|
| Triage / labeling / action extraction | Haiku 4.5 | high volume, classification-shaped |
| Voice drafts / briefing prose / meeting prep / voice learning | Sonnet 4.6 | writing + synthesis quality |
| Deal / IC memos, high-stakes drafts | Opus 4.8 | deepest reasoning, risk framing |
Set in each agent's model: frontmatter and per-phase in the workflows. The session
default (settings.example.json) is Sonnet.
-
Install the Google MCP server (open-source, covers Gmail/Calendar/Tasks/Drive/Docs):
pipx install uv # or have uvx available # create a Google Cloud OAuth client (Desktop), then export: export GOOGLE_OAUTH_CLIENT_ID=... GOOGLE_OAUTH_CLIENT_SECRET=... USER_GOOGLE_EMAIL=you@domain
(Zero-setup alternative: the claude.ai-hosted Gmail/Calendar/Drive connectors work without an OAuth app but lack Google Tasks — RAHU then falls back to a Doc checklist.)
-
Activate config: review
.claude/settings.example.json, thencp .claude/settings.example.json .claude/settings.json. (Shipped as.exampleso no permissions/hooks activate without your explicit OK.) -
Teach it your voice: run
/learnonce. Re-run monthly to stay current. -
Use it:
/briefingeach morning ·/catchupanytime ·/prepbefore meetings ·/loop --interval 15m /autopilot 20mfor always-on ·/memo <company>for deals.
RAHU drafts, labels, and prepares — it never sends mail or creates calendar invites
without you. gmail_send_message and calendar_create_event sit in permissions.ask,
and pre-send-guard.sh hard-denies sends unless you create .claude/memory/AUTOSEND_ENABLED.
Memory stores distilled patterns, never raw bodies, secrets, or OTPs, and is gitignored.
This mirrors Dimension's review-and-send default.