The context rot concern is real but I've found it's more about structure than size. My CLAUDE.md is ~500 lines but it's organised into quick reference tables, critical rules (the stuff that MUST be followed), and project architecture notes. The key is frontloading the high-signal stuff.

What's worked for me: having separate sections for "things Claude needs every session" vs "reference material it can look up when needed". The former stays concise. The latter can grow.

The anti-pattern I see is people treating it like a growing todo list or dumping every correction in there. That's when you get rot. If a correction matters, it should probably become a linting rule or a test anyway.

My problem is that Claude often don't consult the reference materials.

And I am back to manually including markdown files in the prompt.

Say I have a TypeScript.md file with formatting and programming guidelines for TypeScript. Sometimes Claude edit TypeScript files without consulting it, despite it being linked referenced CLAUDE.md.

The growing todo list can often port nicely to skills.

If your CLAUDE.md approach is public, would be interested to learn from it.