One source configures Claude Code and Codex
An inspected agent configuration shared by Claude Code and Codex: immutable releases, 4 execution layers, BM25 skill routing and the gaps found. Full report to read online.
Written by Florian Bruniaux
AI Founding Engineer at Méthode Aristote, 13 years scaling engineering teams from developer to CTO. Builds open-source developer tools, see what else I've shipped.
Full report
- Version
- 3.0.0
- Edition
- September 22, 2026
- Weight
- 4.1 MB
≈ 58 min read · full report
Estimated from the full report: 130 words/min + 30 s per code block. Excludes videos, external links and hands-on exercises.
The report opens in a new tab, with its own layout, search and glossary. Once loaded, it reads offline.
What you'll set up
- ✓ Where a rule belongs: instructions, skill, hook or permission
- ✓ How one release feeds 2 agents without 2 diverging copies
- ✓ How a lexical BM25 router picks skills, and where it goes blind
- ✓ The 3 gaps an inspection found, and why none of them raised an error
Prerequisites
- → Daily use of Claude Code or Codex, with at least a few skills or hooks installed
On 16/09/2026, I inspected the global agent configuration installed on my own workstation, file by file. It drives Claude Code and Codex from one local repository. The report above describes what that inspection found: the build pipeline, the 4 execution layers, the skill router and the gaps between what was designed and what was running.
It is written from the machine, not from memory. Counts, paths and dates come from the files as they stood that day.
What the report establishes
- One source feeds both agents. A single repository renders immutable releases identified by a SHA-256. Each release produces a
CLAUDE.mdfor Claude Code, anAGENTS.mdfor Codex, the shared hooks and the skill catalog. Both agents read the same output. - 4 layers split into suggested and enforced. Instructions and skills are suggestions the model may follow, while hooks and permissions are enforced by the harness on the actions they intercept. A rule that must hold does not belong in an instruction file.
- Skill routing is lexical. 95 skills do not fit in context. A
UserPromptSubmithook scores each prompt against a corpus of phrases with BM25 and a threshold calibrated per skill. It makes no network call, and with an identical index it returns the same result for the same prompt. - 3 gaps went unnoticed because none raised an error. Hooks pinned to an older release than the current pointer, a legacy router still installed but no longer wired, and a duplicate guard in that legacy router which disqualifies a target named after a common word.
What the report does not say
It does not claim the setup fits every team, and it does not rank Claude Code against Codex. It describes one installation at one date. The reusable skeleton it mentions exists on the inspected machine only and is not published yet. The report describes its structure, not an install path.
Who it is for
For someone who already runs Claude Code or Codex daily and has started to pile up skills, hooks and rules. The report is most useful at the moment a 2nd agent, a 2nd machine or a teammate enters the picture, when copying a folder stops being enough.
Related reading
The report shows the result, and these pieces cover the reasoning behind each layer:
- Portable agent configuration is a release system, not a shared folder: the stable map of source, build, install, runtime and audit.
- Portability becomes a Scale concern: why native primitives alone do not give portability.
- Your CLAUDE.md is too long: what belongs in the always-loaded file, and what does not.
- Why I combined three Claude Code skills and Claude selected my output style. Then ignored it: the evaluation behind a fused skill, and an Output Style that was selected but not followed.
- Claude Code security: the attack surface nobody audits: hooks and MCP servers as code running with your permissions.
- MCP servers: what they actually cost and when to use them: the difference between context used and tokens billed.
- Claude Code setup, level by level: the starting point if you have none of this yet.
- The AI instruction system is a product, not a config file: the same questions for a team of 6.
Go Further in the Claude Code Guide
Practical resources selected to help you take the next step.
Why this matters
The research and reasoning behind this playbook.
2/2 · Claude selected my output style. Then ignored it
Claude Code selected flow-lean but skipped its footer. A casing fix showed why installation, selection, and behavior need separate evidence.
Claude Code under the hood
The concepts I wish I’d known before week one: the agent loop, instruction scopes, context management, skill invocation, hooks, and client permission checks.
1/2 · Why I combined three Claude Code skills
Flow Lean fused three response skills. Its historical eval beat each comparator and caught a candidate offering a migration against an inferred target.
Related guides
Une seule source configure Claude Code et Codex
Une configuration d'agents inspectée, partagée par Claude Code et Codex : releases immuables, 4 couches d'exécution, routage BM25 des skills et écarts relevés. Rapport complet à lire en ligne.
Claude Code setup, level by level
Three configuration layers for project context, daily tools and persistent memory, with checks for what loads and how it behaves.
Claude Code security: the attack surface nobody audits
Hooks are shell scripts with your user permissions. MCP servers are third-party code with access to your credentials. Their timing and access depend on the configured events and server.