CommunityCodierung & Entwicklunggithub.com

F-Modus (Filter-First-Modus)

Token-sparende Arbeitsweise für Coding-Agents: Rohdaten gelangen nie in den Kontext, nur das Ergebnis. Ideal für Tests, Logs, Datenbankabfragen, große Dateien oder wenn der Benutzer „f-mode“, „Filter first“, „Tickets sparen“, „Kontext füllt sich“ oder „zu viel Ausgabe“ sagt.

Was ist F-Modus (Filter-First-Modus)?

Der F-Modus (Filter-First-Modus) ist eine Token-Ökonomie-Arbeitsweise für KI-Coding-Agenten wie Claude Code, Cursor oder Codex. Das Kernprinzip lautet: Rohdaten (z. B. gesamte Logdumps, 5 MB große JSONs oder vollständige Datenbanktabellen) werden nie in den Kontext geladen; stattdessen wird die Logik zu den Daten verschoben – mittels Shell-Pipelines, kurzer Skripte oder eines Unteragenten – und nur eine kompakte Zusammenfassung zurückgebracht. Dies spart wertvolle Token für die eigentliche Reasoning-Arbeit und verhindert, dass langer, verrauschter Kontext die Entscheidungsqualität verschlechtert. Der Skill deckt alle wichtigen Anwendungsfälle ab: Testausführungen mit kurzen Tracebacks, Log-Analysen mit Exit-Codes und Fehlerzählungen, viele ähnliche Prüfungen (z. B. 20 Endpunkte) in einem einzigen Script, Browser-Checks mit kompaktem JSON statt DOM-Snapshots, sowie den Einsatz von Unteragenten für großflächige Untersuchungen. Zusätzlich enthält er klare Regeln zur Geheimnisbehandlung, zur Dateiauslese und eine Stopp-Regel nach zwei fehlgeschlagenen Fix-Versuchen. Die Verifikation der Zusammenfassung mittels erwarteter Werte oder Plausibilitätsprüfungen wird ebenfalls empfohlen, um falsch-positive Ergebnisse zu vermeiden.

Funktioniert mit~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/komilovsg/f-mode/tree/HEAD/skills/f-mode

Installed? Explore more Codierung & Entwicklung skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

In Ihrer bevorzugten KI fragen

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

Dokumentation

F-Modus — Filter-First-Modus

Prinzip: Rohdaten gelangen nie in den Kontext; nur das Ergebnis tut es. Verlagere die Logik zu den Daten (eine Shell-Pipeline, ein kurzes Skript, ein Unteragent) und bringe eine kompakte Zusammenfassung zurück. Jedes Token eines Logdumps, das du liest, ist ein Token, das du nicht für das Reasoning ausgeben kannst – und langer, verrauschter Kontext verschlechtert das Reasoning, nicht nur, dass es teurer wird.

1. Vor dem Lesen filtern und aggregieren

StattdessenMach dies
cat app.log`grep -c ERROR app.log; grep -E 'ERROR
eine 5 MB große JSON lesenjq '.items | length', jq -r '.items[] | [.id,.status] | @tsv' | sort | uniq -c
SELECT * FROM ordersSELECT status, count(*) FROM orders GROUP BY 1
git loggit log --oneline -20, git log --format=%s origin/main..HEAD
in einer Datei scrollengrep -n 'def handle' file.py, dann mit Offset/Limit lesen

2. Filtern darf niemals Fehler verstecken

Eine abgeschnittene Ansicht, die grün aussieht, ist schlimmer als gar keine Ansicht.

  • Behalte den Exit-Code: set -o pipefail, oder cmd > out.txt 2>&1; echo "exit=$?"; tail -20 out.txt. Direktes Piping in tail verliert den Exit-Code des Befehls.
  • Greife zusätzlich zu tail auch nach Fehlermarkern: grep -cE 'FAIL|ERROR|Traceback|panic' out.txt.
  • Gib Zählwerte mit Nennern aus: bestanden 41/42, niemals nur „OK".
pytest -q --tb=short > /tmp/t.out 2>&1; echo "exit=$?"
grep -cE 'FAILED|ERROR' /tmp/t.out; tail -15 /tmp/t.out

3. Viele ähnliche Prüfungen → ein Skript, eine Tabelle

Zehn Endpunkte, zwanzig Dateien, dreißig zu validierende Zeilen: schreibe ein Skript, das schleift und eine kompakte Tabelle (name | status | detail) plus Summen ausgibt. Nicht zehn Tool-Aufrufe mit zehn vollständigen Ausgaben.

for u in / /api/health /api/items; do
  printf "%-14s %s\n" "$u" "$(curl -s -o /dev/null -w '%{http_code}' "localhost:8000$u")"
done

4. Prüfe die Zusammenfassung auf Bedeutung, nicht auf Form

Gültig aussehende Ausgabe kann trotzdem falsch sein. Vergleiche mit einem erwarteten Wert oder einer Plausibilitätssumme: Die Zählwerte summieren sich zur Eingabegröße, eine bekannte Zeile ist vorhanden, die Anzahl der Dateien stimmt mit ls | wc -l überein. Wenn eine Zusammenfassung nicht gegengeprüft werden kann, sag dies.

5. Tests

Stiller Modus, kurze Tracebacks, Ende des Fehlerbereichs:

  • pytest -q --tb=short
  • vitest run --reporter=dot, jest --silent
  • go test ./... 2>&1 | grep -E '^(FAIL|ok|---)'
  • cargo test -q

6. Browser-Checks

Werte ein Skript aus, das kompaktes JSON zurückgibt ({title, errors: n, buttons: n, overflowX: bool}) anstatt vollständige DOM-Snapshots. Mache nur dann einen Snapshot, wenn die DOM-Struktur selbst die Frage ist. Screenshots für visuelle Checks, nicht zum Lesen von Text.

7. Breite Untersuchung → Unteragent

Große Suchen, Log-Forensik, Datenbank-Dumps: Delegiere an einen Unteragenten, der Schlussfolgerungen mit file:line-Referenzen zurückgibt. Sein Ergebnis ist immer noch eine Behauptung – verifiziere die wichtigsten Punkte, bevor du danach handelst.

8. Geheimnisse und personenbezogene Daten

Gib niemals Geheimnisse oder echte personenbezogene Daten in Zusammenfassungen oder Diagnosen aus. Maskiere (postgres://***) oder zähle sie (E-Mails gefunden: 12). Maskiere auch Verbindungsstrings und Schlüssel in abgefangenen Ausnahmen.

9. Dateien lesen

  • grep -n zuerst, dann nur den relevanten Bereich mit Offset/Limit lesen.
  • Quellcode, den du gleich bearbeiten wirst, wird vollständig gelesen – Teilauslesen führt zu kaputten Änderungen.
  • Lies eine Datei nicht direkt nach der Bearbeitung erneut, um sie zu „verifizieren"; das Edit-Tool meldet bereits Fehler bei Misserfolg.

10. Stopp-Regel

Der gleiche Fix ist zweimal fehlgeschlagen → stopp. Finde die Ursache anhand der genauen Fehlerzeile oder frage nach. Kein dritter blinder Versuch.

11. Kontext-Hygiene

  • Bereinige den Kontext zwischen nicht zusammenhängenden Aufgaben; komprimiere lange Sitzungen.
  • Deaktiviere Plugins, Skills und MCP-Server, die du in diesem Projekt nicht nutzt: Jeder kostet Prompt-Token in jeder Anfrage.
  • Bewerte Einsparungen anhand echter Nutzungszahlen (z. B. /cost), nicht anhand von behaupteten Prozenten.

Verwandte Skills