83 lines
3.4 KiB
Markdown
83 lines
3.4 KiB
Markdown
---
|
|
name: openclaw-migration
|
|
description: Migrate a user's OpenClaw customization footprint into Hermes Agent. Imports Hermes-compatible memories, SOUL.md, command allowlists, user skills, and selected workspace assets from ~/.openclaw, then reports exactly what could not be migrated and why.
|
|
version: 1.0.0
|
|
author: Hermes Agent (Nous Research)
|
|
license: MIT
|
|
metadata:
|
|
hermes:
|
|
tags: [Migration, OpenClaw, Hermes, Memory, Persona, Import]
|
|
related_skills: [hermes-agent]
|
|
---
|
|
|
|
# OpenClaw -> Hermes Migration
|
|
|
|
Use this skill when a user wants to move their OpenClaw setup into Hermes Agent with minimal manual cleanup.
|
|
|
|
## What this skill does
|
|
|
|
It uses `scripts/openclaw_to_hermes.py` to:
|
|
|
|
- import `SOUL.md` into `~/.hermes/SOUL.md`
|
|
- transform OpenClaw `MEMORY.md` and `USER.md` into Hermes memory entries
|
|
- merge OpenClaw command approval patterns into Hermes `command_allowlist`
|
|
- migrate Hermes-compatible messaging settings such as `TELEGRAM_ALLOWED_USERS` and `MESSAGING_CWD`
|
|
- copy OpenClaw skills into `~/.hermes/skills/openclaw-imports/`
|
|
- optionally copy the OpenClaw workspace `AGENTS.md` into a chosen Hermes workspace
|
|
- mirror compatible workspace assets such as `workspace/tts/` into `~/.hermes/tts/`
|
|
- archive non-secret docs that do not have a direct Hermes destination
|
|
- produce a structured report listing migrated items, conflicts, skipped items, and reasons
|
|
|
|
With `--migrate-secrets`, it will also import a small allowlisted set of Hermes-compatible secrets, currently:
|
|
|
|
- `TELEGRAM_BOT_TOKEN`
|
|
|
|
## Default workflow
|
|
|
|
1. Inspect first with a dry run.
|
|
2. Ask for a target workspace path if `AGENTS.md` should be brought over.
|
|
3. Execute the migration.
|
|
4. Summarize the results, especially:
|
|
- what was migrated
|
|
- what was archived for manual review
|
|
- what was skipped and why
|
|
|
|
## Commands
|
|
|
|
Dry run:
|
|
|
|
```bash
|
|
python3 SKILL_DIR/scripts/openclaw_to_hermes.py --workspace-target "$PWD"
|
|
```
|
|
|
|
Execute:
|
|
|
|
```bash
|
|
python3 SKILL_DIR/scripts/openclaw_to_hermes.py --execute --workspace-target "$PWD"
|
|
```
|
|
|
|
Execute with Hermes-compatible secret migration enabled:
|
|
|
|
```bash
|
|
python3 SKILL_DIR/scripts/openclaw_to_hermes.py --execute --migrate-secrets --workspace-target "$PWD"
|
|
```
|
|
|
|
If the user does not want to import workspace instructions into the current directory, omit `--workspace-target`.
|
|
|
|
## Important rules
|
|
|
|
1. Run a dry run before writing unless the user explicitly says to proceed immediately.
|
|
2. Do not migrate secrets by default. Tokens, auth blobs, device credentials, and raw gateway config should stay out of Hermes unless the user explicitly asks for secret migration.
|
|
3. Do not silently overwrite non-empty Hermes targets unless the user explicitly wants that. The helper script will preserve backups when overwriting is enabled.
|
|
4. Always give the user the skipped-items report. That report is part of the migration, not an optional extra.
|
|
5. Prefer the primary OpenClaw workspace (`~/.openclaw/workspace/`) over `workspace.default/`. Only use the default workspace as fallback when the primary files are missing.
|
|
6. Even in secret-migration mode, only migrate secrets with a clean Hermes destination. Unsupported auth blobs must still be reported as skipped.
|
|
|
|
## Expected result
|
|
|
|
After a successful run, the user should have:
|
|
|
|
- Hermes persona state imported
|
|
- Hermes memory files populated with converted OpenClaw knowledge
|
|
- OpenClaw skills available under `~/.hermes/skills/openclaw-imports/`
|
|
- a migration report showing any conflicts, omissions, or unsupported data
|