Multi-agent setup for Claude Code, Codex & Gemini CLI

Same rules. Every agent.

Tired of rules one agent follows and another never reads, commits landing on another agent’s branch, or API keys pasted into the chat? The Agent Setup Pack gives every agent the same rules and its own folder, and hands over keys outside the chat.

$39. Every pack, now and later: $149.

Works with

  • Claude Code
  • Codex
  • Gemini CLI
  • Cursor
  • Windsurf
  • Aider

Fit check

Is this for you?

It’s for you if

  • You use more than one AI coding tool, like Claude Code and Codex, on the same projects.
  • You run several agent sessions on one project and need their work kept apart.
  • You give agents API keys and want them kept out of the chat.

You’ll need

  • Claude Code, Codex or Gemini CLI, or any tool that reads AGENTS.md, such as Cursor.
  • A project in git and a terminal with bash. Some scripts also use jq or python3.

Skip it if

  • You use one agent in one tool, and never hand it a key.
  • A leaked key would be a reportable incident. That needs a real secrets manager.

Sound familiar?

Has this ever happened to you?

Tap every one you’ve lived through.

Nothing yet? Lucky you.

Why it keeps happening

Blind to each other.

Each tool reads its instructions from a different file, and each commits to whatever branch its folder is on. Two agents in one folder share that branch without knowing. And when an agent needs an API key, it asks you to paste it into the chat.

So you keep them apart by hand. You copy each rule into three files, check which branch every commit landed on, and untangle the ones that landed wrong. And every key pasted into a chat is a key you now have to rotate.

What the detector said

Nothing at all: no output, exit 0. The same answer it gives when nobody else is there.

What was true

Five sessions were working one repository. Three committed in its shared main checkout, eight commits in all, one of them eighteen seconds after running the check.

One measured day: every session had been opened in a folder that wasn’t the repository, and the detector answered “couldn’t look” with the silence it used for “alone.”

The fix

Share rules, not folders.

The Agent Setup Pack is three skills your agents load and scripts they run. You get a report you can read: which files each tool loads, who else is working in the repository, how long a saved key is. Never the key itself.

  1. One rule set, every tool

    A managed block in AGENTS.md, the one line Claude Code needs to read it, and a check of what each tool actually loads.

  2. A folder for each agent

    Each agent works in its own git worktree. A detector names the other sessions, and git refuses a commit in the shared checkout.

  3. Keys that skip the chat

    Two one-line steps: a private file first, then a hidden prompt that confirms only the length. The agent uses the key without reading it.

Proof

Real runs of the download.

Each shot is a run of the shipped zip, unzipped fresh, with its output copied line for line. The first and third are self-tests; the second commits in a shared checkout, and git has to refuse it.

[ Range card ] // What we aimed for, what came back
  1. [ Shot 01 ]

    write-global-rules.sh --selftest

    Aimed: plant an edited rule and a missing one; both must be caught

    ok edited block: refused, exit 1, file unchanged

    ok check: a block present in one file only → exit 1, names it

    17 cases behaved as designed

    Landed where it was aimed // exit 0

  2. [ Shot 02 ]

    git commit -q --allow-empty -m refused

    Aimed: commit in the main checkout of a shared repo; git must refuse

    pre-commit: REFUSED — this is the MAIN checkout of repo, and it is shared:

    - 1 linked worktree(s): ../repo-sibling

    HEAD here belongs to the directory, not to you; any of them can commit here too.

    Landed where it was aimed // exit 1

  3. [ Shot 03 ]

    secret.sh --selftest

    Aimed: plant a two-line value and a trace; both must be stopped

    ok a value of two lines: refused, exit 1, the stored value untouched

    ok bash -x on step 2: the trace stops at the first line, so the value is not traced

    50 cases behaved as designed

    Landed where it was aimed // exit 0

Who it’s for

Built for people with more than one agent.

For
Developers and small teams who use more than one AI coding agent or tool (Claude Code, Codex, Gemini CLI, Cursor), run several sessions on one repository, or hand agents API keys.
Best fit
Adding a second tool or a second session to a project, onboarding a teammate who uses a different agent, or agent settings that live on one machine only.
Works with
Claude Code, Codex and Gemini CLI, which it checks by name, and any tool that reads AGENTS.md: Cursor, Aider, Windsurf and others. The scripts need bash and git; some use jq or python3.
Not for
One agent in one tool with no keys to hand over. Or keys whose leak would be a reportable incident: those belong in a real secrets manager, not a folder on disk.

Each skill came from a real failure.

Three skills, one job each. Start with the one that fits what just went wrong.

