Skip to main content
FB.
Scale Advanced ≈ 59 min read · full report 🇬🇧 EN 🇫🇷 FR claude-codecodexconfigurationhooksskills

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.

Jump to summary
• Updated Oct 1, 2026
Florian Bruniaux

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.1.0
Edition
September 23, 2026
Weight
4.1 MB

≈ 59 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.

TL;DR

I recommend one source rendered to both agents as immutable releases, and any rule that must hold in a hook or a permission rather than in an instruction file.

On Claude Code against Codex, it depends: as of October 1, 2026, between Opus 4.8 and Opus 5.5 I preferred Codex, because I find its devX and UI better, but in practice I alternate. That is a personal preference, not a ranking.

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.md for Claude Code, an AGENTS.md for 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 UserPromptSubmit hook 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

The inspection itself does not rank Claude Code against Codex; the preference above is mine, dated, and not a result of the report.

It describes one installation at one date. The reusable skeleton it mentions is my shared Claude Code and Codex configuration, distributed as releases under ~/.config/ai-agents; it is not published. 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.

The report shows the result, and these pieces cover the reasoning behind each layer:

Contact