Seven agents, one me: running a consulting practice on a multi-agent back office
This says nothing about revenue or client counts on purpose. It is about the system.
I run a small AI-consulting practice. The kind where one person is sales, research, delivery, and the bookkeeping. The standard advice is to hire help or drown in admin.
I did neither. The back office is seven Claude agents with strictly divided jobs, coordinated through a shared knowledge vault. I built it before there was any scale to justify it, on the theory that discipline is cheapest to install on day one, when there’s nothing to migrate and no habits to unlearn.
Some of what came out of it is worth stealing.
One writer per folder
The coordination rule is boring on purpose: every output directory has exactly one agent allowed to write to it.
The outreach writer owns outreach. The deliverables builder owns deliverables. The finance keeper owns the books. The research agent writes nothing at all; it returns findings and someone else files them. And none of them touch the knowledge vault, because the vault has a single writer: a librarian agent every other agent hands material to.
No merge conflicts. No two agents drifting apart on the same fact. When something is inconsistent, there is exactly one author to blame. I’ve seen multi-agent setups where everyone can write everywhere. They turn into a shared kitchen at a startup office.
The vault is the memory, chat is disposable
The vault is an Obsidian markdown wiki: an immutable raw layer the LLM never edits, and an LLM-owned layer of entity, concept, and synthesis pages with typed frontmatter. An append-only log records every operation with a greppable prefix, so “what happened recently” is a grep, not a tool.
Two choices earned their keep.
The CRM is just wiki pages. A prospect is an entity page with pipeline fields in its frontmatter; the pipeline dashboard is a synthesis page computed over those fields. No separate CRM tool, nothing to sync.
And the query workflow offers to file good answers back as synthesis pages, so explorations compound instead of evaporating into chat history. That matters more than it sounds. Most of what an LLM produces in a working session is gone by the next session. Writing it down is the whole game.
The vault also went silently stale once, early on. Sessions happened, nothing got filed, the wiki sat at a hub page for a while. The fix wasn’t trying harder; it was a written sync cadence with explicit triggers: end of session, after any engagement event, weekly, monthly. The failure taught me more than the design did.
Where humans stay in the loop
Written into the agent definitions, not left to runtime judgment. Contract language is always a draft for a lawyer. The finance agent drafts and reminds but files nothing with any authority. Professional-ethics questions get held open for a practitioner instead of improvised. Ingestion discusses takeaways with me before writing.
The two agents whose writing goes in front of other humans run on a stronger model than the five doing mechanical work. Voice is the product in this niche. Everything else is plumbing.
Failure as a checklist, not a memory
Every engagement failure appends to a landmine log, and the log feeds the next engagement’s checklist. Current entries include: a client machine missing a tool I’d assumed was everywhere (setup died at step one), and a product whose name actively steers away the exact person who needs it. There’s a whole essay in that second one.
Two other rules I’d keep in any agent system.
Anything a vendor promises about data use gets verified against the vendor’s own pages at quote time, with the check dated. That’s the one category where remembering is not acceptable.
And sanitization extends past the content to the frame. Demo material is fictional by construction, and the screenshot checklist includes vetting the pixels around the terminal: menu bar, dock, window titles. The case in the terminal is fake by design. The frame edges aren’t.
Where it actually stands
It’s been built, run across real working sessions, and through one real pilot: a solo law practice whose setup is now in daily use for summaries, research, and drafting. It’s young, and its own log says so. I’d rather show you a system that documents its failures than tell you about one that supposedly has none.
Stack: Claude agents (markdown definitions plus playbooks), an Obsidian-format vault, git. That’s it, and that’s a feature.