Das können Sie danach
- Die Wörter, die in Ihrem Projekt gemeinsam geladen werden, an einem Budget messen.
- Den Ein-Zeilen-Test auf jede Zeile anwenden und jedes Ergebnis in einer Streichliste festhalten.
- Jede gestrichene Zeile an das richtige Ziel verschieben und einen einzeiligen Verweis hinterlassen.
- Eine einzige Anweisungsdatei einrichten, die Claude Code, OpenCode und Kimi Code gleichermaßen lesen.
- Mit /context prüfen, ob sie geladen wurde, und die Wortzählung bei jeder Änderung erneut prüfen.
Das Wichtigste
- Eine CLAUDE.md ist zu lang, wenn sie Zeilen enthält, ohne die der Agent nichts falsch machen würde; Anthropic empfiehlt unter 200 Zeilen pro Datei, wir budgetieren Wörter statt Zeilen.
- Stellen Sie jeder Zeile eine Frage: Würde der Agent ohne sie einen Fehler machen? Behalten Sie nur die Zeilen, bei denen die Antwort Ja lautet.
- Jede gestrichene Zeile bekommt einen Platz: eine Doku-Seite, eine Ordnerregel, einen Skill, einen Workflow-Schritt, einen Hook oder den Papierkorb.
- Behalten Sie CLAUDE.md als einzige Quelle und machen Sie AGENTS.md zu einem Symlink darauf: Das ist das einfachste Setup, bei dem Claude Code, OpenCode und Kimi Code dieselben Anweisungen lesen.
- Messen Sie bei jeder Bearbeitung erneut mit einer Wortzählung, denn eine gekürzte Datei wächst wieder.
Eine CLAUDE.md ist zu lang, wenn sie Zeilen enthält, ohne die der Agent nichts falsch machen würde. Anthropics Dokumentation empfiehlt unter 200 Zeilen pro CLAUDE.md-Datei; wir setzen ein Budget in Wörtern, weil Zeilen die Dichte verschleiern. Am Ende dieser Anleitung haben Sie Ihre Datei Zeile für Zeile geprüft, jeder gestrichenen Zeile einen Platz gegeben und eine einzige Datei eingerichtet, die Claude Code, OpenCode und Kimi Code gleichermaßen lesen.
Eine lange Anweisungsdatei ist kein Schreibproblem. Sie ist ein Ablageproblem: Fast jede Zeile darin stimmt, sie steht nur am falschen Ort. Eine falsch abgelegte Zeile kostet in jeder Session Kontext und begräbt die Regeln, auf die es ankommt. Anthropic sagt es deutlich: Aufgeblähte CLAUDE.md-Dateien führen dazu, dass Claude Ihre eigentlichen Anweisungen ignoriert (Anthropic, Best practices(wird in einem neuen Tab geöffnet)).
Alle Beispiele nutzen Mossbank, eine erfundene Terminplanungs-App für Sanitär- und Heizungsbetriebe. Datei und Zahlen sind ausgedacht; die Budgets und Regeln sind die, mit denen wir bei Neomanex arbeiten.
Was Sie vor dem Start brauchen
Prüfen Sie die Dateien, die gemeinsam geladen werden, nicht nur die eine, die Sie gerade geöffnet haben. Der Agent sieht nie eine Datei allein: Claude Code lädt jede CLAUDE.md von der obersten Projektebene bis hinunter zu dem Ordner, in dem Sie arbeiten, und dazu alles, was diese Dateien importieren.
| Sie brauchen | Warum |
|---|---|
| Jede Anweisungsdatei, die in Ihrem Arbeitsordner geladen wird | Der Agent zahlt für die Summe |
Eine Wortzählung (wc -w unter macOS oder Linux) | Das Budget wird in Wörtern gemessen |
/context in Claude Code | Es zeigt, welche Dateien tatsächlich geladen wurden |
Messen, was tatsächlich geladen wird
Wir zählen keine Zeilen mehr. Eine Tabellenzeile kann einen ganzen Absatz enthalten, deshalb budgetieren wir Wörter und behandeln eine dichte Datei wie eine lange.

