Heute kamen drei Links auf meinen Tisch. context-mode verspricht 98 Prozent weniger Kontext. VibeSec soll Claude Code dazu bringen, Web-Code wie ein Bug Hunter zu schreiben. stop-slop räumt KI-Muster aus Texten. Die Bitte dazu war klar: alle drei installieren und ins bestehende System einbauen, für bessere Ergebnisse und weniger Tokenverbrauch.
Am Ende bekam jedes der drei Werkzeuge eine andere Entscheidung. VibeSec sitzt jetzt fest im Ablauf. context-mode bleibt aus und lässt sich pro Sitzung zuschalten. stop-slop liegt installiert im Ordner und hängt an keiner Regel.
Dieser Beitrag gehört zur Reihe über mein Claude-Code-Setup. „Claude Code einrichten“ baut das Grundsystem, „Die Agent-Schleife“ beschreibt den Loop mit drei Runden, „Claude Code baut. Codex prüft“ ergänzt das Review. Du kannst ihn auch ohne die anderen Teile lesen.
der kern in vier sätzen
Ein Werkzeug, das Token sparen soll, muss im eigenen Setup gegen einen Lauf ohne es antreten. context-mode war bei mir 11 Prozent teurer, weil lean-ctx die Arbeit schon macht. VibeSec kostet nur dann Kontext, wenn Web-Code mit Sicherheitsbezug entsteht, und genau dort gehört es hin. Für stop-slop gab es keine Lücke.
das system vor dem update
Mein Setup hat einen festen Ablauf von DEFINE bis SHIP. Das Hauptmodell plant und nimmt ab, günstige Instanzen bauen die einzelnen Schritte, Codex prüft als unabhängiger Reviewer. Jede Sitzung startet mit lean-ctx, einem lokalen Werkzeug, das Datei-Lesen, Suchen und Shell-Ausgaben komprimiert, bevor sie im Kontext landen.
Der feste Vorspann einer Sitzung lag bis zum 10.09. bei rund 73.000 Token. Nach einer Aufräumrunde an diesem Tag waren es 17.000. Seitdem gilt eine einfache Regel. Was in den Startkontext will, muss dort messbar mehr sparen, als es kostet.
Das Schaubild zeigt, wo die drei neuen Werkzeuge andocken. Tippe auf einen Knoten, dann siehst du seine Verbindungen.
Das System in vier Schichten: Sitzung mit lean-ctx und optional context-mode, Orchestrierung mit orchestrate und executor, Prüfung mit VibeSec, Security-Hook und Codex, Text mit humanizer und stop-slop.
- sitzung: lean-ctx (Komprimiert Lesen, Suchen und Shell-Ausgaben in jeder Sitzung. Standard.); context-mode (Sandbox und Suchindex für große Ausgaben. Nur per claude-cm, nur für eine Sitzung.)
- orchestrierung: orchestrate (Plan mit Prüfbefehl je Schritt, harte Grenze von drei Runden.); executor (Günstige Instanzen bauen die Schritte, das Hauptmodell nimmt ab.)
- prüfung: VibeSec (Neu: Regeln für sicheren Web-Code, geladen beim Schreiben.); security-hook (Prüft jede Änderung nach dem Schreiben.); Codex (Unabhängiges Review, adversarial bei Sicherheitsthemen.)
- text: humanizer (Pflicht für deutsche Texte mit Außenwirkung.); stop-slop (Neu installiert, bewusst in keine Regel eingebaut.)
Verbindungen: von lean-ctx zu orchestrate, von context-mode zu executor, von orchestrate zu executor, von executor zu VibeSec, von VibeSec zu security-hook, von security-hook zu Codex, von executor zu humanizer.
Tippe auf einen Knoten, um seine Verbindungen zu sehen.
context-mode: gemessen und für teuer befunden
context-mode ist ein Plugin mit eigenem MCP-Server. Es führt Code in einer Sandbox aus, legt große Ausgaben in einen lokalen Suchindex und gibt dem Modell nur die passenden Treffer zurück. Dazu hängt es Hooks an Read, Grep, WebFetch, Agent und jedes MCP-Tool. Die Idee ist gut. Rohe Ausgaben fressen in langen Sitzungen den größten Teil des Kontexts.
Installiert hatte ich es schon am 18.09. Am selben Tag lief der A/B-Test. Die Aufgabe war bewusst ausgabelastig. Claude sollte die drei meistgeänderten Dateien aus git log --stat eines Repos mit rund 168 KB Ausgabe finden. Vier Läufe ohne context-mode, zwei mit, jeder Arm per --settings fest eingestellt.
| Kategorie | Wert |
|---|---|
| aus 1 | 1,28 $ |
| aus 2 | 1,26 $ |
| aus 3 | 1,16 $ |
| aus 4 | 1,02 $ |
| an 1 | 1,30 $ |
| an 2 | 1,31 $ |
- aus 11,28 $
- aus 21,26 $
- aus 31,16 $
- aus 41,02 $
- an 11,30 $
- an 21,31 $
Ohne das Plugin kosteten die Läufe zwischen 1,02 und 1,28 Dollar. Mit Plugin lagen beide Läufe bei 1,30 und 1,31 Dollar, im Mittel rund 11 Prozent darüber. Alle sechs Antworten waren richtig.
Den Grund zeigt der Cache. Mit context-mode schrieb jede Sitzung rund 116.000 Token in den Cache, ohne waren es 94.000 bis 113.000. Das Plugin bringt elf Tools und einen Block mit Routing-Regeln in den Vorspann. Die Kompression, die es anbietet, hatte lean-ctx schon erledigt.
| Kategorie | Wert |
|---|---|
| aus, min | 94k |
| aus, max | 113k |
| an | 116k |
- aus, min94k
- aus, max113k
- an116k
Dazu kam eine Falle. Der Hook von context-mode ersetzt curl-Aufrufe ohne -s -o datei durch ein echo. Eine Live-Prüfung wie curl -sI auf einen Cache-Header liefert dann still nichts zurück, und du suchst den Fehler auf dem Server.
Einen Tag vorher hatte ich mit einem Kompressions-Proxy dasselbe Muster gesehen. Er komprimierte nach lean-ctx noch 0,7 Prozent und machte den Lauf 2,5 Prozent teurer. Zwei Werkzeuge für dieselbe Aufgabe sparen nicht doppelt. Das zweite zahlt nur noch Eintritt.
die lösung: eine weiche statt eines schalters
Global einschalten kam nach diesen Zahlen nicht in Frage. Ganz löschen wollte ich es auch nicht. Für sehr große Ausgaben aus Playwright, langen Logs oder Web-Abrufen habe ich noch keine Messung. Dort richtet lean-ctx wenig aus.
Deshalb gibt es jetzt ein Startskript mit vier Zeilen. Es schaltet context-mode für genau eine Sitzung ein und lässt die globale Einstellung unberührt.
context-mode nur für eine sitzung
~/bin/claude-cm#!/usr/bin/env bash
# context-mode nur für diese Sitzung (global aus).
# Für Aufgaben mit großem Tool-Output: Playwright, Logs, große Web-Fetches.
exec claude --settings '{"enabledPlugins":{"context-mode@context-mode":true}}' "$@"Ob die Weiche greift, prüfst du am init-Event. Das ist die erste Meldung einer Sitzung im Format stream-json, sie listet alle geladenen Tools. Mit dem Skript waren es 11 Tools von context-mode, im normalen Start 0.
prüfen, ob die weiche greift
terminalclaude-cm -p "ok" --model haiku --max-turns 1 \
--output-format stream-json --verbose </dev/null \
| grep -m1 '"subtype":"init"' \
| grep -o 'mcp__plugin_context-mode[a-z_-]*' | sort -u | wc -lvibesec: sicherheit beim schreiben statt danach
VibeSec ist eine einzige Markdown-Datei mit 758 Zeilen. Sie beschreibt Zugriffskontrolle, Eingabeprüfung, Uploads, SQL, Ausgabe-Kodierung, Weiterleitungen und den Umgang mit Secrets, jeweils mit Checklisten und typischen Fehlern. Ein Skript führt sie nicht aus. Das habe ich vor der Installation gelesen, denn ein Skill mit Shell-Zugriff wäre eine andere Entscheidung gewesen.
In meinem Ablauf gab es bisher zwei Sicherheitsprüfungen. Ein Hook liest jede Änderung, nachdem sie geschrieben ist. Bei Auth, Datenbank oder Infrastruktur folgt ein adversariales Review durch Codex. Beide finden Fehler, die schon im Code stehen. Jeder Fund kostet dann eine weitere Runde, und meine Grenze liegt bei drei.
VibeSec setzt vorher an. Bei Web-Code, der Anmeldung, Eingaben, Uploads, SQL, HTML-Ausgabe, Weiterleitungen, Secrets oder fremde Adressen berührt, lädt Claude Code den Skill in der BUILD-Phase. Der Code entsteht dann gleich mit Besitzprüfung auf der Datenebene und kodierter Ausgabe. Alles andere zahlt nichts, weil der Skill außerhalb dieser Fälle nicht geladen wird.
define
Ziel und Prüfbefehl.
plan
Schritte, Dateien, Risiken.
build
Web-Code mit Auth, Eingaben oder SQL: VibeSec zuerst laden.
aktuellverify
Prüfbefehle grün, Gegenprobe rot.
review
Security-Hook, danach Codex adversarial.
ship
Ship Gate, nur mit Freigabe.
Hook und Codex bleiben, wo sie sind. Das Review wird nicht überflüssig, es findet nur weniger. Jeder Befund, den Codex nicht mehr melden muss, spart eine Runde mit Diff, Befund und Nachbesserung.
stop-slop: installiert, aber ohne regel
stop-slop besteht aus sieben kleinen Dateien. Die Regeln sind gut. Sie verbieten Füllphrasen, Kontraste nach dem Muster „nicht X, sondern Y“ und Gedankenstriche und verlangen aktive Sätze mit konkreten Akteuren. Am Ende steht eine Bewertung über fünf Dimensionen mit einer Schwelle von 35 von 50 Punkten.
Fast genau diese Rubrik nutze ich schon. Für deutsche Texte läuft ein Humanizer als Pflicht, für englische ein zweiter Linter. Ein dritter Prüfer mit leicht anderen Wortlisten hätte zu jedem Text eine weitere Runde Abgleich gebracht. Deshalb liegt stop-slop im Skill-Ordner und kann per Aufruf genutzt werden, hängt aber an keiner Regel.
drei werkzeuge, drei entscheidungen
| werkzeug | verspricht | geprüft | entscheidung |
|---|---|---|---|
| context-mode | bis zu 98 % weniger kontext | a/b mit 6 läufen: +11 % kosten, gleiche antwort | global aus, pro sitzung per claude-cm |
| VibeSec | sicherer web-code aus sicht eines bug hunters | 758 zeilen regeln, nur markdown, kein skript | in BUILD bei web-code mit auth, eingaben, sql |
| stop-slop | ki-muster aus texten entfernen | 7 markdown-dateien, deckt sich mit zwei skills | installiert, in keine regel eingebaut |
Die Tabelle wirkt uneinheitlich. Genau das ist das Ergebnis. Eine Pauschalregel wie „alles installieren“ oder „nichts Neues“ hätte bei mindestens einem der drei danebengelegen.
zwei regeln für die CLAUDE.md
~/.claude/CLAUDE.md## Loop
- Token: lean-ctx bleibt Standard. context-mode global AUS (eigener A/B: +11 %).
Aufgabe mit großem Tool-Output (Playwright, Logs, Web-Fetches > 50 KB)
→ eigene Sitzung per ~/bin/claude-cm.
## Security
- Web-Code mit Auth, Eingaben, Uploads, SQL, HTML-Ausgabe, Redirects,
Secrets oder fremden URLs: in BUILD vorher vibesec-skill laden.
Security-Audit: erst vibesec-skill, dann /codex:adversarial-review.der september in vier messpunkten
Die Entscheidung von heute steht auf drei früheren Messungen. Jede davon hat ein Werkzeug aus dem Startkontext genommen oder draußen gehalten.
Vier Messpunkte im September: Sockel-Diät am 10.09., Headroom am 17.09., context-mode am 18.09., drei Skills am 29.09.
- 10.09. · erledigt
sockel-diät
Plugins und Skills aus dem Startkontext: 73.000 auf 17.000 Token.
- 17.09. · erledigt
headroom-proxy
0,7 % Kompression, Lauf 2,5 % teurer. Wieder ausgebaut.
- 18.09. · erledigt
context-mode a/b
Sechs Läufe, 11 % teurer. Abgeschaltet, installiert gelassen.
- 29.09. · in Arbeit
drei skills
VibeSec eingebaut, context-mode als Weiche, stop-slop geparkt.
so prüfst du ein neues werkzeug
1. erst lesen, dann installieren
Öffne jede Datei des Repos. Markdown ohne Skripte ist ein anderes Risiko als ein Plugin mit Hooks auf allen Tools.
2. einen a/b-lauf aufsetzen
Nimm eine echte Aufgabe aus deinem Alltag, keine Demo. Stelle beide Arme per --settings fest ein, damit kein globaler Schalter dazwischenfunkt. Vergleiche Kosten, cache_write und die Antwort.
3. die überschneidung suchen
Frag bei jedem Werkzeug, welches vorhandene schon dieselbe Arbeit macht. Doppelte Kompression und doppelte Textprüfung kosten, ohne etwas zu bringen.
4. den ort im ablauf festlegen
Ein Werkzeug ohne festen Platz wird entweder nie geladen oder immer. Schreib in deine CLAUDE.md, in welcher Phase und bei welchem Auslöser es greift.
Was jede zusätzliche Runde in Token und Geld bedeutet, rechnet „Was eine Aufgabe auf Opus 5.5 kostet“ vor. Wie ein Review an den geprüften Code-Stand gebunden wird, zeigt „ClaudeX Loop geprüft“.
was noch offen ist
Die Messung für context-mode bei wirklich großen Ausgaben steht aus. Sobald ein Playwright-Lauf mit mehreren Megabyte Ausgabe ansteht, läuft er zweimal, einmal mit Weiche und einmal ohne. Fällt der Unterschied klar zugunsten des Plugins aus, bekommt es einen festen Auslöser im Ablauf. Sonst bleibt es bei der Weiche.
häufige fragen
Spart context-mode in Claude Code Token?
In meinem Setup nicht. Im A/B-Test mit sechs Läufen derselben Aufgabe waren die beiden Läufe mit context-mode im Mittel rund 11 Prozent teurer, die Antwort war in allen Läufen richtig. lean-ctx komprimiert die Ausgaben bei mir schon vorher, context-mode legt dann vor allem zusätzliche Tools und Regeln in den festen Vorspann jeder Sitzung.
Wann lohnt sich context-mode trotzdem?
Bei Aufgaben mit sehr großer Tool-Ausgabe, etwa Playwright-Läufen, langen Logs oder großen Web-Abrufen. Das habe ich noch nicht gemessen. Deshalb starte ich solche Sitzungen gezielt mit einem kleinen Skript, das context-mode nur für diese eine Sitzung einschaltet.
Was macht der VibeSec-Skill?
VibeSec ist eine Markdown-Anleitung mit 758 Zeilen für sicheren Web-Code. Sie deckt Zugriffskontrolle, Eingabeprüfung, Uploads, SQL, Ausgabe-Kodierung, Weiterleitungen und Secrets ab. Der Skill führt keine Skripte aus, er ändert nur, wie Claude Code schreibt.
Ersetzt VibeSec ein Security-Review?
Nein. VibeSec wirkt beim Schreiben. Danach prüft bei mir ein Security-Hook jede Änderung, und bei sicherheitsrelevantem Code folgt ein adversariales Review durch Codex.
Warum ist stop-slop installiert, aber nicht eingebunden?
Die Regeln von stop-slop decken sich fast ganz mit zwei Skills, die ich schon für Texte nutze. Ein dritter Prüfer mit leicht anderen Regeln würde Texte nicht besser machen, nur die Prüfung länger.
Wie prüfe ich, ob ein Plugin in einer Sitzung aktiv ist?
Starte Claude Code mit -p, --output-format stream-json und --verbose. Das init-Event listet alle geladenen Tools. Mit dem Plugin tauchen dessen Tools auf, ohne das Plugin nicht. Bei mir waren es 11 gegen 0.
quellen und stand
Stand: 29.09.2026. Messwerte aus eigenen Läufen am 10., 17., 18. und 29.09.2026. Gelesen wurden die Repos von context-mode (Version 1.0.169), VibeSec und stop-slop.


