Why Your CLAUDE.md Is an IEP
The document that tells the system what you need. Same structure, different student.
An IEP is an Individualized Education Program. Every student in special education has one. It’s a document that says: here’s what this student needs, here’s how they process information, here’s what they’re working toward, and here’s how we’ll know if it’s working. The teacher reads it before the student walks in the door. It’s the system’s way of saying I see you before the interaction starts.
I wrote IEPs for twelve students in a self-contained classroom in Sunset Park, Brooklyn. Every subject, every accommodation, every goal. The IEP wasn’t a suggestion. It was a legal document. If I didn’t follow it, I wasn’t just being a bad teacher. I was breaking the law.
A CLAUDE.md file does the same thing for an AI tool.
It tells the system: here’s the project context. Here’s how this codebase works. Here’s what I need from you. Here’s what you should never do. The AI reads it before the conversation starts. It’s the human’s way of telling the tool how to be useful instead of letting it guess.
The structural parallel is exact. An IEP has present levels of performance (where the student is now), annual goals (where they need to be), accommodations (what the environment provides), and modifications (what changes to the standard). A good CLAUDE.md has project context (where the code is now), conventions (what the standards are), constraints (what the tool should never do), and goals (what we’re building toward).
The bad version of both documents is the same. A generic IEP that says “student will improve reading comprehension” without specifying how, measured against what, or what support looks like. A generic CLAUDE.md that says “this is a web app, use best practices.” Both documents exist on paper. Neither one actually accommodates the system it’s supposed to serve.
The good version is specific. A student with processing delays needs extra time on assessments and instructions broken into single steps. That’s in the IEP. A project with a strict OOCSS convention and three locked fonts needs that specified. That’s in the CLAUDE.md. The specificity is the accommodation. Without it, the system does its best guess. The best guess is generic. Generic doesn’t serve anyone.
The part most people miss is that the document changes. An IEP gets reviewed and updated. Goals that are met get replaced with new goals. Accommodations that aren’t working get revised. A CLAUDE.md should work the same way. The project changes. The conventions evolve. The things the tool gets wrong shift as you constrain the obvious failures. The document has to keep up or it goes stale. A stale IEP is worse than no IEP because the team thinks the accommodation is in place when it isn’t.
The deeper parallel is who the document is for. An IEP isn’t for the student. The student already knows what they need. The IEP is for the system. It forces the institution to articulate what it will do for this specific person. A CLAUDE.md isn’t for the AI. The AI doesn’t care. It’s for you. It forces you to articulate what you actually need from the tool. The act of writing it down is where the accommodation starts.