Our agents · Articulate · Dubai · Updated June 2026

How we actually run our agent team

We run 20 agents across 8 pods on a single operator. Here is the architecture, the roster, the model routing, and what we learned building it.

20
Active agents
8
Pods
1
Orchestrator
$0
For local-data tasks

The principles we actually follow

Not theory. The rules that emerged from shipping and breaking things.

The single rule
Start simple. Add complexity only where the data demands it.
Every over-engineered agent system we've seen — ours included, early on — failed because it was built to look impressive rather than to work. The teams that ship reliable agent systems in 2026 aren't the ones with the cleverest orchestration topology. They're the ones who instrumented heavily and let failure patterns drive the architecture.
01
Orchestrator-workers, not chaining
One agent decomposes the brief, routes to specialists in parallel, runs the gates, and synthesises. Serial chains fail silently and are impossible to debug. The orchestrator owns sequencing; workers own judgement in their lane.
Source — Anthropic, Building Effective Agents (Dec 2024)
02
Model-per-task routing, not one model for everything
Judgement runs on Opus. Coordination and craft run on Sonnet. High-volume mechanical triage runs on Haiku. Local-sensitive data (client files, personal finances) runs on local Ollama at $0. Mixing these up costs 30× and halves quality simultaneously.
Source — Articulate operating model · OpenRouter
03
Non-overlapping charters, not role soup
Every agent has a written charter with an owns/does-not-own split. When two agents could theoretically handle a task, the charter decides — not the operator's mood in the moment. Ambiguity is where agents thrash and quality degrades.
Source — Articulate charter discipline · agent definition files (CLAUDE.md)
04
Gates before ship, not after
Four standing gates run before anything leaves the building: Kendall (adversarial plan review), Belinda (brand), Roger (visual), Pete (PDF). Gates are not bureaucracy — they're the mechanism that lets agents move fast without breaking things that matter.
Source — Articulate gate discipline
05
Context engineering over prompt engineering
What enters the context window is a system design decision, not a drafting decision. Agents read their charter, their corpus, and the relevant project state — not the entire vault. We use ChromaDB on local hardware to serve the right 3 chunks, not 30 files.
Source — Anthropic, Effective Context Engineering (2026)
06
Data sovereignty by default
Client data and personal data never leave the box. GIG Gulf's customer files, personal finances, private correspondence — all routed to local Ollama (qwen3:14b on a Mac Studio, $0/call). Cloud frontier models get everything else. The routing table makes this automatic, not a judgement call each time.
Source — Articulate data-lane rules · Agents/README.md

The architecture

Orchestrator-workers. One main agent decomposes and routes; specialists execute in parallel; gates run before synthesis.

Incoming brief
Orchestrator
MotherMary
Decompose · Route · Gate · Synthesise
Dispatches to specialists in parallel →
/will
WilliamShakespeare
copy & voice
/dylan
DylanDesignDirector
visual
/connie
ConnieConsultant
analysis
/scotty
StarTrekScotty
build & deploy
/sebastian
SuperSebastian
stack & canon
+15 more
Specialists
per brief
Gates before output →
/kendall
KendallRoy
adversarial review
/belinda
BelindaBrand
brand gate
/roger
RogerDeakins
visual gate
/pete
PetePDF
PDF gate
→ Anthony
Runtime

All agents run as Claude session personas using the native Claude Task (subagent) tool — no LangGraph, no framework. Anthropic's own guidance: start simple, reach for frameworks only when you have an always-on headless requirement that justifies the overhead. We don't yet. The vault (~/ClaudeWork/) is the persistent brain. Agent definition files (CLAUDE.md per agent) are the identities. Scheduled tasks (crons) handle always-on behaviour.

The roster

20 active agents across 8 pods. Source of truth: Agents/README.md in the vault.