Explain it
  1. config-doctor.sh --loads . --tools claude,codex

    TRAP CLAUDE.md is present without an @AGENTS.md import: Claude Code will not read AGENTS.md here (unless Project instructions is set to include it; this check cannot see that setting).

    Result: DIVERGENT under default settings: Claude Code misses an AGENTS.md that another tool reads here.

    Fail

    Every agent reads the same rules

    Puts one set of rules in front of every tool. It adds the line Claude Code needs to read your AGENTS.md, shows which files each tool actually loads, and keeps optional global rules in step across tools. One of them keeps long sessions cheap: compact early, at a break, with the setting for each tool.

    • universal-agent-setup
  2. peers.sh --cwd repo --self me --exit-code

    PEER AI SESSIONS DETECTED — see the multi-agent-workflow skill

    Live in the SAME WORKTREE as you — shares HEAD, the index and the working tree:

    - claude peer-sam on `main`, active 0m ago

    Fail

    Several agents, one clean history

    Gives each agent its own folder, so their commits can’t land on each other’s branch. It spots other agents already working, even in another tool, and git itself refuses a commit in a folder they share.

    • multi-agent-workflow
  3. secret.sh set demo-acme.token

    Paste the value for demo-acme.token (typing is hidden), then press Enter:

    saved demo-acme.token: 26 characters.

    Tell your agent it is saved. Never paste the value into a chat.

    Pass

    Keys handed over outside the chat

    When an agent needs an API key, it hands you two one-line steps: the first makes a private file, the second asks for the key with typing hidden and confirms only its length. The agent then uses the key without reading it.

    • secret-handoff

What’s in the pack

Every skill, with its job in one line. Each one works with any agent that can read a file and run a command.

  • universal-agent-setup

    One rule set, every agent

    Rules every tool reads, the line Claude Code needs for AGENTS.md, and a check of what each one loads.

  • multi-agent-workflow

    Several agents, one repository

    A folder per agent, a detector for other sessions, and a git hook refusing commits in the shared checkout.

  • secret-handoff

    Keys without the chat

    Two one-line steps hand an agent an API key, and it uses the key without ever reading it.

Where it lands, and what it proves.

One download: three skills your agents load, an installer that writes the rules where each tool reads them, and the checks and planted failures that prove the rules land and the guards fire.

agent-setup/

  • .claude-plugin/
    • plugin.json
  • agents-md/
    • global-snippet.md
    • README.md
    • repo-stanza.md
  • ci/
    • agents-skills.mjs
    • pack.json
    • secrets-skills.mjs
    • skill-frontmatter.mjs
    • verify.sh
  • docs/
    • how-it-works.md
  • examples/
    • negative-control-peers/ · 8 files
  • hooks/
    • hooks.json
  • CHANGELOG.md
  • install.sh
  • LICENSE
  • README.md
The files in agent-setup/, as the download ships them.

An installer, rules to paste, and the proof

Unzip it anywhere. install.sh copies the skills into Claude Code’s skills folder. On request it writes the managed stanza into a repository’s AGENTS.md (--agents-md), adds rule blocks to a tool’s global file (--global), or installs the git floor (--hook), chaining any hook already there. The rule writers change only their own marked blocks.

agents-md/ holds the same rules as plain text to paste by hand, and hooks/hooks.json wires the multi-agent guards for the plugin install. examples/negative-control-peers/ plants fake sessions for the detector; ci/verify.sh runs every check the pack ships. docs/how-it-works.md is for you: every way past the floor.

Make it fail before you trust it.

A detector that says nothing when it couldn’t look is a placebo. The checks here ship ways to make them go red: planted peer sessions, an edited rule block, a two-line paste. Run those first. If one stays quiet, don’t trust its silence on your own project.

Show the commands and what they print

Run the broken examples

Shell
# run from any folder, with the Agent Setup Pack unzipped at /path/to/agent-setup/path/to/agent-setup/skills/universal-agent-setup/scripts/write-global-rules.sh --selftest   # plants an edited block and must refuse to overwrite it/path/to/agent-setup/skills/secret-handoff/scripts/secret.sh --selftest   # plants a two-line value and must save nothingbash /path/to/agent-setup/ci/verify.sh   # plants peer sessions and a shared checkout, and must catch every one

The first plants a rule block edited by hand and a file missing one: the installer must refuse to overwrite the first and name the second. The second feeds step 2 a value of two lines, which must be refused. The third plants Claude Code and Codex sessions and a shared checkout, and each must go red.

A gate that has never failed is not evidence.

Works with the agents you already use.

The skills are plain text files your agents read. The scripts are commented bash, and they run only on your computer.

  • Claude Code
  • Codex
  • Gemini CLI
  • Cursor
  • Windsurf
  • Aider
Shell
claude --plugin-dir /path/to/agent-setup

The plugin wires the multi-agent guards for you: nothing to paste.

