Codex als Reviewer in Claude Code einbinden
Claude Code plant und entwirft. Codex CLI prüft das Ergebnis in einer eigenen Instanz gegen — als unabhängiger Prüfer, der nicht selbst umsetzt. Der Aufbau wird nicht selbst gebaut: der Prompt unten wird in Claude Code eingefügt, Claude Code legt den Skill lokal an.
Warum überhaupt ein zweites Modell
Bei komplexen KI-Arbeitsabläufen reicht ein Modell selten aus. Ein zweites Modell findet in der Gegenprüfung oft genau die Stellen, die im ersten Durchgang plausibel wirken: falsche Annahmen, fehlende Tests, unklare Randfälle. Deshalb gehört die Gegenprüfung zum Aufbau.
Die Arbeitsteilung
Claude entwirft — den Plan, die Analyse, die Argumentation, die Software. Codex bekommt das Ergebnis und prüft dagegen: Logiklücken, nicht adressierte Randfälle, fragwürdige Annahmen, stillschweigende Vorab-Entscheidungen. Codex formuliert Forderungen zurück an Claude, keine Umsetzung, nur Prüfung. Die Freigabe bleibt beim Menschen.
Der Kern der Übung: wer prüft, setzt nicht selbst um. Sonst prüft das Modell seine eigene Logik und landet wieder bei seinen eigenen blinden Flecken.
Der Einrichtungs-Prompt
Den folgenden Prompt kopieren und in einer Claude-Code-Sitzung absetzen. Den Pfad ~/Projects/ bei Bedarf an den eigenen Projektordner anpassen. Claude Code baut den Skill — kein eigener Code nötig. Ein Hinweis vorweg: Modelle entwickeln sich laufend weiter, gelegentlich ist Nacharbeit nötig.
Lege einen Claude-Code-Skill an,
der Codex CLI als unabhängigen Reviewer einbindet. Alles in einem
Rutsch bauen, sinnvolle Defaults verwenden.
Zweck: Wenn in einer Session "Codex Review", "lass Codex
drüberschauen" oder "zweites Augenpaar" fällt, wird eine Channel-Datei
mit dem zu prüfenden Kontext erstellt, ein Watcher gestartet und Codex
genau einmal gestartet, damit er antwortet.
Architektur — file-basierter Channel:
- Pfad: ~/Projects/_scratch/codex-channel/<topic-slug>.md
- Zeile 1 ist Status-Header: STATUS: NEEDS-CODEX (Codex am Zug),
NEEDS-CLAUDE (Claude am Zug), NEEDS-USER (wartet auf
menschliche Entscheidung) oder DONE (Review abgeschlossen)
- Beide Akteure hängen ihre Turns ans Dateiende an und
überschreiben nie
- Wer im Status-Header steht, ist dran; der andere beendet sich
Lege vier Dateien an:
1. SKILL.md mit Trigger-Phrasen, Workflow-Beschreibung und
Antwort-Templates für jeden Channel-Event
2. assets/channel-template.md mit verbatim-Protokoll
(Reviewer-only, nur anhängen, Status-Prüfung vor jedem
Schreiben)
3. scripts/channel-watcher.sh — prüft Zeile 1 alle 60 Sekunden
per head, gibt bei Statuswechsel exit 0 mit Event-Zeile aus
4. scripts/codex-launcher.sh — startet Codex mit einem
Single-Turn-Prompt (Datei lesen, letzten NEEDS-CODEX-Turn
beantworten, Antwort appenden, Status auf NEEDS-CLAUDE
setzen, sofort beenden)
Der Launcher muss robust sein:
- vor dem Launch head -1 prüfen: nur bei STATUS: NEEDS-CODEX starten
- per atomarem Lock verhindern, dass zwei Codex-Jobs parallel laufen
- Launch-State-Sidecar schreiben (<channel>.launch-state) mit Job-ID,
Status und Turn-Zahl
- direkt vor jedem Schreibzugriff erneut head -1 prüfen
- Bevorzugt codex-companion.mjs nutzen, wenn ein Claude-Code-Codex-
Plugin installiert ist; sonst Fallback auf codex exec --full-auto
mit Channel-Ordner als Arbeitsverzeichnis
- bei Unsicherheit oder echter menschlicher Entscheidung STATUS:
NEEDS-USER setzen
Kritisch: Codex ist REVIEWER ONLY. Er baut nichts selbst, nur
OK/NOK, Findings und Forderungen an mich. Das steht verbatim im
Protokoll, im Channel-Template und im Launcher-Prompt.
Kritisch: Claude formuliert die Review-Aufträge neutral. Nicht
"bestätige den Plan", sondern "finde Lücken, falsche Annahmen,
fehlende Tests und offene Risiken; gib OK/NOK pro Punkt". Diese
Regel steht in SKILL.md und im Channel-Template.
Nach dem Setup: eine Trockensimulation mit einem Dummy-Topic
durchführen, die Testdatei wieder entfernen und in SKILL.md
dokumentieren, wie ein laufender Review manuell abgebrochen wird
(STATUS: DONE in Zeile 1 setzen).
Voraussetzungen
- Codex CLI von OpenAI installiert und einmalig authentifiziert
Was Claude Code damit einrichtet
- Einen Skill der auf die drei Trigger-Phrasen reagiert
- Einen dateibasierten Kanal unter
~/Projects/_scratch/codex-channel/, in dem beide Modelle ihre Durchgänge nacheinander ablegen - Einen Beobachter im Hintergrund, der Statuswechsel in Echtzeit zurück an Claude Code meldet
- Einen Launcher, der Codex pro Durchgang frisch startet — keine Sitzungsabbrüche, keine halluzinierten Zustände aus Vorrunden
- Ein eingebettetes Protokoll, das beide Modelle bei jedem Durchgang an die Prüfrolle erinnert (Codex prüft, Claude setzt um)
Was man davon hat
Nach einigen Anwendungen wird sichtbar, dass komplexe Pläne häufig Lücken enthalten: falsche Annahmen, fehlende Tests oder offene Risiken. Meist keine harten Blocker, aber oft substanziell. Die Gegenprüfung ist kein Misstrauen gegen das eine Modell, sondern realistischer Umgang damit, was Modelle nach heutigem Stand sind: starke Textgeneratoren, keine Wahrheitsmaschinen.