Strategic Compact Skill
Schlägt manuelles /compact an strategischen Punkten in Ihrem Arbeitsablauf vor, anstatt sich auf willkürliche automatische Komprimierung zu verlassen.
Wann aktivieren
- Lange Sitzungen, die sich Kontextgrenzen nähern (200.000+ Tokens)
- Arbeiten an mehrphasigen Aufgaben (Recherche → Plan → Implementierung → Test)
- Wechsel zwischen nicht zusammenhängenden Aufgaben innerhalb derselben Sitzung
- Nach Abschluss eines größeren Meilensteins und Beginn neuer Arbeit
- Wenn Antworten langsamer oder weniger kohärent werden (Kontextdruck)
Warum strategische Komprimierung?
Automatische Komprimierung wird an willkürlichen Punkten ausgelöst:
- Oft mitten in einer Aufgabe, wodurch wichtiger Kontext verloren geht
- Keine Kenntnis logischer Aufgabengrenzen
- Kann komplexe mehrstufige Operationen unterbrechen
Strategische Komprimierung an logischen Grenzen:
- Nach Erkundung, vor 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 (Bearbeiten/Schreiben) ausgeführt und kombiniert zwei Signale:
- Kontextgröße (primär) — Liest den aktuellen
usage-Eintrag 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 — 160.000 Tokens bei einem 200k-Fenster, 250.000 bei einem 1M-Fenster (erkannt über einen[1m]-Modellmarker oder abgeleitet, wenn beobachtete Tokens bereits 200.000 überschreiten) — und erinnert erneut nach jeweils weiteren 60.000 Tokens Kontextwachstum - Tool-Aufrufanzahl (sekundär) — Zählt Tool-Aufrufe in der Sitzung; schlägt bei einem konfigurierbaren Schwellenwert vor (Standard: 50 Aufrufe), dann alle 25 Aufrufe danach
Die Tool-Anzahl allein ist ein schwacher Indikator für Fensterdruck: Einige wenige große Dateilesevorgänge oder MCP-Antworten können das Fenster mit sehr wenigen Aufrufen füllen, während viele winzige Aufrufe bei nahezu leerem Fenster die 50 überschreiten können. Das Kontextgrößensignal feuert, wenn es tatsächlich relevant ist.
Hook-Einrichtung
Als Plugin installiert? Keine Einrichtung erforderlich. Das Plugin hooks/hooks.json registriert bereits suggest-compact.js (Hook-ID pre:edit-write:suggest-compact, aktiv in den Hook-Profilen standard und strict). Kopieren Sie den untenstehenden Block nicht in ~/.claude/settings.json — ~/.claude/scripts/ existiert bei Plugin-Installationen nicht, und das Duplizieren eines Plugin-Hooks führt zu doppelter 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-Tokens vor dem kontextgrößenbasierten Vorschlag (Standard: 160000 bei einem 200k-Fenster, 250000 bei einem 1M-Fenster;0deaktiviert das Kontextsignal)COMPACT_CONTEXT_INTERVAL— Zusätzliche Kontext-Tokens, bevor der Vorschlag wiederholt wird (Standard: 60000)COMPACT_STATE_TTL_DAYS— Tage, bevor veraltete sitzungsspezifische Zustandsdateien im Temp-Verzeichnis gelöscht werden (Standard: 14)ECC_CONTEXT_WINDOW_TOKENS— Explizite Kontextfenstergröße in Tokens, die die automatische Erkennung überschreibt. Setzen Sie dies für Modelle mit großem Fenster, deren gemeldete ID keinen[1m]-Marker enthält (z. B. 400k Opus 4.x oder eine neue 1M-Fenster-Modellfamilie), damit der Schwellenwert auf das tatsächliche Fenster skaliert, anstatt auf 200k zu standardisieren und die Kontextnutzung zu überschätzen.CLAUDE_CODE_AUTO_COMPACT_WINDOW— Claude Codes native Fenstergrößenüberschreibung in Tokens; wird als Fallback verwendet, wennECC_CONTEXT_WINDOW_TOKENSnicht gesetzt ist.
Das Kontextfenster wird ansonsten automatisch über einen
[1m]-Modellmarker erkannt oder abgeleitet, wenn beobachtete Tokens bereits 200k überschreiten. Bei einem Modell mit großem Fenster, das keines der beiden Signale trägt, setzen Sie eine der Überschreibungen oben, damit der/compact-Vorschlag zum richtigen Zeitpunkt ausgelöst wird.
Entscheidungstabelle für die Komprimierung
Verwenden Sie diese Tabelle, um zu entscheiden, wann Sie komprimieren sollten:
| Phasenübergang | Komprimieren? | Warum |
|---|---|---|
| Recherche → 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 sich auf aktuellen Code beziehen; komprimieren, wenn der Fokus wechselt |
| Debugging → Nächstes Feature | Ja | Debug-Spuren verunreinigen den Kontext für nicht verwandte Arbeit |
| Mitten in der Implementierung | Nein | Verlust von Variablennamen, Dateipfaden und Teilzuständen ist teuer |
| Nach einem fehlgeschlagenen Ansatz | Ja | Die Sackgassen-Argumentation löschen, bevor ein neuer Ansatz versucht wird |
Was die Komprimierung überlebt
Zu verstehen, was bestehen bleibt, hilft Ihnen, sicher zu komprimieren:
| Bleibt erhalten | Geht verloren |
|---|---|
| CLAUDE.md-Anweisungen | Zwischenargumentation und Analyse |
| Dateien auf der Festplatte | Zuvor gelesene Dateiinhalte |
Speicherdateien (~/.claude/memory/) | Mehrstufiger Gesprächskontext |
| Git-Status (Commits, Branches) | Tool-Aufrufverlauf und -anzahlen |
| Die Aufgabenliste – nur wenn Sie die Todo-Tools haben (siehe unten) | Nuancen von mündlich geäußerten Benutzerpräferenzen |
Verlassen Sie sich nicht darauf, dass die Aufgabenliste überlebt – sie könnte nicht existieren
Claude Code 2.1.233 hat die Todo-/Aufgaben-Tools standardmäßig entfernt auf 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 maschinenspezifische Umgebungseinstellung – sie reist nicht mit diesem Skill, daher können Sie 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 Zustand aufzuschreiben. Wenn die Tools fehlen, gibt es keine Liste, die überleben kann, und der Plan ist einfach weg. Schreiben Sie den Plan vor dem Komprimieren in eine Datei – eine Datei bleibt in jeder Version und auf jedem Modell erhalten. Behandeln Sie die Aufgabenliste als Annehmlichkeit, die fehlen könnte, niemals als Ihr dauerhaftes Aufzeichnungsmedium.
Best Practices
- Nach der Planung komprimieren — Sobald der Plan finalisiert und in eine Datei geschrieben wurde, komprimieren, um neu zu starten
- Nach dem Debugging komprimieren — Fehlerbehebungskontext löschen, bevor Sie fortfahren
- Nicht mitten in der Implementierung komprimieren — Kontext für zusammenhängende Änderungen bewahren
- Den Vorschlag lesen — Der Hook sagt Ihnen wann, 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 Implementierung der Auth-Middleware als nächstes
Optimierungsmuster für Tokens
Trigger-Tabellen-Lazy-Loading
Anstatt den gesamten Skill-Inhalt beim Sitzungsstart zu laden, verwenden Sie eine Trigger-Tabelle, die Schlüsselwörter Skill-Pfaden zuordnet. Skills werden nur bei Auslösung geladen, wodurch der Basiskontext um 50 %+ reduziert wird:
| Auslöser | Skill | Laden, wenn |
|---|---|---|
| "test", "tdd", "coverage" | tdd-workflow | Benutzer Tests erwähnt |
| "security", "auth", "xss" | security-review | Sicherheitsbezogene Arbeit |
| "deploy", "ci/cd" | deployment-patterns | Bereitstellungskontext |
Kontextzusammensetzungsbewusstsein
Überwachen Sie, was Ihren Kontextfenster verbraucht:
- CLAUDE.md-Dateien — Immer geladen, halten Sie sie schlank
- Geladene Skills — Jeder Skill fügt 1-5K Tokens hinzu
- Gesprächsverlauf — Wächst mit jedem Austausch
- Tool-Ergebnisse — Dateilesevorgänge, Suchergebnisse fügen Masse hinzu
Erkennung doppelter Anweisungen
Häufige Quellen von doppeltem Kontext:
- 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
Kontextoptimierungswerkzeuge
token-optimizerMCP — Automatisierte 95 %+ Token-Reduktion durch Inhaltsdeduplizierungcontext-mode— Kontextvirtualisierung (315 KB auf 5,4 KB demonstriert)
Verwandtes
- Der Longform-Leitfaden — Abschnitt zur Token-Optimierung
- Hooks zur Speicherpersistenz — Für Zustand, der die Komprimierung überlebt
- Skill
continuous-learning— Extrahiert Muster, bevor eine Sitzung endet