Communitygithub.com

strategic-compact

Schlägt manuelle Kontextkomprimierung an logischen Punkten vor, um Kontext über Aufgabenphasen hinweg zu erhalten, anstatt auf willkürliche automatische Komprimierung zu vertrauen.

Was ist strategic-compact?

Das **Strategic Compact Skill** ist ein Plugin für KI-Entwicklungsassistenten wie Claude Code, das zu bestimmten strategischen Zeitpunkten eine manuelle Kontextkomprimierung (über den Befehl `/compact`) empfiehlt. Anders als die automatische Komprimierung, die oft mittendrin und ohne Rücksicht auf logische Aufgabengrenzen ausgelöst wird, hilft dieses Skill dabei, den Kontext bewusst zu verwalten: Es schlägt eine Komprimierung vor, nachdem eine Forschungsphase abgeschlossen ist, vor dem Beginn der Implementierung, nach einem Meilenstein oder nach aufwändigen Debugging-Sitzungen. Das Plugin verwendet ein Node.js-Skript (`suggest-compact.js`), das zwei Signale auswertet – die tatsächliche Kontextgröße in Tokens (ermittelt aus dem Sitzungstranskript) und die Anzahl der Tool-Aufrufe. Es kann sowohl als Plugin installiert werden (keine manuelle Konfiguration nötig) als auch manuell über ein Installationsskript. Durch die Wahl des richtigen Zeitpunkts für die Komprimierung bleibt wichtige Information erhalten (wie Dateien auf der Festplatte, `CLAUDE.md`-Anweisungen und der Git-Status), während überflüssige Zwischenschritte entfernt werden. Das Skill bietet zudem eine Entscheidungstabelle für häufige Phasenübergänge und eine Liste von Optimierungsmustern, um den Kontextverbrauch weiter zu reduzieren.

Funktioniert mit✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/affaan-m/ECC/tree/main/skills/strategic-compact

In Ihrer bevorzugten KI fragen

Öffnet einen neuen Chat, in dem dieser Agent-Skill bereits geladen ist.

Dokumentation

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:

  1. Kontextgröße (primär) — Liest den aktuellen usage-Eintrag aus dem Sitzungstranskript (transcript_path in der Hook-Nutzlast) und summiert input_tokens + cache_read_input_tokens + cache_creation_input_tokens (die tatsächliche Kontextgröße des Durchgangs). Schlägt /compact bei 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
  2. 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; 0 deaktiviert 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, wenn ECC_CONTEXT_WINDOW_TOKENS nicht 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übergangKomprimieren?Warum
Recherche → PlanungJaForschungskontext ist umfangreich; der Plan ist das destillierte Ergebnis
Planung → ImplementierungJaDer Plan ist niedergeschrieben (eine Datei oder die Aufgabenliste, falls vorhanden); Kontext für Code freigeben
Implementierung → TestVielleichtBehalten, wenn Tests sich auf aktuellen Code beziehen; komprimieren, wenn der Fokus wechselt
Debugging → Nächstes FeatureJaDebug-Spuren verunreinigen den Kontext für nicht verwandte Arbeit
Mitten in der ImplementierungNeinVerlust von Variablennamen, Dateipfaden und Teilzuständen ist teuer
Nach einem fehlgeschlagenen AnsatzJaDie 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 erhaltenGeht verloren
CLAUDE.md-AnweisungenZwischenargumentation und Analyse
Dateien auf der FestplatteZuvor 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=1 bringt 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

  1. Nach der Planung komprimieren — Sobald der Plan finalisiert und in eine Datei geschrieben wurde, komprimieren, um neu zu starten
  2. Nach dem Debugging komprimieren — Fehlerbehebungskontext löschen, bevor Sie fortfahren
  3. Nicht mitten in der Implementierung komprimieren — Kontext für zusammenhängende Änderungen bewahren
  4. Den Vorschlag lesen — Der Hook sagt Ihnen wann, Sie entscheiden ob
  5. Vor dem Komprimieren schreiben — Wichtigen Kontext in Dateien oder Speicher speichern, bevor Sie komprimieren
  6. /compact mit 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öserSkillLaden, wenn
"test", "tdd", "coverage"tdd-workflowBenutzer Tests erwähnt
"security", "auth", "xss"security-reviewSicherheitsbezogene Arbeit
"deploy", "ci/cd"deployment-patternsBereitstellungskontext

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-optimizer MCP — Automatisierte 95 %+ Token-Reduktion durch Inhaltsdeduplizierung
  • context-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

Individual skills in this repo

This repo contains 20 individual skills — each has its own dedicated page.

accessibility

Design, implement, and audit inclusive digital products using WCAG 2.2 Level AA. Use when building or auditing UI that must meet WCAG 2.2 Level AA, or when reviewing a change for keyboard, contrast, or screen-reader support.

