Artifact · for Stephane

Where the writing rules live

For John and for Claude Code: which instruction files reach the agent, at what moment, and where do the writing rules sit?

Bottom line

Two changes were made. Claude Code was given a Plain output style that sits inside its core system prompt. John was given a hook that pastes six workspace files into his prompt. Both were present in the agents' prompts when checked, and neither was ever tested for its effect on writing.

The hook carries six of the files. Codex's own routes carry the other five. Together, John holds all 11 instruction files. The hook is set to run on every turn, and it was observed doing so once. In that same boot John still read 10 of those 11 from disk a second time. Claude Code holds the same 11 files, but on a different rhythm: it opens them as files once per boot, not on every turn.

Both changes moved where the rules sit. Neither changed what the rules say.

John: what arrives, and what he reads again

Every file below was present in John's prompt for the boot turn at 11:00 UTC. The last column is what he did anyway, in the same turn, using shell commands.

FileHow it reaches JohnAlso read from disk
AGENTS.mdCodex's own project documentNo
COMMUNICATION.mdHook, as Project ContextYes
IDENTITY.mdTurn-scoped instructionsYes
OPERATING-MODE.mdHook, as Project ContextYes
RULES.mdHook, as Project ContextYes
SKILLS.mdHook, as Project ContextYes
SOUL.mdTurn-scoped instructionsYes
THINKING.mdHook, as Project ContextYes
TOOLS.mdInherited developer instructionsYes
USER.mdTurn-scoped instructionsYes
WORKSPACE.mdHook, as Project ContextYes

Six through the hook, one Codex project document, one set of developer instructions, three turn-scoped. Six plus one plus one plus three is 11. Ten were read twice; one was read once.

Why John reads a file that is already in front of him

Policy. His boot loader states: “Injected context, remembered content, and partial reads do not count.”

Observation. He read the files from disk anyway, in the same turn they were injected.

Inference. Removing the hook would not remove the second read, because the policy demands the read either way.

Claude Code: two places, and the video's method

Claude Code's writing rules sit in two places. The output style file sits inside the core system prompt, so it is present on every turn. COMMUNICATION.md is opened as an ordinary file once during boot, together with the same ten others John holds.

The output style was made by the method the video describes: a markdown file placed in the output-styles folder, plus an outputStyle entry in the settings file. No workaround was used. It is 692 bytes, and it is not one of the 11, so Claude Code carries 12 rule files in total.

FileHow it reaches Claude CodeWhen
The output style fileCore system promptEvery turn
AGENTS.md, COMMUNICATION.md, IDENTITY.md, OPERATING-MODE.md, RULES.md, SKILLS.md, SOUL.md, THINKING.md, TOOLS.md, USER.md, WORKSPACE.mdOpened as files by the boot contractOnce per boot

The boot progress message for the 11:01 UTC boot showed the last eight of those reads. The first three scrolled out of the visible message.

The full text of that file

---
name: Plain
description: Plain restricted English, answer first, no jargon
---

Write the answer first, in one sentence. Add detail only if the answer needs it.

Use restricted plain English in the spirit of ASD-STE100: common words, one
meaning per word, one idea per sentence, active voice, present tense where
possible. Keep sentences under twenty words. Do not use technical terms,
acronyms, or product jargon unless the user used them first, and say in plain
words what a technical thing does.

Say a thing once. Do not restate the question, list options you will not take,
or explain your process.

Follow the workspace file COMMUNICATION.md for everything else about how to
write.
The whole file. Line breaks shown here for reading; the stored file uses long lines.

What still permits long bulleted answers

Two pieces of wording in COMMUNICATION.md survive every change of placement.

“prose beats bullets unless structure genuinely helps” — an exception the agent decides for itself, every time.

“prefer sentences under twenty words” — a limit on sentence length, and no limit at all on how many sentences an answer may contain.

What must happen next

Choose one hard limit that carries no exception clause. It belongs in COMMUNICATION.md, because that one file reaches both agents. The output style file needs no second copy: its own text already defers to COMMUNICATION.md for everything beyond its four paragraphs.

Boundary. This page shows what loads. It does not show whether a new rule would change how either agent writes. That needs a separate test after the limit is set.
Audit detail

The evidence is one boot per agent on 18 August 2026, taken from the agents' own session records.

John's boot used 18 tool calls over 246 seconds. Claude Code's boot took 22 seconds. The two boots did different work: John's also listed and read the current state and roadmap index of every active project, and Claude Code's did not. No part of the time difference is attributed to the second read.

MEMORY.md was also read from disk. It sits outside the 11-file set and is counted in neither total.

Two files named in the boot contract were not part of this check: the daily memory files, which are dated notes rather than instruction files.