OpenClaw + Claude Code: Einen gemeinsamen Gehirn-Layer für deinen Coding-Agent und deinen Persistent-Agent bauen
Das Problem, über das niemand spricht
Diese Woche macht ein Tweet die Runde:
> *"Dieser geteilte Gehirn-Setup zwischen Claude Code und OpenClaw ist genau die Vision."*
Alle nicken. Niemand erklärt, wie man es tatsächlich baut.
Hier ist die Situation: Du betreibst OpenClaw als deinen persistenten Always-on-Agent — er kennt deinen Kalender, deine Projekte, deine Präferenzen, dein MEMORY.md. Dann startest du Claude Code, um ein Feature zu schreiben. Claude Code hat null Kontext. Er weiß nicht, um was für ein Projekt es sich handelt, welche Entscheidungen letzte Woche getroffen wurden, wie die aktuelle Architektur aussieht. Jede Session beginnt von vorne.
Dabei sitzt dein OpenClaw-Agent da mit all diesem Kontext und keiner Möglichkeit, ihn weiterzugeben.
Dieser Beitrag behebt das. Wir bauen einen gemeinsamen Speicher-Layer — eine Reihe von Dateien und Konventionen — die es Claude Code ermöglicht, Kontext von OpenClaw zu erben, und OpenClaw von dem zu lernen, was Claude Code getan hat.
---
Die Architektur: Drei Dateien, ein Sync-Skript
Der sauberste Ansatz, den ich gefunden habe, sind drei Dateien:
```
~/projects/mein-projekt/
├── AGENTS.md ← OpenClaw liest das, Claude Code liest das
├── CONTEXT.md ← Aktueller Sprint-Kontext, von OpenClaw aktualisiert
└── DECISIONS.md ← Architekturentscheidungen, von beiden gepflegt
```
AGENTS.md ist bereits eine Standard-OpenClaw-Konvention — es ist das, was du in jedes Repo steckst, um Agents zu erklären, wie das Projekt funktioniert. Aber wenn du es nicht auch für Claude Codes Konsum geschrieben hast, verpasst du die Hälfte des Vorteils.
CONTEXT.md ist die Live-Übergabe-Datei. OpenClaw aktualisiert sie. Claude Code liest sie, bevor eine Session startet.
DECISIONS.md ist das Architekturprotokoll. Claude Code schreibt hinein, nachdem nicht-offensichtliche Entscheidungen getroffen wurden. OpenClaw liest es, um auf dem aktuellen Stand zu bleiben.
---
Schritt 1: AGENTS.md für zwei Zielgruppen schreiben
Die meisten AGENTS.md-Dateien sind nur für OpenClaw geschrieben. Claude Code ist ein anderes Tier — es hat kein persistentes Gedächtnis, liest nicht dein Workspace-MEMORY.md, und startet jedes Mal frisch. Dein AGENTS.md muss alles, was Claude Code zum Funktionieren braucht, an den Anfang stellen.
Hier ist eine Vorlage, die für beide funktioniert:
```markdown
# AGENTS.md
Projekt: [Dein Projektname]
Stack: Next.js 15, TypeScript, Tailwind, Convex, Bun
Deploy: Vercel (Auto-Deploy bei Push zu main)
Package manager: bun — niemals npm/yarn/pnpm
Aktueller Stand (von OpenClaw aktualisiert)
Siehe CONTEXT.md für den aktuellen Sprint-Kontext und aktuelle Entscheidungen.
Für Claude Code (zuerst lesen)
Vor dem Schreiben von Code: CONTEXT.md lesen. Dort sind aktueller Task, aktuelle Entscheidungen und zuletzt Bearbeitetes.
Nach nicht-offensichtlichen Architekturentscheidungen: an DECISIONS.md anhängen.
Für OpenClaw
DECISIONS.md auf Updates beobachten — wichtige Entscheidungen zurück in MEMORY.md synchronisieren.
CONTEXT.md nach jeder Arbeitssession aktualisieren.
```
Der "Für Claude Code"-Abschnitt ist entscheidend. Er sagt Claude Code explizit, was es lesen und schreiben soll. Claude Code folgt AGENTS.md-Anweisungen zuverlässig — behandle es wie einen System-Prompt in Dateiformat.
---
Schritt 2: OpenClaw schreibt CONTEXT.md
Füge dies zu deinem OpenClaw-Heartbeat hinzu oder als manuellen Trigger. Nach jeder Arbeitssession am Projekt sollte OpenClaw CONTEXT.md aktualisieren:
```markdown
# CONTEXT.md — Zuletzt aktualisiert: 2026-03-31
Aktueller Sprint
Bau des User-Dashboards — speziell die ActivityFeed-Komponente.
Letzte Session (Zusammenfassung)
Nächster Task
ActivityFeed.tsx mit dem /api/activity-Endpoint verdrahten.
Lade- und Leer-Zustand-UI hinzufügen.
Bekannte Probleme
```
Das ist die Datei, die Claude Code lesen wird, bevor es irgendetwas anfasst. Präzise halten. Aktueller Stand, nächster Task, bekannte Fallstricke. Kein Geschichtsbuch.
---
Schritt 3: Claude Code schreibt DECISIONS.md
Die andere Richtung: Claude Code trifft Architekturentscheidungen, die OpenClaw kennen muss.
Der Weg, das durchzusetzen, ist die AGENTS.md-Anweisung. Claude Code liest AGENTS.md am Anfang jeder Session und folgt den Anweisungen dort. Wenn du ihm sagst, Entscheidungen in DECISIONS.md zu schreiben, wird es das tun.
DECISIONS.md-Format:
```markdown
# DECISIONS.md
2026-03-31 — Echtzeit-Subscriptions statt Polling
Entscheidung: Convex `useQuery` Echtzeit-Subscriptions für den ActivityFeed verwenden.
Warum: Polling mit 5s Intervallen verursachte sichtbaren Lag. Echtzeit-Subscriptions geben sofortige Updates.
Kompromiss: Etwas mehr Convex-Reads, aber im Free-Tier-Limit bei aktuellem Scale.
```
---
Schritt 4: OpenClaw überwacht DECISIONS.md
Jetzt muss OpenClaw tatsächlich aufgreifen, was Claude Code geschrieben hat. Zwei Ansätze:
Option A: Manuelle Synchronisierung — nach einer Claude Code-Session OpenClaw sagen: "Lies DECISIONS.md im Dashboard-Projekt und aktualisiere dein Gedächtnis." Einfach, funktioniert gut für gelegentliche Nutzung.
Option B: Heartbeat-Sync — das zu HEARTBEAT.md hinzufügen:
```markdown
Projekt-Gedächtnis-Sync
```
Option B bedeutet, dass OpenClaw bei jedem Heartbeat-Zyklus nach neuen Entscheidungen sucht und sie in sein Langzeitgedächtnis aufnimmt. Wenn du das nächste Mal mit OpenClaw über das Projekt sprichst, weiß es bereits, was Claude Code entschieden hat.
---
Der vollständige Loop in der Praxis
So sieht der kombinierte Workflow täglich aus:
Morgen-Standup mit OpenClaw:
> "Was ist der Status beim Dashboard-Projekt?"
OpenClaw liest MEMORY.md, CONTEXT.md, DECISIONS.md → gibt dir ein vollständiges Briefing. Du entscheidest: ActivityFeed-Verdrahtung fortsetzen.
OpenClaw aktualisiert CONTEXT.md:
```markdown
Nächster Task
ActivityFeed.tsx mit /api/activity verdrahten.
Lade-Zustand hinzufügen (vorhandene Skeleton-Komponente in /components/ui/skeleton.tsx verwenden).
```
Du öffnest Claude Code im Projekt:
Claude Code liest AGENTS.md → bekommt Stack, Konventionen und die Anweisung, CONTEXT.md zu lesen.
Claude Code liest CONTEXT.md → weiß genau, was gemacht wurde und was als nächstes kommt.
Claude Code schreibt den Code. Trifft eine nicht-offensichtliche Entscheidung über Fehlerbehandlung.
Claude Code hängt an DECISIONS.md an.
Nächster Heartbeat, OpenClaw scannt DECISIONS.md:
Sieht den neuen Eintrag. Nimmt ihn auf. Weiß jetzt, warum die Fehlerbehandlung so funktioniert, wie sie es tut.
Nächster Morgen:
Du fragst OpenClaw wieder über das Projekt. Es weiß, was Claude Code getan hat. Voller Kontext. Keine Lücken.
---
Die Edge Cases
Was, wenn Claude Code AGENTS.md nicht liest?
Doch — Claude Code verarbeitet AGENTS.md beim Kontext-Laden. Aber wenn du es in einem Verzeichnis ohne AGENTS.md verwendest, hat es keine Anweisungen. Stelle sicher, dass jedes Projekt eines hat.
Was, wenn CONTEXT.md veraltet?
Das wird passieren, wenn OpenClaw es nicht aktualisiert. Der Heartbeat-Ansatz löst das — aber du kannst auch einen einfachen Cron-Job hinzufügen: Jede Nacht prüft OpenClaw, ob CONTEXT.md älter als 2 Tage ist, und pingt dich, es zu aktualisieren.
Was ist mit sensiblen Informationen?
Keine Credentials, Tokens oder PII in CONTEXT.md oder DECISIONS.md — Claude Code-Sessions können andere Sicherheitsgrenzen haben als dein OpenClaw-Workspace. Secrets in .env-Dateien halten, die beide Agents als No-Read-Zone respektieren.
---
Was du tatsächlich baust
Das ist kein ausgefallenes Framework. Es sind drei Markdown-Dateien und eine Konvention.
Aber das Ergebnis sind zwei Agents, die sich wie ein gemeinsames Gehirn anfühlen:
Der Tweet hatte recht: Das ist die Vision. Ein gemeinsames Gehirn zwischen deinem Coding-Agent und deinem persistenten Agent. Du musst es nur bauen — und jetzt weißt du wie.
---
Schnellstart-Checkliste
1. AGENTS.md zu jedem Projekt hinzufügen — für beide Zielgruppen schreiben
2. CONTEXT.md erstellen — OpenClaw nach jeder Arbeitssession aktualisieren lassen
3. DECISIONS.md erstellen — Claude Code (via AGENTS.md) anweisen, hineinzuschreiben
4. Heartbeat-Task hinzufügen: OpenClaw scannt DECISIONS.md auf neue Einträge
5. Den Loop einmal ausprobieren: Morgen-Briefing → OpenClaw aktualisiert CONTEXT.md → Claude Code-Session → Claude Code schreibt DECISIONS.md → OpenClaw nimmt auf
Das ist das gesamte System. Keine Vektordatenbanken, keine Embeddings, keine externen Services. Nur Dateien und zwei Agents, die wissen, wie man sie liest.
Vollständige Einrichtung im OpenClaw Setup Playbook dokumentiert.
Also fully available in English. 🇬🇧