Führen Sie wc -lw für jede Datei aus, addieren Sie die Wörter und teilen Sie dann Wörter durch Zeilen. Ab etwa 15 Wörtern pro Zeile sind Tabellenzellen zu Absätzen geworden: Teilen Sie die Zelle oder lagern Sie den Inhalt aus.
| Datei | Ziel | Obergrenze | Warum |
|---|---|---|---|
| Untergeordnete Datei (ein Unterordner) | 500 Wörter | 750 Wörter | Sie ergänzt nur, was der übergeordneten Datei fehlt |
| Projektwurzel | 1.200 Wörter | 1.800 Wörter | Identität, Ordnerübersicht, Tests, Deployment, Stolperfallen; der Rest steht in den untergeordneten Dateien |
| Workspace-Wurzel (viele Projekte) | 2.000 Wörter | 2.800 Wörter | Sie wird in jeder Session geladen, für jede Art von Arbeit |
| Alles, was gemeinsam geladen wird | 5.000 Wörter | 7.000 Wörter | Der Agent zahlt für die Summe, nicht für eine einzelne Datei |
Anthropics Zeilenziel gibt es, weil „längere Dateien mehr Kontext verbrauchen und die Befolgung verringern“ (Anthropic, Memory(wird in einem neuen Tab geöffnet)). Importe zählen voll mit: Importierte Dateien werden ebenfalls beim Start geladen.
Die Wurzeldatei von Mossbank hat 420 Zeilen und rund 9.600 Wörter: 23 Wörter pro Zeile, weit über der Obergrenze von 1.800 Wörtern für eine Projektwurzel.
Den Ein-Zeilen-Test auf jede Zeile anwenden
Anthropics Frage zum Ausdünnen ist die ganze Prüfung: Würde Claude ohne diese Zeile einen Fehler machen? Die Disziplin besteht darin, sie jeder Zeile zu stellen, auch denen, die Sie letzte Woche geschrieben haben.
Was ist eine Streichliste? Eine Streichliste ist eine Tabelle mit einer Zeile pro Zeile oder Block der Datei: die Zeile, ob der Agent ohne sie etwas falsch macht, warum, und wohin die Zeile geht.
| # | Zeile in der Datei von Mossbank | Fehler ohne sie? | Warum | Ziel |
|---|---|---|---|---|
| 1 | „Tests mit make test ausführen, nie mit bloßem pytest“ | Ja | Bloßes pytest überspringt die Datenbank-Fixtures | Bleibt |
| 2 | „price wird in Cent gespeichert (siehe models/job.py)“ | Ja | Eine falsche Annahme beschädigt Daten | Bleibt, mit Quelle |
| 3 | Eine Modulübersicht über 60 Zeilen | Manchmal | Nachschlagewissen für die Navigation | Doku-Seite |
| 4 | Wie man einen Zahlungsanbieter anbindet, 14 Schritte | Nur bei dieser Aufgabe | Ein Ablauf | Skill |
| 5 | „In migrations/ nie eine bereits ausgeführte Migration bearbeiten“ | Nur in diesem Ordner | Ein einzelner Teilbaum | Ordnerregel |
| 6 | „NIEMALS db reset gegen Staging ausführen“ | Darf nie passieren | Text ist nur eine Empfehlung | Hook |
| 7 | Release: Version, Changelog, Tag, Deployment, Statusseite, vor dem Taggen Dana fragen | Nur beim Release | Eine Reihenfolge und eine Freigabe | Workflow-Schritt |
| 8 | „Mit 4 Leerzeichen einrücken“ | Nein | Der Formatter erzwingt es | Löschen |
| 9 | „Die API hat 37 Endpunkte“ | Nein | Mit dem nächsten Commit falsch | Löschen |
| 10 | Die Parameterliste der MCP-Tools des Teams | Nein | Das Tool liefert sein eigenes Schema mit | Löschen |
Zwei Zeilen bleiben. Zeile 2 bleibt nur, weil sie die Datei nennt, die sie belegt.
Jeder gestrichenen Zeile ein Ziel geben
Löschen ist der letzte Ausweg, nicht der erste. Die meisten gestrichenen Zeilen sind Wissen, das an einen Ort gehört, den der Agent nur liest, wenn er es braucht.

