1/
I mostly build with Claude and Codex, and each of them runs a few different roles. I want to build my own AI team, called Novi. But first, the rules they work by need to hold up. First post of my 0β1 series: 3 weeks of fixing those rules, and the mistakes along the way π§΅
Treating them like employees is exactly what worked for me. I run 11 Grok Bots, each with one job (X, email, health, game design...), and one of them hands out work to the others. The trick was the same as onboarding a new hire: give each one clear rules and a clear lane.
Follow-up: I tested it myself. Put a harmless AGENTS.md in a fresh empty folder (it just told the agent to start its reply with a code word). Both Claude Code and Codex did it.
The catch: it only kicks in if you launch the agent inside that folder. Just having the file downloaded does nothing.
One difference: if a parent folder already has a CLAUDE.md, Claude Code skips AGENTS.md.
So now I only start agents in my project folders, and when one asks if I trust a folder, I don't just click yes lol
I share one AGENTS.md between Claude Code and Codex at home, and this made me realize I've never checked which folder my agents actually start in. Curious: does anyone have their agent confirm which AGENTS.md it loaded before doing anything?
Holy Shit. A malicious website can plant a simple markdown file in your Downloads folder. An AI coding agent launched there can follow the attacker's instructions without you ever opening the file.
Forever Security caught a real attack on a customer's computer: an AI coding agent followed instructions in a malicious AGENTS.md file in its Downloads folder and tried to install a malicious npm package.
The researchers then reproduced the attack against OpenAI Codex and Anthropic's Claude Code:
-Codex succeeded in over 90% of tests, bypassing its sandbox and rewriting machine-wide configuration so malicious commands could persist across future projects.
-Claude Code was compromised in roughly 50% of tests, redirecting API traffic to an attacker-controlled server, exposing OAuth tokens and allowing attackers to impersonate the model and send executable commands.
The researchers say: "There is nothing here for OpenAI or Anthropic to patch."
The agent is doing exactly what it was designed to do.
@setupbay Oh nice, having it say the first heading too is smart. I just tested a harmless AGENTS.md in an empty folder and both Claude Code and Codex followed it, so this check makes even more sense now π
@poteto@shaoruu Same here! My Grok bots hand tasks to each other, and they talk to my Claude/Codex setup at home through a shared mailbox. Fun to watch them work it out lol
@alexander_jais@hotragn@AlexChhk@itsjankoenig@lazeskid Thanks for the tag! The "one builds, one checks the plan, one checks quality" split is really clean. Curious, how do you keep the rules each fresh agent gets in sync? That's been my biggest headache lol
11/
Still working on: the lower-usage version just went live and hasn't been tested yet. Old tickets aren't on the new format yet either. Once this settles down, I'll start building Novi itself.
10/
Mistake #4, found today: a simple read-only test burned through 500k tokens, and the AI went off to fix a display issue first. kinda backwards lol. The order now: make it work, then keep usage sane, then fix the visuals.
9/
A few smaller mistakes:
β’ Background scripts kept popping up black windows, so I literally couldn't type lol
β’ A paused ticket was ready to start, but nobody noticed
β’ One item had 14 sources, the checker only allowed 10, so the whole result got thrown out
8/
Mistake #3: Once Claude ran out of usage, so I had Codex cover for a bit. They took it as "Codex handles this from now on." Now it's clear: whoever I call on answers. If usage runs low, they tell me. they don't just swap on their own anymore.
7/
Mistake #2: The AI checked a small part, then told me "all good." Everything it didn't check just slipped through. Now before it stops, it has to look back at what's still unchecked.
6/
Mistake #1: I capped handoff cards at 3,000 characters. With that limit, the cards were never quite complete, and over time the work slowly drifted off track. I dropped the limit. Now important things go first, details go after.
5/
No matter how many rules I write, the AI still forgets. So now a script checks things every time a session starts: a ticket with no status, a handoff card turning into a diary, someone else's half-finished changes not saved. If something's off, it gets flagged. so I don't have to rely on it remembering.
4/
Handoff cards only cover what's true right now. The history goes back into the ticket. Keep it short, rewrite when things change. old stuff gets moved over, not deleted.
3/
Each ticket starts with a short "where we are now" section. When things change, I rewrite it instead of adding more. Every log entry gets a one-line takeaway as its title, so whoever picks it up only needs to read the top and the titles.
2/
First, Claude and Codex read the same rules file. Otherwise every rule lives in two places, and one always gets missed. It used to be 50k characters to read at the start of every session. I cut it under 30k. Before adding a rule now, I ask: is this already covered? What mistake does it prevent, and when can I delete it?
1/
I mostly build with Claude and Codex, and each of them runs a few different roles. I want to build my own AI team, called Novi. But first, the rules they work by need to hold up. First post of my 0β1 series: 3 weeks of fixing those rules, and the mistakes along the way π§΅