affaan-m/content-engine

Create platform-native content systems for X, LinkedIn, TikTok, YouTube, newsletters, and repurposed multi-platform campaigns. Use when the user wants social posts, threads, scripts, content calendars, or one source asset adapted cleanly across platforms.

affaan-m/ECC

Multi-platform content distribution across X, LinkedIn, Threads, and Bluesky. Adapts content per platform using content-engine patterns. Never posts identical content cross-platform. Use when the user wants to distribute content across social platforms.

affaan-m/fal-ai-media

Unified media generation via fal.ai MCP — image, video, and audio. Covers text-to-image (Nano Banana), text/image-to-video (Seedance, Kling, Veo 3), text-to-speech (CSM-1B), and video-to-audio (ThinkSound). Use when the user wants to generate images, videos, or audio with AI.

affaan-m/manim-video

日本語翻訳:このファイルは manim-video 用の日本語翻訳が必要です

affaan-m/remotion-video-creation

Remotion のベストプラクティス - React で動画を作成する。3D、アニメーション、音声、字幕、チャート、トランジションなどをカバーするドメイン固有の29のルール。

affaan-m/video-editing

AI-assisted video editing workflows for cutting, structuring, and augmenting real footage. Covers the full pipeline from raw capture through FFmpeg, Remotion, ElevenLabs, fal.ai, and final polish in Descript or CapCut. Use when the user wants to edit video, cut footage, create vlogs, or build video content.

agent-architecture-audit

Full-stack diagnostic for agent and LLM applications. Audits the 12-layer agent stack for wrapper regression, memory pollution, tool discipline failures, hidden repair loops, and rendering corruption. Produces severity-ranked findings with code-first fixes. Essential for developers building agent applications, autonomous loops, or any LLM-powered feature. Use when an agent or LLM feature misbehaves and the failing layer is unknown, or before shipping an agent stack.

agent-eval

Head-to-head comparison of coding agents (Claude Code, Aider, Codex, etc.) on custom tasks with pass rate, cost, time, and consistency metrics. Use when choosing between coding agents, or when a change to an agent setup needs measured pass rate, cost, and time rather than an impression.

agent-harness-construction

Design and optimize AI agent action spaces, tool definitions, and observation formatting for higher completion rates. Use when defining or revising an agent

agentic-engineering

Operate as an agentic engineer using eval-first execution, decomposition, and cost-aware model routing. Use when planning or executing engineering work that agents will carry out end to end.

agentic-os

Build persistent multi-agent operating systems on Claude Code. Covers kernel architecture, specialist agents, slash commands, file-based memory, scheduled automation, and state management without external databases. Use when building a persistent multi-agent system on Claude Code with its own memory, commands, and scheduling.

agent-introspection-debugging

Structured self-debugging workflow for AI agent failures using capture, diagnosis, contained recovery, and introspection reports. Use when an agent run fails and you need a reproducible diagnosis instead of a retry.

agent-payment-x402

Add x402 payment execution to AI agents with per-task budgets, spending controls, and non-custodial wallets. Supports Base through agentwallet-sdk and X Layer through OKX Payments / OKX Agent Payments Protocol. Use when an agent must pay for something itself and needs per-task budgets, spending controls, and a non-custodial wallet.

agent-self-evaluation

Use after completing any non-trivial task. The agent self-rates its output on 5 axes — accuracy, completeness, clarity, actionability, conciseness — with concrete evidence per criterion. Produces a structured 1-5 scorecard with specific improvement suggestions.

agent-sort

Build an evidence-backed ECC install plan for a specific repo by sorting skills, commands, rules, hooks, and extras into DAILY vs LIBRARY buckets using parallel repo-aware review passes. Use when ECC should be trimmed to what a project actually needs instead of loading the full bundle.

ai-first-engineering

Engineering operating model for teams where AI agents generate a large share of implementation output. Use when setting team process, review gates, or ownership rules for a codebase largely written by agents.

ai-regression-testing

Regression testing strategies for AI-assisted development. Sandbox-mode API testing without database dependencies, automated bug-check workflows, and patterns to catch AI blind spots where the same model writes and reviews code. Use when adding regression coverage to AI-assisted code, or when the same model both wrote and reviewed a change.

android-clean-architecture

Clean Architecture patterns for Android and Kotlin Multiplatform projects — module structure, dependency rules, UseCases, Repositories, and data layer patterns. Use when structuring modules, layers, or data flow in an Android or KMP project.

angular-developer

Generates Angular code and provides architectural guidance. Trigger when creating projects, components, or services, or for best practices on reactivity (signals, linkedSignal, resource), forms, dependency injection, routing, SSR, accessibility (ARIA), animations, styling (component styles, Tailwind CSS), testing, or CLI tooling.

Verwandte Skills