I have pushed AI into almost every corner of how I run Anchor Hosting. Security scans. Migrations. DNS. Blog drafts. Website repairs. The one thing that still felt half-broken was sitting down and doing email the way I actually do email.

Not summarizing the inbox. Not generating a weekly report. The real thing: open Missive, find the people waiting on me, work each thread, send a reply, check the box, next. Hyperspeed for everything else. Email still felt like a pile of half-finished chats.

Until today, with Grok Build and a skill I call /email-worker.

I already had the pieces. They just did not feel like a flow.

I was not starting from zero. Missive CLI already lets an agent search, read, close, and draft from the terminal. I have written about that before in the long Claude Code triage sessions.

On top of that I had two skills that each solved half the problem.

The two email skills I already lived in
NOISE
/process-emails
Category sweeps. Injection alerts, session digests, monitors, password noise, backup alerts, PHP errors. Verify, batch-close, escalate only the real ones. Great at draining the flood.
DetectInbox volume
REPLY
/draft-email
Write the reply. Missive HTML rules, greeting style, signature, reply-all. Draft by default. Never send unless I say so.
DetectOutbound copy

Those two are still in the stack. Noise still gets a category pass. Replies still go through draft. What was missing was the middle: the interrupt-driven loop where a real person is waiting and I am the one who has to decide.

I had tried to skill that middle more than once. Earlier versions either over-automated (close things I should see) or under-structured (long scrollback, no queue, constant “what is next?”). The work got better. The feel stayed messy.

Grok Build made the queue visible again.

Part of why this clicked is boring and true: Grok 4.5 is a fast model. When you are grinding customer threads, latency is product. Waiting on a slow turn breaks the same mental state that good email triage needs.

The bigger piece is UI. Grok Build has a first-class todo system and a pane I can toggle without leaving the agent.

Ctrl+T keeps the checklist above the conversation
In the Grok Build agent screen, Ctrl+T toggles the todos pane. The queue stays visible while I read a brief, approve a draft, or say “done, next.” I am not hunting for the last bullet list buried in scrollback.

That sounds small. It is not. Inbox work is a queue with interrupts. If the queue only lives inside the chat transcript, every new message pushes it down. You start re-asking “what is left?” You lose the checkbox muscle memory that made human triage feel done.

With the pane open, I stay in flow. Current thread in the conversation. Full waiting-on-me list static above it. Done means checked. Next means the next brief, not a memory test.

/email-worker is the skill that respects how I actually triage.

I do not want the agent to auto-close customer mail. I also do not want to re-explain the rules every session. So /email-worker is a short contract, not a robot manager.

  • Sync Missive for a window (default last 48 hours; widen to 7d or 2w mid-pass).
  • Filter to humans waiting on me: open threads where the last message is not from me, and not pure system noise.
  • Load a todo per thread, highest urgency first, with person + one-line ask + thread id.
  • Brief one thread, then stop. Wait for my direction.
  • Act only on my words: draft, dig in over SSH, DNS, close, skip. Never send without “send.” Never close a customer without “close.”
  • Auto-advance to the next pending todo after I finish one.

Noise categories stay out of this list on purpose. That is still /process-emails. Customer waits stay human-gated on purpose. That is still me.

A pass actually looks like this.

Kickoff is one line. The agent comes back with a table, then the first brief.

Grok Build Session
Austin
/email-worker
Grok
Customer pass: last 48 hours. Waiting on you. 7 threads. Top: Susan needs Matt added as admin on a client site. Thread brief ready. How do you want to handle this?
Austin
Looks like Matt is already added. Draft a followup.
Grok
Checked over SSH. Account created earlier today as administrator. Draft created in Missive (not sent). Review and say send, or done and next.
Austin
done, next

From there it is a rhythm. Dig into a migration. Compare live DNS to Anchor. Point apex at Kinsta. Draft the cutover email. Close a thanks-only thread. Extend the window to seven days and merge new waits without wiping the completed list. The skill holds the rules. The todos hold the queue. I hold the judgment.

Why this beat my earlier AI email setups.

I have run long Claude Code sessions that closed hundreds of noise emails in one conversation. That still works. It is still how I drain monitors and password alerts when the pile is thick.

What those sessions never quite replaced was the feeling of a clean customer stack. The agent could operate. I still could not see the remaining humans the way a paper checklist used to.

Today was the first time AI-assisted email felt as fast as the rest of my stack. Not because it sent mail for me. Because it kept me in the same loop I already trust: brief, decide, act, check the box, next.

48h
Default lookback
Ctrl+T
Todo pane toggle
0
Sends without asking
1
Thread at a time

The split that finally stuck.

/process-emails for system noise. /draft-email for the words. /email-worker for the humans waiting on me. Grok Build for a model fast enough to keep up and a todo pane that does not disappear when the chat scrolls.

I am still the triage master. The agent is still the operator. The difference is the queue finally has a permanent place on screen while I work.

Related reading
For the earlier Claude Code noise-drain approach and Missive CLI foundation, see 1,600 Emails in One Conversation. That post is about clearing the flood. This one is about finishing the people still in it.