Strategic Compact Skill (Strategische Komprimierung)
Schlägt /compact an strategischen Punkten in Ihrem Arbeitsablauf vor, anstatt sich auf eine willkürliche automatische Komprimierung zu verlassen.
Wann aktivieren
- Lange Sitzungen, die sich den Kontextgrenzen nähern (200.000+ Token)
- Arbeiten an mehrphasigen Aufgaben (Recherche → Plan → Implementierung → Test)
- Wechsel zwischen zusammenhanglosen Aufgaben innerhalb derselben Sitzung
- Nach Abschluss eines größeren Meilensteins und Beginn neuer Arbeit
- Wenn Antworten langsamer werden oder weniger kohärent sind (Kontextdruck)
Warum strategische Komprimierung?
Die automatische Komprimierung wird zu willkürlichen Zeitpunkten ausgelöst:
- Oft mitten in einer Aufgabe, wobei wichtiger Kontext verloren geht
- Keine Berücksichtigung logischer Aufgabengrenzen
- Kann komplexe mehrstufige Operationen unterbrechen
Strategische Komprimierung an logischen Grenzen:
- Nach der Erkundung, vor der Ausführung – Forschungskontext komprimieren, Implementierungsplan behalten
- Nach Abschluss eines Meilensteins – Neustart für die nächste Phase
- Vor größeren Kontextwechseln – Erkundungskontext vor einer anderen Aufgabe löschen
Wie es funktioniert
Das Skript suggest-compact.js wird bei PreToolUse (Edit/Write) ausgeführt und kombiniert zwei Signale:
- Kontextgröße (primär) – Liest den neuesten
usage-Datensatz aus dem Sitzungstranskript (transcript_pathin der Hook-Nutzlast) und summiertinput_tokens + cache_read_input_tokens + cache_creation_input_tokens(die tatsächliche Kontextgröße des Durchgangs). Schlägt/compactbei einem fensterskalierten Schwellenwert vor – 160k Token bei einem 200k-Fenster, 250k bei einem 1M-Fenster (erkannt anhand einer[1m]-Modellmarkierung oder abgeleitet, wenn die beobachteten Token bereits 200k überschreiten) – und erinnert nach jeweils weiteren 60k Token Kontextwachstum erneut - Tool-Aufrufanzahl (sekundär) – Zählt Tool-Aufrufe in der Sitzung; schlägt bei einem konfigurierbaren Schwellenwert vor (Standard: 50 Aufrufe), danach alle 25 Aufrufe
Die reine Tool-Anzahl ist ein schwacher Indikator für den Fensterdruck: Einige wenige große Dateilesevorgänge oder MCP-Antworten können das Fenster bei sehr wenigen Aufrufen füllen, während viele kleine Aufrufe die 50 bei einem fast leeren Fenster überschreiten können. Das Kontextgrößen-Signal wird ausgelöst, wenn es tatsächlich relevant ist.
Hook-Einrichtung
Als Plugin installiert? Keine Einrichtung erforderlich. Das hooks/hooks.json des Plugins registriert bereits suggest-compact.js (Hook-ID pre:edit-write:suggest-compact, aktiv in den Hook-Profilen standard und strict. Kopieren Sie den folgenden Block nicht in ~/.claude/settings.json – ~/.claude/scripts/ existiert bei Plugin-Installationen nicht, und das Duplizieren eines Plugin-Hooks führt zur doppelten Ausführung.
Bei manueller Installation (./install.sh) fügen Sie zu Ihrer ~/.claude/settings.json hinzu:
{
"hooks": {
"PreToolUse": [
{
"matcher": "Edit",
"hooks": [{ "type": "command", "command": "node ~/.claude/scripts/hooks/suggest-compact.js" }]
},
{
"matcher": "Write",
"hooks": [{ "type": "command", "command": "node ~/.claude/scripts/hooks/suggest-compact.js" }]
}
]
}
}
Konfiguration
Umgebungsvariablen:
COMPACT_THRESHOLD– Tool-Aufrufe vor dem ersten Vorschlag (Standard: 50)COMPACT_CONTEXT_THRESHOLD– Kontext-Token vor dem Vorschlag zur Kontextgröße (Standard: 160000 bei einem 200k-Fenster, 250000 bei einem 1M-Fenster;0deaktiviert das Kontextsignal)COMPACT_CONTEXT_INTERVAL– Zusätzliche Kontext-Token, bevor der Vorschlag wiederholt wird (Standard: 60000)COMPACT_STATE_TTL_DAYS– Tage, nach denen veraltete sitzungsspezifische Zustandsdateien im temporären Verzeichnis gelöscht werden (Standard: 14)ECC_CONTEXT_WINDOW_TOKENS– Explizite Kontextfenstergröße in Token, die die automatische Erkennung überschreibt. Setzen Sie dies für Modelle mit großem Fenster, deren gemeldete ID keine[1m]-Markierung aufweist (z. B. 400k Opus 4.x oder eine neue Modellfamilie mit 1M-Fenster), sodass der Schwellenwert auf das reale Fenster skaliert und nicht standardmäßig 200k annimmt und die Kontextnutzung überschätzt.CLAUDE_CODE_AUTO_COMPACT_WINDOW– Native Fenstergrößenüberschreibung von Claude Code in Token; wird als Fallback verwendet, wennECC_CONTEXT_WINDOW_TOKENSnicht gesetzt ist.
Das Kontextfenster wird ansonsten automatisch anhand einer
[1m]-Modellmarkierung erkannt oder abgeleitet, wenn die beobachteten Token bereits 200k überschreiten. Bei einem Modell mit großem Fenster, das keines der beiden Signale trägt, setzen Sie eine der oben genannten Überschreibungen, damit der/compact-Vorschlag zum richtigen Zeitpunkt ausgelöst wird.
Entscheidungshilfe zur Komprimierung
Verwenden Sie diese Tabelle, um zu entscheiden, wann komprimiert werden soll:
| Phasenübergang | Komprimieren? | Warum |
|---|---|---|
| Forschung → Planung | Ja | Forschungskontext ist umfangreich; der Plan ist das destillierte Ergebnis |
| Planung → Implementierung | Ja | Der Plan ist niedergeschrieben (eine Datei oder die Aufgabenliste, falls vorhanden); Kontext für Code freigeben |
| Implementierung → Test | Vielleicht | Behalten, wenn Tests auf aktuellen Code verweisen; komprimieren, wenn der Fokus wechselt |
| Debugging → Nächste Funktion | Ja | Debug-Ablaufverfolgungen verunreinigen den Kontext für nicht zusammenhängende Arbeiten |
| Mitten in der Implementierung | Nein | Verlust von Variablennamen, Dateipfaden und Teilzuständen ist kostspielig |
| Nach einem fehlgeschlagenen Ansatz | Ja | Löschen der Sackgassen-Logik, bevor ein neuer Ansatz versucht wird |
Was nach der Komprimierung erhalten bleibt
Das Verständnis dessen, was erhalten bleibt, hilft Ihnen, sicher zu komprimieren:
| Bleibt erhalten | Geht verloren |
|---|---|
| CLAUDE.md-Anweisungen | Zwischenschritte und Analysen |
| Dateien auf der Festplatte | Zuvor gelesene Dateiinhalte |
Speicherdateien (~/.claude/memory/) | Mehrschrittiger Gesprächskontext |
| Git-Status (Commits, Branches) | Tool-Aufrufverlauf und -anzahl |
| Die Aufgabenliste – nur wenn Sie die Todo-Tools haben (siehe unten) | Nuancenreiche, mündlich geäußerte Benutzereinstellungen |
Verlassen Sie sich nicht darauf, dass die Aufgabenliste erhalten bleibt – sie existiert möglicherweise nicht
Claude Code 2.1.233 hat die Todo/Task-Tools standardmäßig entfernt bei Opus 4.8, Sonnet 5, Fable 5, Mythos 5 und neueren Modellen (
TodoWrite,TaskCreate/Get/Update/List).CLAUDE_CODE_ENABLE_TODO_TOOLS=1bringt sie zurück, aber das ist eine gerätespezifische Umgebungseinstellung – sie reist nicht mit diesem Skill, Sie können also nicht davon ausgehen, dass der Leser sie hat.Dies ist wichtig, weil „meine Aufgabenliste überlebt die Komprimierung“ ein Grund ist, warum Leute komprimieren, anstatt den Status aufzuschreiben. Wenn die Tools fehlen, gibt es keine Liste, die überlebt, und der Plan ist einfach weg. Schreiben Sie den Plan vor dem Komprimieren in eine Datei – eine Datei überlebt in jeder Version und auf jedem Modell. Behandeln Sie die Aufgabenliste als Annehmlichkeit, die fehlen kann, niemals als Ihren dauerhaften Datensatz.
Best Practices
- Nach der Planung komprimieren – Sobald der Plan finalisiert und in eine Datei geschrieben wurde, komprimieren Sie, um frisch zu starten
- Nach dem Debugging komprimieren – Kontext der Fehlerbehebung löschen, bevor Sie fortfahren
- Nicht mitten in der Implementierung komprimieren – Kontext für zusammenhängende Änderungen bewahren
- Den Vorschlag lesen – Der Hook teilt Ihnen wann mit, Sie entscheiden ob
- Vor dem Komprimieren schreiben – Wichtigen Kontext in Dateien oder Speicher speichern, bevor Sie komprimieren
/compactmit einer Zusammenfassung verwenden – Eine benutzerdefinierte Nachricht hinzufügen:/compact Fokus auf die Implementierung der Auth-Middleware als nächstes
Token-Optimierungsmuster
Trigger-Tabellen-Lazy-Loading
Anstatt den gesamten Skill-Inhalt beim Sitzungsstart zu laden, verwenden Sie eine Triggertabelle, die Schlüsselwörter auf Skill-Pfade abbildet. Skills werden nur dann geladen, wenn sie ausgelöst werden, wodurch der Grundkontext um 50 % oder mehr reduziert wird:
| Trigger | Skill | Lädt bei |
|---|---|---|
| „test“, „tdd“, „coverage“ | tdd-workflow | Benutzer erwähnt Tests |
| „security“, „auth“, „xss“ | security-review | Sicherheitsbezogene Arbeiten |
| „deploy“, „ci/cd“ | deployment-patterns | Bereitstellungskontext |
Bewusstsein für die Kontextzusammensetzung
Überwachen Sie, was Ihr Kontextfenster verbraucht:
- CLAUDE.md-Dateien – Werden immer geladen, halten Sie sie schlank
- Geladene Skills – Jeder Skill fügt 1-5K Token hinzu
- Gesprächsverlauf – Wächst mit jedem Austausch
- Tool-Ergebnisse – Dateilesevorgänge, Suchergebnisse fügen Masse hinzu
Erkennung doppelter Anweisungen
Häufige Quellen doppelten Kontexts:
- Gleiche Regeln sowohl in
~/.claude/rules/als auch im Projekt.claude/rules/ - Skills, die CLAUDE.md-Anweisungen wiederholen
- Mehrere Skills, die sich überschneidende Domänen abdecken
Kontextoptimierungstools
token-optimizerMCP – Automatisierte Token-Reduktion um 95 %+ durch Inhaltsdeduplizierungcontext-mode– Kontextvirtualisierung (315 KB auf 5,4 KB nachgewiesen)
Verwandte Themen
- Der Longform-Leitfaden – Abschnitt zur Token-Optimierung
- Hooks zur Speicherpersistenz – Für Zustände, die die Komprimierung überstehen
continuous-learningSkill – Extrahiert Muster vor Ende der Sitzung