Beim Agentenwechsel verlierst du die Regeln, die du schon geschrieben hast — nicht die Installation


Du hast eine CLAUDE.md, die du seit einem Jahr bearbeitest — halb echte Konventionen, halb Entschuldigungen an dein früheres Ich. Du hast eine Wand voller Bash(...)-Allow-Regeln, von denen du nicht mehr weißt, dass du sie je hinzugefügt hast, vier MCP-Server in einem Nebenprojekt verdrahtet und ein Dutzend Skills, von denen jeder eine teuer bezahlte Lektion festhält. Du hast genug über Hermes gelesen, um es ausprobieren zu wollen. Dann rechnest du durch, was das Abtippen kostet, erinnerst dich, dass du genau die eine Regel vergessen wirst, die den Agenten davon abhält, dich vierzigmal am Tag nach Erlaubnis zu fragen, und schließt den Tab.

Genau für diesen Nachmittag ist hermes import-agent da. Es liest das Konfigurationsverzeichnis eines anderen Agenten, arbeitet heraus, was übertragbar ist, und zeigt dir den Plan Punkt für Punkt, bevor es ein einziges Byte schreibt.

Drei Begriffe kommen im Folgenden wieder. Ein MCP-Server ist ein Tool-Server, den der Agent aufrufen darf — eine Datenbank, ein Browser, ein Issue-Tracker —, beschrieben durch einen kleinen Config-Block. Eine Allowlist ist die Menge der Shell-Befehle, die der Agent ohne Rückfrage ausführen darf. Ein Skill ist ein Verzeichnis mit einer SKILL.md, das eine Prozedur erklärt.

Die Installation dauert eine Minute; die eigentliche Wertanlage ist die Config

Niemand zögert, weil die Installation von Hermes schwer wäre; gezögert wird wegen des angesammelten Konfigurationsstands: die Instruktionsdatei, die Monate aus „nein, hör auf damit“ gebraucht hat, bis sie stimmte, die Approval-Regeln, die deine Risikobereitschaft abbilden, die MCP-Server, die einen Abend Header-Debugging gekostet haben. Jede davon liegt bei jedem Agenten in einem anderen Format, und keine ist von Haus aus portabel.

Von Hand neu zu schreiben lässt genau die Config fallen, von der du vergessen hast, dass du sie hast — denn aus dem Gedächtnis tippst du nichts nach, was du nie bewusst geschrieben hast. Ein Werkzeug, das mechanisch kopiert, wird dagegen beim neunten Eintrag nicht müde.

hermes import-agent unterstützt vier Quellen: OpenClaw (~/.openclaw, inklusive der älteren Namen ~/.clawdbot und ~/.moltbot), Claude Code (~/.claude), OpenAI Codex CLI (~/.codex) und Cursor (~/.cursor).

Den Importer einmal installieren, dann nach dem Plan fragen

Der Importer kommt als offizielles plugin, agent-importers, gepflegt von Nous Research im Verzeichnis agent-importers des Repositories hermes-official-plugins. Installiere es einmal pro profile — plugins gelten pro profile, ein zweites profile braucht also denselben Befehl:

hermes plugins install agent-importers

Das plugin ist vor kurzem umgezogen: v0.22.4 (21.10.2026) hat es aus dem Kern in den Katalog geholt und Cursor als Quelle ergänzt, und v0.22.5 (23.10.2026) erwähnt hermes import-agent sowie ein Setup, das einen Importer anbietet, wenn es einen anderen Agenten entdeckt.

Ohne Argument prüft der Befehl alle vier Verzeichnisse. Mit einem geht er direkt auf diese Quelle:

hermes import-agent                    # probe ~/.openclaw, ~/.claude, ~/.codex, ~/.cursor
hermes import-agent openclaw           # from ~/.openclaw
hermes import-agent claude-code        # from ~/.claude
hermes import-agent codex              # from ~/.codex
hermes import-agent cursor             # from ~/.cursor
hermes import-agent claude-code --dry-run           # plan only
hermes import-agent codex --source /path/to/.codex  # non-standard location
hermes import-agent claude-code --overwrite --yes   # resolve conflicts, skip prompts