Bash and git. The peer detector and its hooks use jq; the rule writers and --loads use python3. Only the checks in ci/ need Node.

Everything the scripts touch

Your agent tools’ session files
Read only, to spot other sessions: folders, branch names and times. Never your conversations.
Your repository’s git hooks
Only with --hook: two small stubs that chain any hook already there. A repository that sets core.hooksPath is never written to.
Your instruction files
The writers change only their own marked blocks, and --dry-run shows the change first. Your own text is never touched.
A private key store
Reads and writes only its own folder, outside every repository. Only get prints a value, for use inside $(...).
Your config repository
The doctor reads files and git state. Install links files into place, moving anything in the way aside, and sync copies back what a tool rewrote. None of them commits or pushes.
The network
No telemetry, no license check, nothing phoning home. The one network call is the doctor fetching your own config repository’s remote.

Commented bash, and nothing compressed into a blob. Read a script before you let an agent run it; that goes for these too.

One payment. Yours forever.

Agent Setup Pack

$39.

  • One company, team or solo operator
  • As many computers and projects as you like
  • Change and adapt it freely
  • Keep the version you bought, forever
  • No subscription
  • Every future version of the Agent Setup Pack included
  • 14-day refund, no questions

Please don't resell it or share it outside your company.

All-Access Bundle

Every pack, now and later.

Spotter Round, the Agent Setup Pack, the Email Pack, the WordPress Pack, the App Stack Pack and the Campaign Tracker Pack, plus every pack added after them, each with every future version.

$149.

The six separately: $234

Get every pack — $149

Questions before you buy.

Which pack do I need?

Spotter Round if an agent writes your web pages: it proves the work before and after it ships. The Agent Setup Pack if you use more than one agent or more than one tool, or hand agents API keys. The Email Pack if you send HTML email. The WordPress Pack if you build on WordPress with Bricks. The App Stack Pack if you build web apps on Cloudflare Pages, Supabase or Stripe, or use SureContact or OttoKit on any site, WordPress included. The Campaign Tracker Pack if you run ads and want short links, leads, purchases and cost per lead tracked from the server, on any site behind Cloudflare. The All-Access Bundle is every pack, now and later, for less than the six together.

Does this work with Codex, Cursor, Gemini CLI, Aider, Windsurf?

Yes. The skills are plain text files and the scripts are plain bash, so any agent can run them. Claude Code loads the skills from its skills folder. Codex, Cursor and the rest read the stanza this pack writes into your repository's AGENTS.md, and Gemini CLI reads that file once its settings name it.

Doesn’t Claude Code read AGENTS.md now?

Since version 2.1.277 (2026-09-18), yes, but only when no CLAUDE.md, .claude/CLAUDE.md or CLAUDE.local.md sits in the working folder or above it. If one does, Claude Code reads the CLAUDE.md files alone, and nothing says so. write-agents-md.sh --claude-import adds the one line, @AGENTS.md, that fixes it for everyone who clones the repository, and config-doctor.sh --loads shows what each tool loads.

Will it change my CLAUDE.md or AGENTS.md?

Only inside its own marked blocks, and only when you run it. The AGENTS.md stanza and the global rule blocks sit between begin and end markers: a re-run updates them in place and leaves the rest of the file alone, --dry-run shows the change first, and a block you’ve edited is refused, never overwritten. --claude-import adds one line to an existing CLAUDE.md and never creates one.

Does it still work when my agent auto-approves everything?

The floor does. Hook-level guards can only ask, and an auto-approve mode approves them unseen: measured on 2026-09-12, the ask fired and the commit ran in the same second. The floor is a git hook. Git has no auto mode. It refuses instead of asking, for every tool.

Does it send anything anywhere?

No tracking, no license check, no analytics, nothing phoning home. The scripts make one network call, and only when you run config-doctor.sh doctor: it fetches your own configuration repository’s remote to see what isn’t pushed. You can confirm that yourself: the scripts are commented bash, meant to be read.

What do updates look like?

Numbered downloads with a list of what changed. Every future version of the Agent Setup Pack is included at no charge, so you never pay for a new version, and you are never forced to update.

Can I use it for client work?

Yes — that's what it's for. One company covers every project that company delivers.

Refunds?

Fourteen days, no questions. A product about checking things that argued with you over a refund would be a poor advertisement for itself.

Stop refereeing your agents.

Sold separately

Five more packs. One job or stack each.

Each pack is sold on its own and ships its own checks, the same way this one does.

Spotter Round$39
Email Pack$39
WordPress Pack$39
App Stack Pack$39
Campaign Tracker Pack$39
All-Access Bundle$149

Spotter Round

$39

The layout, the pixels, the speed and the live deploy: your agent’s work, proven before it says it’s done.

1 / 6