Source: wiki synthesis: Steering Claude Code, Claudish-to-English, Agent Stylebooks, Claude Opus 5, New Rules of Context Engineering, Troubleshooting Claude
The wiki now holds four independent attempts to solve one problem — make Claude write the way you asked — and each one intervenes at a different layer of the stack. None of the four articles cites all the others, and read together they say something none of them says alone: the wording of an instruction matters far less than where you put it. A live contradiction in the corpus turns out to be the cleanest evidence for that claim.
Key Takeaways
- Four attempts, four layers, and they are ordered by authority — not by effort. Prompt-level instruction (weakest), skill (loaded on demand), output style (system prompt, never compacted, highest weight), display-layer rewrite (the model is not involved at all). The reported success rate rises monotonically down that list, which is the whole finding.
- The corpus contains a contradiction that the layer thesis explains. ASD-STE100 Simplified Technical English was reported as ineffective by one practitioner and effective by another. The first used prompt-level instruction; the second put it inside a Claude Code output style. Same standard, opposite results, different layer. That contradiction is recorded unresolved in Claudish-to-English — this article is why it is worth keeping rather than adjudicating.
- The failure mode has a name and a mechanism: instruction persistence. Opus 5 documents style corrections that produce “absolutely right!”, a fix, and reversion on the next turn. Steering Claude Code supplies the mechanism — most methods are compacted away, and output styles are specifically the ones that are not. A correction that does not survive compaction was never a constraint; it was a suggestion with a short half-life.
- Removing a default silently demotes every instruction that depended on it. New Rules records Anthropic replacing “default to writing no comments” with “write code that reads like the surrounding code.” The field consequence: a project
CLAUDE.mdsaying no comments now argues with a judgment call instead of reinforcing a default — and loses, in one case inserting comments that broke a bash script. The instruction did not change; its position in the hierarchy did. - Anthropic’s own staff route this problem by layer, not by wording. The recommended fix for Opus 5’s jargon is to change the output style — not to prompt harder. That is the first recorded instance of Anthropic staff answering a behavior complaint by pointing at a specific row of the steering table.
- The strongest layer costs the most. A display-layer rewrite cannot be ignored, but you are now reading a paraphrase from a smaller model. A custom output style has the highest instruction weight, but replaces Claude Code’s engineering defaults unless
keep-coding-instructions: true. There is no free position on the ladder. - This generalizes past prose. Sandboxing shows the same shape one level down: Docker Sandboxes enforces filesystem scope in a hypervisor, where no instruction can argue with it — and Cairn puts a spend limit in a multisig for the same reason. “Move the constraint below the layer that can rationalize it” is the same move in three domains.
The ladder
| Layer | Mechanism | Survives compaction? | Can the model route around it? | Cost |
|---|---|---|---|---|
| Prompt / chat | ask Claude to write differently | No | Yes — documented to revert within a turn | Free |
CLAUDE.md / memory | always-on project context | Re-read, but competes with everything else | Yes — reported to lose against a judgment call | Context budget, always-on |
| Skill ([[prompt-engineering/agent-stylebooks | Agent Stylebooks]]) | named editorial system, loaded on invocation | Loaded per use | Partly — the model chooses when to invoke |
| Output style | injected into system prompt at session start | No — never compacted | Hard to; highest instruction weight | Replaces defaults unless keep-coding-instructions: true |
| Hook / display layer ([[claude-ai/claudish-to-english-plugin | Claudish-to-English]]) | rewrite after generation | N/A — outside the model | No |
| Sandbox / cryptographic gate | enforced outside the process | N/A | No | Setup cost; silent-denial failure modes |
The catalog objection, and why it belongs here
A community argument recorded in New Rules holds that progressive disclosure still spends model attention as the retrieval index: every installed skill’s name and description sits in the system prompt so Claude can decide what to load, which does not scale to hundreds of organizational rules. The proposed alternative is external retrieval driven by hooks — which can see the file being edited and the tool being called — rather than by description-matching.
Read through this article’s lens, that is not a separate debate. It is an argument to move skill selection down the same ladder: from “the model decides what applies” to “the harness decides what applies, from observed state.” Claude Code v2.1.234’s claude-api reduction (~200k → ~25k tokens by deferring reference docs, see W34) shrinks the payload but not the catalog, so it narrows the objection without answering it. The objection’s author sells a competing tool and published no measurement — so this is a well-formed hypothesis, not a finding.
Try It
- Diagnose by layer before rewriting the words. If an instruction reverts after a turn or two, the problem is almost certainly position, not phrasing. Moving it up the ladder beats rewording it.
- Escalate in order.
CLAUDE.md→ path-scoped rule in.claude/rules/→ output style withkeep-coding-instructions: true→ hook. Stop at the first layer that holds; each step up costs something real. - Use a hook for anything that must not fail. Formatting, comment stripping, redaction — if the rule is mechanical, a hook is strictly better than asking, because it is the only option the model cannot talk itself out of.
- Audit for demoted instructions after any model or system-prompt change. When a vendor removes a default, the rules that leaned on it quietly drop a rung. The
prompt-auditsubcommand on theclaude-apiskill dates each instruction for exactly this reason (see Agent Skills). - Do not confuse a strong layer with a correct one. A display rewrite always “works” and can drop the hedge that mattered. Pick the weakest layer that actually holds.
Open Questions
- The ladder is assembled from single-source reports, not a controlled comparison. Nobody has run the same instruction at all five layers and measured adherence. Every ordering claim here is inference from separate anecdotes.
- Does the ordering hold across models? All the evidence is Opus 5-era. Fable 5 is reported to not exhibit the prose problem at all, which would make the whole ladder moot for that model.
- Where do skills actually sit? Between
CLAUDE.mdand output styles is this article’s guess; the skill’s authority once loaded is not documented anywhere in the corpus. - What is the compaction behavior of
.claude/rules/withpaths:scoping? Steering Claude Code records it as sharing subdirectory-CLAUDE.md behavior, which is weaker than an output style but stronger than a prompt — untested against the prose problem specifically.
Related
- Steering Claude Code — the seven-method decision table this ladder extends.
- Claudish-to-English — the display layer, and the home of the unresolved ASD-STE100 contradiction.
- Agent Stylebooks — the skill layer.
- Claude Opus 5 — the behavior driving all four attempts.
- New Rules of Context Engineering — where removing a default demotes what depended on it.
- Troubleshooting Claude — the mitigation ladder in operational form.
- Three Layers of Anti-AI-Slop Defense — the same layered-defense shape applied to visual output rather than prose.
- Docker Sandboxes · Cairn Multisig Spend Gate — the same move below the prompt entirely.