An agency running more than a hundred and fifty clients gives the routine half of the work to agents, and nothing reaches a client ungraded.
Nothing reaches a client ungraded. C goes back with the reason attached.
The situation
How this used to work
A launch email for a client once went out directly, without review.
That is the whole origin of the first rule in this system, and it is why the rule is absolute rather than a preference. Every email the agency's AI writes is a draft. There is no send. Not for routine follow-ups, not for anything.
A system that can act on the outside world needs its limits set from a real incident, not from a risk workshop.
What we built
The system
The agency workspace itself: an orchestrator, eight agents, twenty four commands and forty three skills, running a web agency with more than a hundred and fifty clients.
The agents are the org chart. Account manager, brief maker, copywriter, designer, developer, financial, QA and sales.
Three rule files load on every single session and cannot be skipped: routing decides who gets the work, quality gates decide whether the work ships, escalation decides when the machine stops and asks a person.
How it works
The pipeline, step by step
The task finds its agent
A request routes by what it is, in either language the agency actually works in. Bigger jobs run as sequences: a full website goes account manager, then copywriter, then brief maker, then designer, then developer.
A table that loads on every session, so nothing is routed by mood.
Nothing reaches a client ungraded
Every deliverable gets reviewed against per-agent criteria and graded. A or B ships. C goes back to the agent with specific feedback. D or F goes back and escalates to a human.
The reviewer is never the author
QA audits, the copywriter rewrites, and the two never merge. An agent reviewing its own output does not find its own faults, it explains them. This was learned the expensive way and written down.
Five reasons to stop
Missing prerequisites, money or bad news, a repeated quality failure, an ambiguous instruction, or a change to the system itself. Any of them and the work stops and asks rather than guessing well.
Each reason with the consequence attached, which the sentence cannot hold.
The lessons persist
Learnings, patterns, client preferences and past failures live in files that outlive the session, so a mistake made once in April is still avoided in July.
What changed
The result
One agency, more than a hundred and fifty clients, and the boring half of the work done by the system.
The rules got stricter as it grew, not looser. Every hard limit in there traces to something that actually went wrong once.
The stack
Runtime
- Claude Code
- 8 agents
- 24 commands
- 43 skills
Connected
- Gmail
- Google Drive
- Docs
- Sheets
- Calendar
- Notion
- Slack
- Airtable
Rules
- routing
- quality gates
- escalation
- persistent memory