Stellen Sie die Fragen in dieser Reihenfolge. Das erste Ja bestimmt den Ort.
| Ort | Nimmt auf | Wird geladen |
|---|---|---|
| Hook | Etwas, das immer oder nie passieren darf | Bei jedem Tool-Aufruf, und er blockiert |
| Workflow-Schritt | Einen Ablauf mit Reihenfolge oder Freigabe | In diesem Schritt |
| Ordnerregel | Etwas, das nur in einem Ordner gilt | Wenn der Agent eine Datei in diesem Ordner liest, schreibt oder bearbeitet |
| Skill | Einen Ablauf, den manche Aufgaben brauchen | Wenn die Aufgabe passt; bis dahin wird nur die Kurzbeschreibung geladen |
| Doku-Seite | Nachschlagewissen: Übersichten, Erklärungen | Wenn der Agent dem Verweis folgt |
| Löschen | Zahlen, Historie, Kopien, alles, was der Agent ohnehin richtig macht | Nie |
Der Hook steht an erster Stelle, weil die Datei nur eine Empfehlung ist: Laut Anthropics Dokumentation verwenden Sie einen PreToolUse-Hook, wenn eine Aktion blockiert werden soll, egal was Claude entscheidet. Unsere Anleitung, wie Sie verhindern, dass Claude Code Ihre Dateien löscht, baut einen Schritt für Schritt auf. Eine Ordnerregel ist in Claude Code eine Datei unter .claude/rules/ mit paths:-Frontmatter, hier passend auf migrations/**, oder eine untergeordnete CLAUDE.md in diesem Ordner. Wir schränken unsere per Pfad ein.
Die Release-Checkliste von Mossbank ist das klassische Beispiel für eine falsch abgelegte Zeile: eine Reihenfolge und Danas Freigabe, in jeder Session vollständig gelesen, wobei das Anhalten dem Gedächtnis überlassen bleibt. Solche Abläufe führen wir als ConvOps-Workflows(wird in einem neuen Tab geöffnet), sodass der Agent jeweils einen Schritt liest und die Freigabe ein eigener Schritt ist (wie wir unser Unternehmen mit Workflows führen). Lagern Sie jeden Ablauf aus, schrumpft die Datei zu einer Identitätsdatei: Das ist der radikale Weg, Graph Engineering.
Jede Zeile verschieben und einen einzeiligen Verweis hinterlassen
Eine Kürzung, bei der Wissen verloren geht, ist keine Kürzung. Sie ist ein künftiger Bug, deshalb hinterlässt jede verschobene Zeile einen Verweis.

Die Modulübersicht von Mossbank wird zu docs/module-map.md, und die Datei behält eine Zeile, die diese Seite nennt. Von den 420 Zeilen bleiben 90, 150 gehen auf drei Doku-Seiten, 60 in zwei Skills, 30 in eine Ordnerregel, 25 in den Release-Workflow, 10 in zwei Hooks, und 55 werden gelöscht. Am Ende hat die Datei rund 100 Zeilen, die 90 behaltenen plus 10 Verweiszeilen, und 1.100 Wörter, unter dem Ziel von 1.200 Wörtern.
Ein @-Import ist keine Kürzung. @docs/module-map.md lädt die Seite trotzdem beim Start. Ein einfacher Verweis lädt nichts, bis der Agent ihm folgt.
Eine Datei für CLAUDE.md und AGENTS.md
Zwei Anweisungsdateien für drei Tools bedeuten, dass jedes Tool eine andere Datei liest. Wir behalten eine Quelle und verlinken den anderen Namen darauf.

Wir haben jedes Setup am 9. Oktober 2026 getestet, mit einem anderen Codewort in jeder Datei:
| Setup im Projektordner | Claude Code 2.1.295 | OpenCode 1.18.31 | Kimi Code 0.31.1 |
|---|---|---|---|
| Nur AGENTS.md | Lädt AGENTS.md | Lädt AGENTS.md | Lädt AGENTS.md |
| CLAUDE.md und AGENTS.md, zwei Dateien | Lädt nur CLAUDE.md | Lädt nur AGENTS.md | Lädt nur AGENTS.md |
| AGENTS.md als Symlink auf CLAUDE.md | Lädt sie einmal | Lädt sie einmal | Lädt sie einmal |
| Nur CLAUDE.md | Lädt CLAUDE.md | Lädt CLAUDE.md | Lädt sie nicht |
Zwei getrennte Dateien laufen auseinander, sodass jedes Tool anderen Anweisungen folgt. Mit CLAUDE.md allein bleibt Kimi Code ohne Anweisungen. Behalten Sie CLAUDE.md als Quelle und führen Sie ln -s CLAUDE.md AGENTS.md aus: Von den vier getesteten Setups ist es das einzige, bei dem alle drei Tools denselben Text genau einmal lesen. Unsere Dateien werden generiert: Ein Skript legt neben jeder CLAUDE.md eine AGENTS.md an, sodass jeder Ordner genau eine Quelle hat.
Laut Anthropics Dokumentation schreiben die Edit- und Write-Tools von Claude Code nicht durch einen Symlink hindurch, also bearbeiten Sie CLAUDE.md; unter Windows machen Sie CLAUDE.md stattdessen zu einem einzeiligen @AGENTS.md-Import. Löschen oder verschieben Sie beide Dateien immer gemeinsam: Eine gelöschte CLAUDE.md lässt ihren AGENTS.md-Link ins Leere zeigen.
Prüfen, ob sie geladen wurde, und bei jedem Wachstum erneut prüfen
Eine gekürzte Datei wächst von selbst wieder, weil jede Lektion in der Datei landen will, die alle lesen. Die erneute Prüfung gehört zur Bearbeitung, nicht zu einem Aufräumtag.
| Prüfung | Wie | Was Sie sehen |
|---|---|---|
| Wurde sie geladen? | /context in Claude Code | Die Liste „Memory files“ (geladene Speicherdateien) nennt jede geladene Datei; mit dem Symlink nur CLAUDE.md |
| Im Budget? | wc -w, summiert über die Dateien, die gemeinsam geladen werden | Eine Zahl, die Sie bei jeder Bearbeitung mit dem Budget vergleichen |
| Widerspricht sich etwas? (optional) | /doctor prompt-audit, Claude Code 2.1.283 oder neuer | Veraltete oder widersprüchliche Anweisungen mit Änderungsvorschlägen; nichts ändert sich, bevor Sie es verlangen |
Die Datei von Mossbank gewinnt in ihrer ersten Woche zwei Zeilen hinzu, beides echte Lektionen, und die Wortzählung fängt sie ab. Die Regel: Eine neue Lektion geht zuerst an ihr Ziel und erst zuletzt in die Datei.
Beginnen Sie mit Ihrem längsten Ablauf. Erstellen Sie ein kostenloses ConvOps-Konto(wird in einem neuen Tab geöffnet), lassen Sie Ihre KI diesen Ablauf als Workflow schreiben und löschen Sie ihn dann aus der Datei. Sie möchten einen zweiten Blick auf die Anweisungsdateien Ihres Teams? Buchen Sie eine kostenlose Discovery Session.
Häufige Fehler und die Regeln, die sie hinterlassen haben
Jede Regel in unserem Budget gibt es, weil eine Datei etwas falsch gemacht hat, nicht weil ein Styleguide es so wollte. Jeder der folgenden Fehler ist uns passiert, hier am Beispiel Mossbank erzählt.
| Fehler | Bei Mossbank | Daraus entstandene Regel |
|---|---|---|
| Zeilen zählen | Eine Datei mit 180 Zeilen und 33 Wörtern pro Zeile hat rund 6.000 Wörter | Wörter budgetieren; ab etwa 15 Wörtern pro Zeile markieren |
| Eine Festlegung ohne Quelle | Laut Datei ist price in Euro angegeben; tatsächlich in Cent, also schreibt der Agent einen Rabatt in Euro | Eine Zeile, die ein Feld, einen Typ oder eine Struktur festlegt, nennt die Datei, die es belegt |
| Deployment-Schritte in einer untergeordneten Datei | worker/CLAUDE.md beschreibt noch das alte Deployment und widerspricht der Wurzeldatei | Die übergeordnete Datei besitzt jede Tatsache; eine untergeordnete trägt höchstens einen Verweis |
| Zahlen | „Die API hat 37 Endpunkte“ ist mit dem nächsten Commit falsch | Beschreiben, nie zählen |
| Eine bereits geladene Regel wiederholen | Die Datei kopiert die gemeinsamen Testregeln, mit einem veralteten Flag | Auf die Regel verweisen; sie nie wiederholen |
Schritte
Messen, was tatsächlich geladen wird
Führen Sie wc -lw für jede Anweisungsdatei aus, die in Ihrem Arbeitsordner geladen wird, Importe eingeschlossen, und addieren Sie die Wörter. Vergleichen Sie jede Datei und die Summe mit dem Wortbudget und markieren Sie jede Datei mit mehr als etwa 15 Wörtern pro Zeile.
Den Ein-Zeilen-Test auf jede Zeile anwenden
Fragen Sie bei jeder Zeile oder jedem Block, ob der Agent ohne sie einen Fehler machen würde. Halten Sie Zeile, Antwort und Grund in einer Streichliste fest und behalten Sie nur die Zeilen mit Ja.
Jeder gestrichenen Zeile ein Ziel geben
Fragen Sie der Reihe nach: Muss es immer oder nie passieren (Hook), hat es eine Reihenfolge oder eine Freigabe (Workflow-Schritt), gilt es nur in einem Ordner (Ordnerregel), ist es ein Ablauf für bestimmte Aufgaben (Skill), ist es Nachschlagewissen (Doku-Seite)? Lautet jede Antwort Nein, löschen Sie es.
Jede Zeile verschieben und einen einzeiligen Verweis hinterlassen
Verschieben Sie jede Zeile an ihr Ziel und hinterlassen Sie überall dort, wo der Agent sie finden muss, einen einzeiligen Verweis in der Datei. Zählen Sie einen @-Import nie als Kürzung, denn importierte Dateien werden beim Start geladen.
Eine Datei für CLAUDE.md und AGENTS.md nutzen
Behalten Sie CLAUDE.md als Quelle und führen Sie im selben Ordner ln -s CLAUDE.md AGENTS.md aus, sodass Claude Code, OpenCode und Kimi Code denselben Text genau einmal lesen. Löschen oder verschieben Sie beide Dateien immer gemeinsam.
Prüfen, ob sie geladen wurde, und bei jedem Wachstum erneut prüfen
Führen Sie /context in Claude Code aus und prüfen Sie, ob die Datei unter „Memory files“ (geladene Speicherdateien) aufgeführt ist. Führen Sie bei jeder Bearbeitung erneut wc -w gegen das Budget aus und schicken Sie jede neue Lektion zuerst an ihr Ziel, bevor sie in die Datei kommt.
Häufige Fragen
Ab wann ist eine CLAUDE.md zu lang?
Anthropics Dokumentation empfiehlt unter 200 Zeilen pro CLAUDE.md-Datei. Bei Neomanex budgetieren wir stattdessen Wörter, weil auch eine kurze Datei mit dichten Tabellenzeilen viel kostet: rund 1.200 Wörter für eine Projektwurzel, 2.000 für die Wurzel eines großen Workspace und 5.000 für alles, was gemeinsam geladen wird. Darüber, oder ab etwa 15 Wörtern pro Zeile, ist die Datei zu lang. Der eigentliche Test gilt pro Zeile: Behalten Sie nur, was einen Fehler verhindert.
Wer sollte seine CLAUDE.md oder AGENTS.md kürzen?
Entwickler und Teamleiter, deren Coding-Agent vorgegebene Regeln ignoriert oder deren Anweisungsdatei mit jeder Lektion wächst, sollten sie kürzen. Bei Neomanex gilt die Regel, eine Datei zu prüfen, sobald sie ihr Wortbudget überschreitet. Das Ergebnis ist eine Datei, die der Agent befolgt und die in jeder Session weniger Kontext kostet, während das gestrichene Wissen in Doku-Seiten, Skills, Ordnerregeln, Workflows und Hooks erhalten bleibt.
Was sollte ich zuerst aus meiner CLAUDE.md entfernen?
Löschen Sie, was der Agent nie braucht: Zahlen, die veralten, Projekthistorie, Kopien anderer Dateien, Parameterlisten von Tools, die das Tool ohnehin mitliefert, und Stilregeln, die ein Formatter erzwingt. Der Neomanex-Standard führt diese als direkte Löschungen, weil sie Kontext kosten und nichts bringen. Verschieben Sie dann Nachschlagewissen auf Doku-Seiten und Abläufe mit Reihenfolge oder Freigabe in Workflows, wo Neomanex sie in ConvOps führt.
Wird meine CLAUDE.md kürzer, wenn ich Dateien mit @ importiere?
Nein. Bei Neomanex zählen wir jeden @-Import zum Wortbudget, weil laut Anthropics Dokumentation auch importierte Dateien beim Start geladen werden; ein Import verschiebt also Text, ohne seine Kosten zu senken. Eine echte Kürzung ist eine Doku-Seite mit einem einzeiligen Verweis, ein Skill oder eine pfadbezogene Regel, denn jede davon wird erst geladen, wenn der Agent sie braucht.
Warum nutzt Claude meine AGENTS.md nicht?
Claude Code liest AGENTS.md nur, wenn im Ordner oder darüber keine CLAUDE.md existiert. Neomanex hat das im Oktober 2026 mit Claude Code 2.1.295 getestet: Waren beide Dateien vorhanden, lud es nur CLAUDE.md. Die Lösung ist eine Quelle pro Ordner: CLAUDE.md behalten und AGENTS.md zu einem Symlink darauf machen, oder unter Windows CLAUDE.md zu einem einzeiligen @AGENTS.md-Import machen.
Ist eine zu lange AGENTS.md dasselbe Problem wie eine zu lange CLAUDE.md?
Ja, und sie braucht dieselbe Prüfung. Neomanex hat im Oktober 2026 OpenCode 1.18.31 und Kimi Code 0.31.1 getestet: Beide lesen AGENTS.md, OpenCode ignoriert CLAUDE.md, wenn eine AGENTS.md existiert, und Kimi Code lädt keine CLAUDE.md im Projekt. Eine gekürzte CLAUDE.md mit AGENTS.md als Symlink darauf versorgt Claude Code, OpenCode und Kimi Code mit demselben Text.
Wie behebe ich „prompt is too long“ in Claude?
Führen Sie /context in Claude Code aus, um zu sehen, was das Kontextfenster füllt, und führen Sie dann /compact aus oder starten Sie eine neue Session. Bei Neomanex werten wir diesen Fehler als Zeichen einer vollen Unterhaltung, was ein anderes Problem ist als eine lange Anweisungsdatei. Eine schlanke CLAUDE.md hilft trotzdem, weil sie vor Ihrer ersten Nachricht geladen wird und jede Session kleiner beginnt.
