← Field notes

Open recipe · September 2, 2026

Can one repository instruction set work across four coding agents?

Mostly. Keep the actual rules in one file, use the smallest possible harness pointers, and let a deterministic check—not the agent's confidence—decide whether the job passed.

The small pattern

repository/
├── AGENTS.md        # canonical scope, workflow, and safety rules
├── CLAUDE.md        # points Claude Code to AGENTS.md
├── GEMINI.md        # imports AGENTS.md
├── PROMPT.md        # the fixed task
└── verify.sh        # deterministic acceptance and forbidden-file check

Codex and OpenCode can read the canonical file directly. Claude Code and Gemini CLI receive tiny native pointers. The task, fixture, permissions, budget, and verifier remain unchanged between runs.

Why this beats copied instructions

One policy
A safety or scope change happens once instead of drifting across four long files.
Comparable runs
The harness changes; the job and acceptance criteria do not.
Portable exit
The repository remains useful when a model, subscription, or harness changes.

What is proven today

The public recipe's expected fixture passes, its unsolved fixture fails, its solved workspace passes, and an injected environment file is rejected. That proves the verifier and packaging boundary—not that one agent is better than another.

The cross-harness benchmark is still open. Results will remain unpublished until each named harness and model runs the same fixture with recorded versions, cost, elapsed time, interventions, files changed, and verifier output.

Run it without credentials

git clone https://github.com/Software-Sausage/recipes.git
cd recipes/recipes/portable-agent-repository
./verify.sh

The included proof uses POSIX shell, Python 3, and the standard library. Agent and provider credentials are needed only when you choose to run a harness.

Clone the recipe ↗Browse workflows