Orchestrator
MM
MotherMary
/mm
The orchestrator and principal Fable operator. Receives the brief, decomposes, routes, runs the gates, synthesises. Owns canon control and today.md. She runs the machine — she does not decide what's good.
Sonnet (coord) Opus (ambiguous calls)
Creative pod
WS
WilliamShakespeare
/will · /crow
Copywriter and brand-voice gatekeeper. Every word that ships under Articulate goes past him. Owns the de-Claudification pass and the four-question voice test.
Opus (final)Sonnet (drafts)RAG 60%
DD
DylanDesignDirector
/dylan · /trippled
Visual identity, typography, image direction. Absorbed TimothyType (2026-06-10). Owns the look-or-no-look ruling and the prompt anchor library for AI image generation.
Opus (ruling)Sonnet (production)
BB
BelindaBrand
/belinda
Brand sign-off gate for every external artefact. Final yes/no on anything that leaves the building. Default to scrutiny, not approval. The throat to choke.
OpusRAG 60%
RD
RogerDeakins
/roger
Cinematography reference and visual gate. Forces image-critique before any visual ships — opens the actual file, checks at real and thumbnail size, never signs off from intent.
Opus (ruling)
BJ
BenjaminBetter
/benjamin · /publish
The Better Tribe editorial brain. Decides what is good, what's useful and interesting, what goes in and what decays. Owns the P/Q/S scorecard and the weekly refresh cron.
Opus
PP
PetePDF
/pete
PDF production gate. Expert in PDF best practice — the gate that runs before any PDF ships. Nothing in PDF format bypasses Pete.
Sonnet
Analysis pod
CC
ConnieConsultant
/connie
Internal analyst. MECE, Minto, baseline-first. No directional answers without the baseline. Owns the quantitative rigour on client engagements — the numbers that go in proposals are hers.
Opus
Build pod
SS
StarTrekScotty
/scotty
Infrastructure, all git, deploy execution and post-deploy QA. Absorbed GavinGit and DickyTheDeployer (2026-06-10). All deploys route through cwdeploy — the script is the enforcer.
Sonnet
Review pod
KR
KendallRoy
/kendall
Adversarial reviewer. Cross-cutting evaluator — auto-fires on any plan-shaped language. Default-NO. Finds holes before the client does. Must run on a model capable of finding the holes, not rubber-stamping.
Opus
Services pod
SB
SuperSebastian
/sebastian · /seb
Stack and canon authority. The orchestrator calls Seb to resolve "how / which skill" — grep the skill, read it end to end, then act. Owns toolbox.md, model selection, gap analysis, and the external benchmark.
Opus (strategy)Sonnet (plumbing)
Ops pod
DD
DaisyDiary
/daisy · /diary
Diary and calendar EA. Owns daily brief cron, conflict detection, focus-block defence. Google Calendar MCP. All diary work routes to Daisy, not MotherMary — a lesson that cost us 10 minutes to learn.
qwen3:8b local
Specialists pod
AN
Anselm
/anselm
SEO and GEO. Four-layer structured audit — methodical, not frontier. Owns search visibility and the answer-engine positioning work.
Sonnet

Model routing

The routing table that governs every agent invocation. Judgement on Opus. Coordination on Sonnet. Volume on Haiku. Sensitive data on local Ollama.