Was die erste Form nicht tut: vier Agenten in einen Haufen werfen und hoffen. Sie meldet pro Quelle und pro Eintrag: gefunden, wird geschrieben, übersprungen und warum. --dry-run liefert denselben Bericht und rührt nichts auf der Platte an. --overwrite entscheidet Konflikte zugunsten des Imports; --yes überspringt die Bestätigung, was in einem skriptgesteuerten Bootstrap in Ordnung ist und riskant wird, sobald du das Ziel von Hand bearbeitet hast.

hermes setup führt bei einer frischen Installation zuerst dieselbe Prüfung aus. Findet es etwas, fragt es „Import your setup from Claude Code?“ und nennt, was es gefunden hat; findet es mehrere, bekommst du eine Checkliste mit allem angehakt. Sagst du ja und fehlt dem profile agent-importers, installiert setup es aus dem Katalog und fährt denselben Ablauf aus Plan, Vorschau und Bestätigung. Lehnst du ab oder wird nichts gefunden, wird auch nichts installiert.

OpenClaw bekommt dort eine Feinheit: setup übergibt automatisch --migrate-secrets und nutzt damit den älteren eingebauten OpenClaw-Migrationsschritt wieder, sodass API-Keys und Bot-Tokens mitkommen und die Abschnitte für provider und Messaging-Plattformen bereits gefüllt sind. Wähle danach Quick Setup, und wenn der Import ein Modell samt Key mitgebracht hat, fragt setup, ob du dieses Modell behalten willst (der Standard) oder zu Nous Portal wechseln möchtest.

Was die einzelnen Quellen tatsächlich übergeben

Jede Quelle wird nach denselben vier Kategorien gelesen — Instruktionen, Approvals, MCP-Server, Skills —, aber die Layouts unterscheiden sich stark genug, dass ein Blick vorab sich lohnt.

Quelle Was gelesen wird Wo es landet
Claude Code globale Instruktionen aus CLAUDE.md Memory-Einträge in ~/.hermes/memories/MEMORY.md
Claude Code permissions.allow in settings.json command_allowlist in config.yaml
Claude Code permissions.deny in settings.json approvals.deny in config.yaml
Claude Code mcpServers aus ~/.claude.json und settings.json mcp_servers in config.yaml
Claude Code skills/-Verzeichnisse mit einer SKILL.md ~/.hermes/skills/claude-code-imports/
Claude Code Slash-Commands commands/*.md übersprungen, mit dem Vorschlag, sie als skill neu zu schreiben
Codex CLI globale Instruktionen aus AGENTS.md Memory-Einträge
Codex CLI config.toml [mcp_servers.*] mcp_servers
Codex CLI memories/*.md Memory-Einträge
Codex CLI skills/-Verzeichnisse ~/.hermes/skills/codex-imports/
Cursor AGENTS.md Memory-Einträge
Cursor rules/*.md und rules/*.mdc (User Rules) Memory-Einträge
Cursor mcpServers in mcp.json mcp_servers
Cursor skill-Verzeichnisse skills/**/ ~/.hermes/skills/cursor-imports/
OpenClaw ~/.openclaw (plus ~/.clawdbot, ~/.moltbot) breiteres Mapping, unten beschrieben

Cursors .mdc-Dateien tragen Frontmatter — description, globs, alwaysApply — und das ist Routing-Information für Cursors Regel-Engine. Sie wird entfernt, und nur der Body wird Memory: diese Keys bedeuten Hermes nichts, und sie mitzunehmen würde Regeln erzeugen, die aktiv aussehen und nie feuern. Cursor-skills können in Kategorieordnern liegen, deshalb wird skills/shipping/land-it/ als cursor-imports/land-it/ importiert — das Blattverzeichnis ist der skill, denn ein skill ist das Verzeichnis, das eine SKILL.md enthält. Zwei skills gleichen Namens in verschiedenen Ordnern werden als Konflikt gemeldet.

