7:15am. Train to Amsterdam. Client call in 90 minutes. I wanted to pull the context including last meeting notes, open questions, where the project stood. The agent who knew all of that was on my laptop. At home.
I pulled out my phone. Opened the Claude app. Typed the question. Got a generic answer from a generic assistant with no context at all. The system I'd built to make me more capable had one critical flaw: it required me to be at my desk. Fixing that turned out to solve a second problem I hadn't thought to name yet.
A chief of staff with office hours
Charles has been running my second brain since January. The vault, the GTD workflows, the Pre-Flight Check, the weekly review, the project tracking. Article 1 covers how that came together. The short version: it works. Context persists across sessions. Rules fire every time. The daily briefing takes five minutes and sets up the rest of the day.
This is the use case that applies to any knowledge worker: one agent that knows your projects, your priorities, and your operating rhythm. Not a chatbot you query. A chief of staff who shows up prepared.
The problem: Charles ran on my laptop. Claude Code as a local process, terminal open, the vault in Obsidian on the same machine. Powerful at a desk. Useless anywhere else. Laptop closed meant assistant offline.
For a chief of staff, office hours are the wrong constraint.
Moving to the server
I already had a home server running the MCP integrations from Article 5. Google Calendar, Garmin, DuckDuckGo, n8n: all running on a Linux container in my Proxmox homelab. The infrastructure was already there.
Claude Code has a mode called remote-control. Run it as a service, and any device can connect via a browser or the Claude app. No VPN, no SSH tunnel. The service connects through the Claude.ai relay over TLS. Phone, tablet, anything with a browser.
I moved Charles to the server. One claude remote-control process. One systemd unit that starts on boot and restarts on crash. Charles: now 24/7.
And then I realized the problem with running everything in one agent.
The generalist problem
Charles was carrying 14 workflows. GTD, weekly review, kids sports planning, triathlon race prep, people research, LinkedIn analytics. Every session loading all of it. One agent handling every domain.
Charles can handle all of it. The vault holds everything and he can find it. On the laptop, that works fine. A long session, full context, work across any domain all day.
On mobile it's a different usage model. You're not running a three-hour deep work session. You're between meetings wanting a quick competitive read, or checking in on training after a ride. What you want is zero setup. Open the agent, it already knows which competitors you're tracking, where your differentiation holds, what the race plan says. No context dump, no re-establishing who you are and what you're tracking.
And there's a second dimension: one remote agent per domain means the conversation history accumulates around that topic, and every session writes back to the vault. Each competitive intel session builds on the last: new moves logged, profiles updated, committed to git. The triathlon coaching log grows with every check-in and after every training session. The agent gets more contextual over time precisely because it never does anything else, and every insight lands in a permanent record.
But that only works if each agent can hold its own identity across sessions. That's where one insight unlocked the whole architecture.
One file, one identity
The insight: CLAUDE.md survives /clear and new chats.
In Claude Code, /clear wipes the conversation history. What it does not wipe is CLAUDE.md. That file is read at the start of every session, every restart, every new conversation. The history is ephemeral. The file is permanent.
One file equals one identity. An agent is not a session. It is a CLAUDE.md.
That means you can run multiple agents. Each with its own CLAUDE.md. Each with its own working directory. Each with only the MCP tools its domain needs. Each arriving with exactly the context it needs and none of what it doesn't.
Not one generalist. Four specialists. All reading and writing the same vault.
Meet the team
Charles is the professional foundation, the use case that applies to any knowledge worker. Projects, priorities, operating rhythm. The agent that knows what you're working on, what's overdue, and what needs attention before you open your laptop. Full second brain: vault, GTD, projects, areas, all workflows, all MCP tools, and Authenticated LinkedIn for people research before meetings. Intensive sessions at the laptop, full context. Also reachable on the phone when I need the vault from anywhere.
Eva handles competitive intelligence. Product marketing moves fast: a competitor ships something, adjusts pricing, or shifts messaging and you need a quick read before a customer call or leadership review. Eva is pre-loaded with the full competitive landscape: competitor profiles, positioning maps, differentiation pillars, recent moves. She has DuckDuckGo for live research and Authenticated LinkedIn for full access to competitor profiles, company pages, and executive posts as a logged-in user. Updates go directly to the competitive intel vault. She knows nothing about my training plan, my inbox, or my GTD workflows. She doesn't need to. That's the point.
Jones is the triathlon coach. The race is done: May 9, quarter triathlon, 1 km swim, 40 km bike, 10 km run. He tracked the full build in his CLAUDE.md: training phases, race day strategy, injury rules, wingfoil impact calculations. He has Garmin, Calendar, and DuckDuckGo. The first thing he does on every new session: pull the last 7 days of Garmin data and give a 4-line status without being asked. Where recovery stands, what the data shows, one recommendation. The race goal changes. The agent stays.
Eva and Jones are the names I use here. The principle is the same: one name, one domain, one persistent identity.

