← Blog

Stop putting everything in CLAUDE.md

The stakes

Anthropic often tells people to put instructions for Claude Code in a CLAUDE.md file. At my day job, we build communication satellites for countries like Taiwan (whose undersea fiber optic cables keep getting cut by the PRC), so minimizing unpredictability in our systems is exceptionally important. There, I noticed, over and over again, that Claude Code would ignore CLAUDE.md instructions — and more than that, I observed that skills worked really, really well. Not perfectly! But nevertheless exceptionally well.

Moreover, I had a major concern: there’s no way to do test-driven development on CLAUDE.md files to determine what instructions actually matter. TDD does exist for Claude skills (one implementation of the prompts for this is found in Jesse Obra’s superpowers plugin), and it works well. So why would Anthropic rely internally on a system that can’t easily be tested, except perhaps under Monte Carlo conditions? The mystery deepened when the source maps for Claude Code leaked, and it became apparent that there existed yet another strategy for Claude to store information.

Relying on the source maps and reverse-engineered Claude Code prompts, and with a lot of rubber ducking with Claude Code, I wrote a five-chapter manual and built an open-source plugin that replicates one of Anthropic’s internal systems using public primitives. Here’s what I found.

The observation

The leak and the research

Decision tree for where to put instructions in Claude Code

Building and validating MagicDocs

The takeaway

The manual, plugin, and all design documentation are available at github.com/translunar/airbender.