Persona Model Why
MotherMary — orchestrator Sonnet Coordination and dispatch run constantly — needs reliability and speed, not frontier. Escalates to Opus on genuinely ambiguous routing.
BenjaminBetter — editorial brain Opus Editorial judgement, P/Q/S scoring, keep/cut calls. Low frequency, highest stakes.
KendallRoy — adversarial Opus Must find the holes. A weak model rubber-stamps — the entire point of Kendall is the quality of the critique.
BelindaBrand — brand gate Opus Final external brand judgement. The throat to choke — needs to be right every time.
WilliamShakespeare — copy Opus final · Sonnet drafts Voice is the product. De-Claudification is frontier work. Draft on Sonnet, finish on Opus.
DylanDesignDirector — visual Opus ruling · Sonnet production The look-or-no-look ruling is judgement (Opus). Production passes are Sonnet plus image tools.
ConnieConsultant — analysis Opus The baseline maths and MECE structure — no directional answers without frontier rigour.
SuperSebastian — stack Opus strategy · Sonnet plumbing He owns model selection itself (meta) — Opus for strategy; Sonnet for the wiring.
StarTrekScotty — infra Sonnet Infra reasoning and failure debugging. Methodical, not frontier.
Anselm — SEO Sonnet Structured four-layer audit — reliable, not frontier.
DaisyDiary — calendar EA qwen3:8b local Diary content stays on-device. Personal scope. $0/call. Equivalent to Haiku 3.5 for triage work.
Daily harvest crons Haiku High-volume scrape and parse. ~1/30th the cost of Sonnet. The lever that keeps the daily machine cheap.
GIG client agents (7 agents) qwen3:14b local Client data never leaves the box. Air-gapped Ollama on Studio. $0/call. Escalation path to qwen3.5:35b-a3b (≈ Sonnet-class) when needed.

The stack

What actually runs the machine.

Runtime
Claude (native Task tool)
No LangGraph, no framework. Anthropic: "start simple." The Task tool IS the subagent pattern.
Vault / brain
~/ClaudeWork/
Single source of truth for all agents. Agent definition files live here. Mounted per session.
Local inference
Ollama on Mac Studio M2 Ultra
qwen3:8b · qwen3:14b · qwen3.5:35b-a3b · nomic-embed-text. LiteLLM gateway at :4000 over Tailscale.
Vector store / RAG
ChromaDB on Studio
nomic-embed-text embeddings. Collections per agent. Query via rag-query.py. Will + Belinda at 60%.
Scheduling
Claude Cowork crons
Daily hype-radar (07:30 Dubai), weekly review (Sunday 09:00), daily diary brief.
Model routing
OpenRouter
Single key across all cloud-model agents. Haiku for volume, Sonnet for craft, Opus for judgement.
MCP layer
20+ connectors
Airtable, Calendar, Gmail, Airtable, Vercel, Firecrawl, X/Twitter OAuth, Higgsfield, ElevenLabs, WhatsApp.
Deploy
cwdeploy → Vercel
All deploys through the script, not assembled by hand. Script is the enforcer, not discipline.

What we learned

The failures that shaped the current setup. Logged in failures.md; distilled here.

01

Know your own roster

We spent 10 minutes in a session asking MotherMary to manage the diary, because we'd hardcoded 11 agents in the bootstrap and DaisyDiary wasn't on the list. The fix: Agents/README.md is now the first mandatory read of every session. If you add an agent and don't add them to the bootstrap, they don't exist.

02

Never sign off from intent

Five image-generation sessions were signed off from intent rather than by actually opening the file. The rule now: before any rendered image is called "done," image-critique runs — opens the file, views at real and thumbnail size, checks line by line. Looking is a measured claim, not a feeling.

03

Discipline-only gates fail under speed

Any check that's needed 3 or more times becomes a code gate, not a reminder. The third invoke is canon owing a hook, not another "remember to." We have too many "remember to" rules that should be enforced by the harness.

04

Serial chains don't fail loudly

Our original setup chained personas — Seb → Kendall → execute. When Kendall was skipped once (session pressure), we had no visibility. The orchestrator-worker model with explicit gate steps makes skipping a gate a visible architectural violation, not an easy shortcut.

05

The harness can silently degrade

Claude Code shipped an April 2026 regression that broke agent behaviour without warning. Your agents are only as reliable as the harness they run on. Test the harness, not just the agents. A scheduled task that silently stops running looks exactly like a scheduled task that's working fine.

06

The operator is not the observability layer

If an agent needs the operator to paste a key, run a command, or confirm a URL, the agent has already failed. Build probes, not requests. The measure of an agent is whether it can verify its own output without the human in the loop. If it can't, it's not an agent — it's a co-pilot with extra steps.