Claude Codes Slash-Commands sind die andere ehrliche Absage. commands/*.md wird mit einer Meldung übersprungen statt konvertiert, und der Vorschlag lautet, es als skill neu zu schreiben — weil Slash-Command und skill unterschiedlich aufgerufen werden und eine mechanische Konvertierung nur so aussehen würde, als hätte sie funktioniert.

Allow-Regeln übersetzen sich nicht Form für Form

Das Mapping ist mechanisch, aber nicht symmetrisch, und das ist der Teil des Plans, den du genau lesen solltest.

Eine Claude-Präfixregel Bash(...) wird zu einem Glob: Bash(npm run test:*) kommt als npm run test* an. Die Absicht überlebt — „diese Befehlsfamilie, ohne Rückfragen“ —, die Notation nicht. Willst du das Übernommene enger ziehen, ist das Approval-Modell in Smart Approvals einrichten beschrieben.

Regeln, die nicht Bash sind, nehmen den anderen Weg. Read(...), WebFetch und ihre Verwandten regeln Werkzeuge, die es in Claude Code gibt und in Hermes nicht, deshalb werden sie als nicht zugeordnet gemeldet, statt in etwas Ähnliches hineingepresst zu werden — eine Zeile „unmapped“ ist besser als ein Config-Key, der sich anders verhält als gemeint.

Credentials sind nie Teil der Fracht

API-Keys und Credentials werden nie importiert, und genau das macht die Sache auf einem Arbeitslaptop sicher. Die Credential-Dateien — ~/.claude/.credentials.json, ~/.codex/auth.json, ~/.cursor/cli-config.json — werden gar nicht gelesen. Trägt ein MCP-Server-Block Umgebungsvariablen oder Header, deren Namen nach Secret klingen (*_TOKEN, *_API_KEY, Authorization), werden diese Werte entfernt und im Bericht aufgeführt, damit du sie zurücklegen kannst und genau weißt, welche rausgeflogen sind.

Zwei Wege führen zurück: hermes setup für die provider-Konfiguration, oder die Secrets in ~/.hermes/.env schreiben. Um Klartext-Keys in einer Dotfile zu vermeiden, ist der Keychain-gestützte Ansatz aus Secret-Verschlüsselung die Alternative.

Die eine Ausnahme ist OpenClaw, und sie ist opt-in: nur ein ausdrückliches --migrate-secrets holt die erlaubten API-Keys und Bot-Tokens herüber.

Drei Dinge, die du von Hand zu Ende bringen musst

Der Importer verschiebt Struktur; fertig machen kann er die Sache nicht.

Die Secrets zurücklegen. Jeder MCP-Server, dessen Header entfernt wurden, braucht sein Token, bevor er sich verbindet, und fehlende Credentials tauchen als scheiterndes Tool beim ersten Aufruf auf, nicht als Importfehler. Wie MCP-Server und Kontextvariablen aufgelöst werden, steht in MCP-Config und Kontextvariablen.

Die Slash-Commands neu schreiben. Ein /review- oder /ship-Befehl wurde übersprungen. Der Ersatz ist ein skill, meist zwanzig Minuten pro Befehl — und es lohnt sich, in der Reihenfolge vorzugehen, in der du sie tatsächlich benutzt.

Die Approvals nochmal lesen. Die importierte Allow- und Deny-Liste ist ein erster Entwurf von einem Werkzeug, das deine Risikobereitschaft nie gesehen hat. Prüfe, ob jeder Glob das trifft, was du denkst, und ob nichts Wichtiges im Bericht der nicht zugeordneten Einträge gelandet ist. Ist mehr Instruktionstext herübergekommen als erwartet, erklärt die AGENTS.md-Verzeichniskette, wie Instruktionsdateien in Hermes gestapelt werden.

Worauf du schauen solltest, bevor du Ja drückst

  • plugins gelten pro profile. Ein für dein Haupt-profile installiertes agent-importers tut für das zweite nichts.
  • Konflikte werden gemeldet, nicht still gelöst. Zwei Cursor-skills gleichen Namens oder eine bereits vorhandene Datei am Ziel erscheinen als Konflikt. --overwrite entscheidet sie zugunsten des Imports.
  • OpenClaw hat eine eigene Anleitung und eigene Flags. Diese Anleitung deckt das vollständige Mapping ab — Persona, Memory, Skills, Modell-provider, Messaging-Plattformen, Agentenverhalten, MCP-Server — plus --preset, --migrate-secrets, --workspace-target und --skill-conflict, ein Backup vor der Migration und hermes claw cleanup danach. Die ältere Schreibweise hermes claw migrate führt denselben Import aus.
  • Nicht standardmäßige Installationen brauchen --source. Liegt Codex außerhalb von ~/.codex, findet die Prüfung es nicht.

Die Abschreib-Hälfte erledigt der Importer ohne Tippfehler — und er gibt dir einen Beleg für alles, was er deinem Urteil überlässt.