One Agent Per Project
Why splitting agents by project beats splitting by role
See it work
Placeholder — real preview will be a split-screen diagram of role-split agents vs project-split agents.
Is this for me?
Yes, if you run multiple projects and you're about to set up 'overseer + executor + operator' agents. Stop. That pattern fails under drift. This module teaches the counter-pattern: ONE agent per project, owning everything inside its own lane — marketing, building, support, ops. Fewer agents = clearer context = better output.
What you need
- A Mac or PC
- Claude Code installed (Module 01 walks you through install)
- Module 08 (Autonomous Agent on Telegram) completed — you need at least one agent running
- 2 or more distinct projects (side hustles, products, content brands — anything separate)
This module is 20% setup, 80% thinking. The real value is the pattern, not the files.
Do it
- step 1 / 6
Install the pattern template
Generate install command below → the kit lands in
~/.claude/skills/one-agent-per-project/. It includes aTEMPLATE/folder that's a drop-in starter for any new agent, a sample project-CLAUDE.md, and alaunch-all-agents.shscript for starting every agent daemon at once. - step 2 / 6
List your actual projects
Open a text file and write down every distinct project you run: product, content brand, side hustle, ongoing contract. For each, note: the ONE person it serves (you / a client / a team) and the ONE outcome it needs (ship features / post content / close deals). If two projects share the same person AND the same outcome, merge them.
You should have 1-5 real projects. If it's more, you're spread too thin — pick 5, archive the rest.
- step 3 / 6
Spawn ONE agent per project
For each project, run (from module 08):
Use autonomous-agent-telegram to scaffold a new agent called [project-name] for project [project-name]Name the agent = name the project. Identical. This is the anti-drift move. When you message the agent you know what it knows.
- step 4 / 6
Write each agent's CLAUDE.md to PROJECT SCOPE only
Open
~/your-project/[project-name]/CLAUDE.md. Write a short charter:You are the [project-name] agent. You own ONLY [project-name]. Project priority: [one sentence — e.g. 'ship snoozeproof to app store by [date]'] You handle: marketing, building, support, ops for THIS project. You DO NOT touch other projects — if a task crosses project lines, ping me and I'll decide.10 lines. That's the whole point. The agent's CLAUDE.md is what anchors it in ONE lane.
- step 5 / 6
Set cross-project firewall
In each agent's config.json, add a hard rule: the agent cannot spawn sub-agents for other projects. If the LYRC agent wants to 'help' with Escape 9 to 5, it blocks and pings you. This is the rule that prevents the swarm failure mode.
"rules": { "allowed_projects": ["<this-project-only>"], "cross_project_action": "escalate-to-human" } - step 6 / 6
Measure drift weekly
After 2 weeks, for each agent, grep its session logs for 'off-scope' events (did it try to do something outside its project?). Log the count. This is your drift metric. You want it going DOWN over time, not up.
If an agent's drift count is rising, the CLAUDE.md is too vague. Rewrite it tighter. You'll be shocked how often a 2-line scope addition kills 80% of the drift.
Make it yours
- Only have one project? Still scaffold one agent, but lock it tight. The pattern is how you'll scale when you add project #2 without re-thinking — future you thanks you.
- Agency with multiple clients? ONE agent per CLIENT (not per role). Each client's agent has its own brand voice, constraints, project files. Clients can even DM the agent directly (but give them a separate agent-chat-id from yours).
- Worried about context length? Each agent has its own context window — isolating projects actually saves tokens. You never pay for 'load all 5 projects into one session.' That's the whole benefit.
- Want a 'global' overseer that sees everything? DON'T. This is the trap. The 'overseer' becomes a bottleneck + source of drift. Instead: you're the overseer. Each project agent reports up to you in its own Telegram chat. You do the synthesis in your head.
Stuck?
- Tempted to make a 'coordinator' agent that talks to the project agents.
Don't. This is the exact failure mode the pattern prevents. The 'coordinator' accumulates cross-project context → hallucinates → confuses project agents. YOU are the coordinator. You read 3 Telegram chats. That's the job.
- Project agent trying to do work outside its scope (e.g. LYRC agent drafts Escape 9 to 5 copy).
Its CLAUDE.md is too open. Add explicit negatives: 'You do NOT work on Escape 9 to 5. If asked about Escape 9 to 5, decline + ping Loya.' Agents follow explicit negatives much better than vague 'stay on scope.'
- Want two humans to collaborate — one agent with 2 operators?
Fine — add both chat IDs to the agent's allow-list in config.json. Agent messages both on output. But keep the project scope the same. Don't blur scope just because you added people.
- Running lots of agents is draining Claude credits.
Only the ACTIVE agent (the one you're messaging) uses credits. Idle agents waiting on a cron fire zero tokens. If bills are high, you're not hitting this problem — you're hitting the 'I'm messaging agents all day' problem. That's on you.
- Can't tell my agents apart in Telegram — who's who?
Give each agent a distinct bot identity (different @BotFather bot) + a colored emoji in its system prompt's response prefix ('🟢 LYRC:'). Visual separation = cognitive separation.
💰 money moves that use this
all money moves →- ★ requiredAI agency generalist
Bespoke AI agents and automations for mid-size companies. Higher-touch, higher-ticket cousin of the local-biz play.
- AI companion / character-as-a-service
Niche AI companion w/ persistent memory + voice. Character.ai is saturated; specific niches still wide open.
- Claude Code for local businesses
Install Claude Code at a plumber, lawyer, or clinic. Build them custom workflows. Hourly retainer + monthly fee.
- Faceless SaaS micro-app
Find a sharp insecurity or repetitive pain. Wrap it in a single-purpose AI app. Charge weekly. Stack 5-10 of them.
- Live cohort / coaching wrapped around Claude Code
Run a 4-6 week paid cohort teaching operators to ship w/ Claude Code. Higher ticket, higher touch, more leverage.
- Playbook aggregator (meta)
Build YOUR own version of Money Moves — daily AI scan + curated $$ patterns + paid tier. The receipts ARE the product.
Next up
Now you know WHEN to have one agent vs many. Module 10 is the bot-pipe layer underneath — how to build whatever bot pipelines you actually need (sends, receives, agent-to-agent messages, webhook handling) without a heavy framework.