Sam joined in May, built to support a goal I'm still not entirely at peace with: running. A dedicated running coach: pulls the last Garmin activity on every session, checks my form and numbers against targets built around how I'm put together (being tall doesn't exactly make running easier), writes the analysis note to the vault. Post-run feedback without being asked. After a few sessions, he started building training plans too: shaped by my body, the exercise data, and the feedback I give after each run. The pattern extended itself.

The vault as shared state
The four agents don't share memory. They don't communicate directly. What they share is the vault. All four read and write to /opt/vault, the same Obsidian vault that syncs to my laptop and phone via git.
Jones updates the coaching log after a session. Charles can see it in the project MOC. Eva writes competitor profile updates to the intel vault. The vault is the integration layer. Not a message bus. A shared filesystem that each agent reads and writes as part of its normal work.
The sync runs on a simple git loop:

Three layers of memory
The biggest practical change isn't the 24/7 availability. It's how each agent re-establishes context without you doing any work.
Each agent is a new session in Claude Code — you open it, select the agent, and it starts fresh. What makes it feel continuous is the two layers underneath: CLAUDE.md fires immediately and re-establishes the identity, domain context, and startup routine. The vault holds every coaching log, competitor profile, and decision from previous sessions. Jones doesn't remember the last check-in from memory. He reads it from the vault. Eva doesn't recall which competitor we were tracking. It's in the intel files. The conversation history is gone. Everything that mattered was written down.
That creates three layers of memory. CLAUDE.md is the permanent identity: rules, domain context, the startup routine that fires when a new session begins. The vault is the written record: coaching logs, competitor profiles, committed to git after every session. And the conversation history is the live context within a session: the decision we landed on, the follow-up I said I'd do.
Walking into a customer call, I open Eva. She knows the competitive landscape from her CLAUDE.md, has the latest profiles from the vault. No setup. No re-establishing context. Just: continue.
Jones works the same way. After a training session, I open the app and continue where we left off. He knows the plan, the history, the open questions. When a new session does start, after a restart or a /clear, CLAUDE.md fires and he re-establishes from the vault. Either way, nothing is lost.
This is also the answer to context limits. Long sessions fill up. When they do, /clear empties the conversation history. CLAUDE.md reloads on the next message, the vault holds every decision and log entry, and the agent is fully operational again within one exchange. The identity is in the file. The knowledge is in the vault. The conversation history is the only thing that doesn't survive, and the vault was capturing the important parts all along.
The hybrid model
The laptop stays primary. Intensive sessions, full vault operations, writing, coding: all on the workstation with Charles at full capacity. No sync lag, the complete second brain, all MCP tools.
The remote agents extend the reach. Quick competitive read before a call, coaching check from the phone after a ride, a vault question from the couch. The handoff before switching is one step: commit and sync the vault from the laptop, then pick up on the phone. Thirty seconds.
Not replacing the workstation. Extending it to wherever I actually am.
Running while you sleep
24/7 availability isn't just about being reachable on your phone. It changes the direction of the conversation.
An agent that runs on your laptop only runs when you ask it something. An agent on a server can run on a schedule, without you initiating anything.
The infrastructure is in place. The next step is using it that way. Daily planning pre-check at 06:30: pull the vault, check overdue tasks, surface what needs attention before I open my laptop. Weekly competitor scan on Sunday night: Eva checks for product updates, pricing moves, press releases — summary ready before Monday morning. Weekly Garmin vs. training plan check: compare what Jones prescribed against what actually happened, flag the gaps. Notion inbox processing at midnight: pull new items, route them to the vault, commit and push while I'm asleep.
Reactive AI answers questions. Proactive AI handles work. The server is what makes the second half possible.
Specialization is the CLAUDE.md principle at scale
Article 4 made the case that a shorter, focused CLAUDE.md produces more reliable behavior than a comprehensive one. Past 200 lines, consistency drops. The 200-line limit exists because surface area is a liability. More file means more instructions competing for attention, more ways to drift.
The same principle applies at the agent level. The reason for splitting isn't just focus. It's the usage model. Charles at the laptop, full context, any domain: that works. The remote agents solve a different problem. Zero setup on mobile. Persistent sessions that accumulate per domain. Three layers of memory that survive even a context reset. One agent trying to do all of that across every domain collapses the boundaries that make each layer useful.
Four agents, each with a focused CLAUDE.md, each writing to the same vault, each maintaining its own conversation thread. Charles knows the vault. Eva knows the market. Jones knew the race. Sam knows every run.
Back to that train to Amsterdam. Client call in 90 minutes. I opened Eva. She knew the competitive landscape, had the latest profiles from the vault, surfaced the positioning angle we'd worked through the week before. No context dump. No catching up. The question I was going to ask had already been answered.
That's what 24/7 actually means. Always on. Always ready.
The Second Brain Stack. Episode 10, Phase 3: Changelog.