Zum Hauptinhalt springen

Kontextbudget-Audit: /skill-doctor, Output-Obergrenzen und die sechs Zahlen, die Ihr Fenster füllen

Fortgeschritten

Ein Claude-Code-Projekt sammelt Kontextschulden an wie ein Laptop Browser-Tabs. Jeder installierte Skill fügt eine Zeile zu einer Liste hinzu, die Claude bei jedem Turn neu liest. Jeder Subagent fügt eine Beschreibung hinzu. Jeder CLAUDE.md-Absatz, den Sie im März geschrieben haben, wird im September geladen, ob die Aufgabe ihn braucht oder nicht. Und jedes npm test kippt bis zu 30.000 Zeichen in die Unterhaltung. Nichts davon ist sichtbar, bis die Sitzung anfängt, Anweisungen zu vergessen, oder die Rechnung nicht mehr zur Arbeit passt.

Kontextverwaltung behandelt die zwei Befehle, die Sie im Moment nutzen: /clear und /compact. Diese Seite ist das Audit, das Sie einmal pro Projekt durchführen: sechs Stellen, an denen Claude Code Kontext ausgibt, bevor Sie etwas tippen oder zwischen Ihren Turns, die Einstellung, die jede davon steuert, und der Standardwert, auf den sie gesetzt ist. Alles hier steht in den offiziellen Docs mit Stand September 2026, und die meisten dieser Stellschrauben sind neuer als die Folklore über sie.

What you'll learn
  • Messen, bevor Sie kürzen: /context, die /usage-Zuordnung und die Listenschätzung von /doctor lesen, damit Sie den größten Posten zuerst beheben
  • Die Skill-Liste mit /skill-doctor (v2.1.252+) und den vier skillOverrides-Zuständen ausdünnen und das 1%-des-Fensters-Budget kennen, auf das die Liste begrenzt ist
  • Begrenzen, was ein Shell-Befehl oder ein Hintergrund-Task inline zurückgibt (standardmäßig 30.000 und 32.000 Zeichen), mit bashOutputMaxChars und taskOutputMaxChars
  • Nicht mehr in jedem Subagenten für CLAUDE.md bezahlen dank omitClaudeMd (v2.1.271+) und Subagent-Beschreibungen unter der 15.000-Token-Warnlinie halten
  • Das Auto-Compact-Fenster bewusst setzen (/autocompact, autoCompactWindow) und das 25.000-Token-Budget verstehen, das entscheidet, welche aufgerufenen Skills die Kompaktierung überleben
  • Den Aufwand flottenweit mit maxEffortLevel begrenzen, wenn Thinking-Tokens und nicht der Kontext die eigentliche Rechnung sind

Was im Fenster liegt, bevor Sie tippen​

Zwei Fakten machen dieses Diagramm handlungsrelevant. Alles im linken Kasten wird bei jeder Anfrage bezahlt, weil Claude Code bei jedem Turn die vollständige Unterhaltung sendet und nur der Cache-Read-Rabatt das abfedert. Und der rechte Kasten ist der Ort, an dem ein einziger gesprächiger Befehl in einem Schritt mehr hinzufügen kann als der gesamte linke Kasten. Das Audit unten arbeitet von links nach rechts.

Das Audit​

Guided walkthrough1 of 9
  1. Führen Sie /context aus, um eine Live-Aufschlüsselung nach Kategorie mit Optimierungsvorschlägen zu erhalten, einschließlich der geladenen CLAUDE.md- und Auto-Memory-Dateien. Auf einem Pro-, Max-, Team- oder Enterprise-Plan ordnet /usage die jüngste Nutzung Skills, Subagenten, Plugins und einzelnen MCP-Servern prozentual zu und markiert Verhaltensweisen (langer Kontext, Cache-Misses), die 10 % oder mehr ausmachen. /doctor schätzt die Kontextkosten der Skill-Liste und ihre größten Verursacher. Notieren Sie die drei größten Posten, bevor Sie etwas ändern.

Ein Einstellungsblock zum Einfügen​

Projektlokale Kontext-Obergrenzen (.claude/settings.local.json)

{
"bashOutputMaxChars": 12000,
"taskOutputMaxChars": 12000,
"skillOverrides": {
  "legacy-migration-notes": "name-only",
  "deploy-prod": "user-invocable-only",
  "old-design-system": "off"
},
"autoCompactWindow": 500000,
"maxEffortLevel": "high"
}

Lesen Sie ihn von oben nach unten als Entscheidungen, nicht als Standardwerte. Die zwei Output-Obergrenzen gehen von einem gesprächigen Test-Runner aus; setzen Sie sie zurück Richtung 30.000 / 32.000, wenn Claude bei jedem Lauf die gespeicherte Ausgabedatei öffnet. Die drei Overrides halten die Skills erreichbar, ohne für ihre Beschreibungen zu bezahlen. Das Kompaktierungsfenster ist eine bewusste Wahl für ein 1M-Kontext-Modell, bei dem Sie lieber bei der Hälfte kompaktieren als am modellabgestimmten Punkt. Die Aufwandsgrenze ist die eine Zeile hier, die die Ausgabequalität verändert, also setzen Sie sie zuletzt und nur, nachdem /usage zeigt, dass Thinking-Tokens dominieren.

Subagent, der CLAUDE.md nicht lädt (.claude/agents/repo-auditor.md)

---
name: repo-auditor
description: Audits a repository for dead code and unused exports. Use for read-only sweeps.
tools: Read, Grep, Glob, Bash
model: sonnet
omitClaudeMd: true
---
You are a read-only auditor. Everything you need is in the delegation prompt.
Report findings as a table of path, symbol, and evidence. Do not edit files.

Den Skill-Bericht in einer Headless-Sitzung ausführen

claude -p "/skill-doctor"

Häufige Fehler​

Watch out
  • Skills löschen statt einklappen. name-only hält einen Skill bei nahezu null Listenkosten aufrufbar; off entfernt ihn auch aus dem /-Menü. Die meisten 'ungenutzten' Skills sollten name-only werden, nicht verschwinden.
  • bashOutputMaxChars auf die 128.000-Obergrenze anheben, weil ein Build-Log übergelaufen ist. Das macht jeden künftigen Befehl inline bis zu 4× teurer. Filtern Sie das Log stattdessen mit einem PreToolUse-Hook (grep nach FAIL, head -100); die Kosten-Docs zeigen den genauen Hook.
  • autoCompactWindow über den Kontext des Modells setzen. Claude Code begrenzt es stillschweigend auf das Fenster, die Einstellung sieht also angewendet aus und bewirkt nichts.
  • Annehmen, ein Subagent sei billig, weil sein Kontext getrennt ist. Sein Start umfasst weiterhin jede CLAUDE.md-Ebene und einen git-Schnappschuss, es sei denn, es handelt sich um Explore, Plan oder er setzt omitClaudeMd.
  • /skill-doctor über Remote Control vom Handy lesen. Es gibt 'Skill usage reports are not available on this connection.' zurück. Führen Sie es im Terminal aus, in dem die Sitzung lebt.
  • Erwarten, dass ein aufgerufener Skill /compact überlebt. Nur die jüngsten Aufrufe passen in das 25.000-Token-Re-Attach-Budget, mit je 5.000 Tokens. Rufen Sie erneut auf, was Sie noch brauchen.

Kurzer Check​

Check yourself

0/6
  1. Was meldet /skill-doctor, und was lässt es bewusst aus?
  2. Ihre Skill-Liste hat ihr Budget überschritten. Was passiert?
  3. Ein erfolgreiches npm test gibt 80.000 Zeichen aus. Was erhält Claude mit den Standardeinstellungen?
  4. Welche Subagenten überspringen Ihre CLAUDE.md-Dateien ohne jede Konfiguration?
  5. Sie haben in einer langen Sitzung sechs Skills aufgerufen und /compact ist gerade gelaufen. Welche überleben?
  6. maxEffortLevel steht in den verwalteten Einstellungen auf 'medium' und in Ihren Benutzereinstellungen auf 'high'. Was läuft?
Drücke Enter oder die Leertaste, um die Karte umzudrehen. Nutze die Pfeiltasten links und rechts, um zwischen den Karten zu wechseln.Begriff angezeigt.
1 / 10
Key takeaways
  • Zuerst messen: /context für die Live-Aufschlüsselung, /usage für die Zuordnung nach Skill, Subagent, Plugin und MCP-Server, /doctor für die Listenschätzung.
  • Die Skill-Liste ist eine Steuer pro Turn, begrenzt auf 1 % des Fensters. /skill-doctor sagt Ihnen, was Sie einklappen sollten; name-only hält einen Skill bei nahezu null Kosten nutzbar.
  • Tool-Ausgaben sind der schnellste Weg, ein Fenster zu sprengen: ~30.000 Zeichen inline pro erfolgreichem Befehl, 32.000 pro Hintergrund-Task. Begrenzen mit bashOutputMaxChars / taskOutputMaxChars oder mit einem Hook filtern.
  • Subagenten sind beim Start nicht kostenlos: jede CLAUDE.md-Ebene plus git status, außer bei Explore, Plan oder omitClaudeMd. Halten Sie eigene Beschreibungen zusammen unter 15.000 Tokens.
  • Die Kompaktierung behält nur die zuletzt aufgerufenen Skills (je 5.000, 25.000 insgesamt). Setzen Sie autoCompactWindow bewusst und rufen Sie erneut auf, was überleben muss.
  • Wenn Thinking-Tokens die Rechnung dominieren, begrenzt maxEffortLevel den Aufwand flottenweit; der niedrigste Geltungsbereich gewinnt und die Grenze gilt bei jedem Provider.

Quellen und weiterführende Lektüre​

Weiter​

  • Kontextverwaltung — /clear vs. /compact im Moment, sobald das Audit erledigt ist
  • Skills — Skills schreiben, die ihre Listenzeile verdienen
  • Subagenten — den Delegations-Prompt so gestalten, dass omitClaudeMd sicher ist