Skip to content
cccskills
FreePublished on GitHubEnglish overview

openclaw-migration

Move memories, persona files, skills, and compatible settings from OpenClaw into Hermes. Preview the migration, choose how to handle conflicts and supported secrets, and receive a report of migrated, archived, and skipped items.

OriginalShow the original description

Import an OpenClaw setup (memories, skills) into Hermes.

AI rating100/ 100See how to install

Good for

  • Moving memories and persona settings into Hermes
  • Importing existing OpenClaw skills
  • Previewing migration conflicts before making changes
  • Migrating user data without secrets

Overview

What it does

Transfer memories, persona files, and skills from OpenClaw to Hermes Agent. The skill imports SOUL.md, converts MEMORY.md and USER.md into memory entries, and migrates compatible messaging settings and command approval settings. Non-secret documents without a matching destination are archived. A report explains what was migrated, what conflicted, and what was skipped.

When it helps

Use it when moving from OpenClaw to Hermes and keeping the information and skills you have accumulated. Preview the migration before making changes, then choose how to handle existing files, including keeping them or overwriting them with backups.

Example requests

  • “Preview transferable OpenClaw data and conflicts without changing anything.”
  • “Migrate without secrets and import conflicting skills under different names.”

Notes

This skill is intended for a Hermes environment. Running its helper script in a standalone Python environment requires ruamel.yaml==0.18.17. Secrets are excluded by default. Even when explicitly selected, secret migration is limited; the documented supported secret is TELEGRAM_BOT_TOKEN. To transfer workspace instructions, specify an absolute destination path.

This overview was written by AI (OpenAI Codex) from the public SKILL.md. Check the original below for the exact behavior.

Objective evaluation

AI rated this skill on four points using only the contents of its SKILL.md. Stars and popularity are not taken into account.

Clear instructionsIs it clear when to use it and what it does?
AGoodThe material identifies what moves from OpenClaw to Hermes and describes previewing, migration, and reporting.
Concrete stepsAre steps, inputs, outputs, and examples spelled out?
AGoodMigration commands, conflict choices, destination paths, and report contents are specified.
SafetyAre sending data, deleting files, and running commands disclosed?
AGoodThe workflow requires decisions before execution and specifies backups for overwrites and a restricted list of secrets.
Easy setupDoes it need few tools or API keys, and are they documented?
AGoodThe material provides a built-in Hermes command, first-time migration guidance, and the helper script location.

The total counts each point as A = 25, B = 15, C = 5. Rated by AI (OpenAI Codex) as of Oct 20, 2026. Treat it as a guide and read the original before installing.

Disagree? Request a re-evaluation

Tell us which point is wrong and why. No login needed. We will check it against the SKILL.md, redo the evaluation, and show the result here.

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

Files included (2)

  • SKILL.md15.6 KB
  • scripts/openclaw_to_hermes.py146.3 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

OpenClaw -> Hermes Migration

Use this skill when a user wants to move their OpenClaw setup into Hermes Agent with minimal manual cleanup.

CLI Command

For a quick, non-interactive migration, use the built-in CLI command:

hermes claw migrate              # Full interactive migration
hermes claw migrate --dry-run    # Preview what would be migrated
hermes claw migrate --preset user-data   # Migrate without secrets
hermes claw migrate --overwrite  # Overwrite existing conflicts
hermes claw migrate --source /custom/path/.openclaw  # Custom source

The CLI command runs the same migration script described below. Use this skill (via the agent) when you want an interactive, guided migration with dry-run previews and per-item conflict resolution.

First-time setup: The hermes setup wizard automatically detects ~/.openclaw and offers migration before configuration begins.

What this skill does

It uses scripts/openclaw_to_hermes.py to:

  • import SOUL.md into the Hermes home directory as 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 map OpenClaw workspace settings to Hermes working-directory configuration
  • copy OpenClaw skills into ~/.hermes/skills/openclaw-imports/
  • optionally copy the OpenClaw workspace instructions file 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

Path resolution

The helper script lives in this skill directory at:

  • scripts/openclaw_to_hermes.py

When this skill is installed from the Skills Hub, the normal location is:

  • ~/.hermes/skills/migration/openclaw-migration/scripts/openclaw_to_hermes.py

Do not guess a shorter path like ~/.hermes/skills/openclaw-migration/....

Before running the helper:

  1. Prefer the installed path under ~/.hermes/skills/migration/openclaw-migration/.
  2. If that path fails, inspect the installed skill directory and resolve the script relative to the installed SKILL.md.
  3. Only use find as a fallback if the installed location is missing or the skill was moved manually.
  4. When calling the terminal tool, do not pass workdir: "~". Use an absolute directory such as the user's home directory, or omit workdir entirely.

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. Present a simple summary of what can be migrated, what cannot be migrated, and what would be archived.
  3. If the clarify tool is available, use it for user decisions instead of asking for a free-form prose reply.
  4. If the dry run finds imported skill directory conflicts, ask how those should be handled before executing.
  5. Ask the user to choose between the two supported migration modes before executing.
  6. Ask for a target workspace path only if the user wants the workspace instructions file brought over.
  7. Execute the migration with the matching preset and flags.
  8. Summarize the results, especially:
    • what was migrated
    • what was archived for manual review
    • what was skipped and why

User interaction protocol

Hermes CLI supports the clarify tool for interactive prompts, but it is limited to:

  • one choice at a time
  • up to 4 predefined choices
  • an automatic Other free-text option

It does not support true multi-select checkboxes in a single prompt.

For every clarify call:

  • always include a non-empty question
  • include choices only for real selectable prompts
  • keep choices to 2-4 plain string options
  • never emit placeholder or truncated options such as ...
  • never pad or stylize choices with extra whitespace
  • never include fake form fields in the question such as enter directory here, blank lines to fill in, or underscores like _____
  • for open-ended path questions, ask only the plain sentence; the user types in the normal CLI prompt below the panel

If a clarify call returns an error, inspect the error text, correct the payload, and retry once with a valid questions array and clean choices.

When clarify is available and the dry run reveals any required user decision, your next action must be a clarify tool call. Do not end the turn with a normal assistant message such as:

  • "Let me present the choices"
  • "What would you like to do?"
  • "Here are the options"

If a user decision is required, collect it via clarify before producing more prose. If multiple unresolved decisions remain, do not insert an explanatory assistant message between them. After one clarify response is received, your next action should usually be the next required clarify call.

Treat workspace-agents as an unresolved decision whenever the dry run reports:

  • kind="workspace-agents"
  • status="skipped"
  • reason containing No workspace target was provided

In that case, you must ask about workspace instructions before execution. Do not silently treat that as a decision to skip.

Because of that limitation, use this simplified decision flow:

  1. For SOUL.md conflicts, use clarify with choices such as:
    • keep existing
    • overwrite with backup
    • review first
  2. If the dry run shows one or more kind="skill" items with status="conflict", use clarify with choices such as:
    • keep existing skills
    • overwrite conflicting skills with backup
    • import conflicting skills under renamed folders
  3. For workspace instructions, use clarify with choices such as:
    • skip workspace instructions
    • copy to a workspace path
    • decide later
  4. If the user chooses to copy workspace instructions, ask a follow-up open-ended clarify question requesting an absolute path.
  5. If the user chooses skip workspace instructions or decide later, proceed without --workspace-target.
  6. For migration mode, use clarify with these 3 choices:
    • user-data only
    • full compatible migration
    • cancel
  7. user-data only means: migrate user data and compatible config, but do not import allowlisted secrets.
  8. full compatible migration means: migrate the same compatible user data plus the allowlisted secrets when present.
  9. If clarify is not available, ask the same question in normal text, but still constrain the answer to user-data only, full compatible migration, or cancel.

Execution gate:

  • Do not execute while a workspace-agents skip caused by No workspace target was provided remains unresolved.
  • The only valid ways to resolve it are:
    • user explicitly chooses skip workspace instructions
    • user explicitly chooses decide later
    • user provides a workspace path after choosing copy to a workspace path
  • Absence of a workspace target in the dry run is not itself permission to execute.
  • Do not execute while any required clarify decision remains unresolved.

Use these exact clarify payload shapes as the default pattern:

  • {"question":"Your existing SOUL.md conflicts with the imported one. What should I do?","choices":["keep existing","overwrite with backup","review first"]}
  • {"question":"One or more imported OpenClaw skills already exist in Hermes. How should I handle those skill conflicts?","choices":["keep existing skills","overwrite conflicting skills with backup","import conflicting skills under renamed folders"]}
  • {"question":"Choose migration mode: migrate only user data, or run the full compatible migration including allowlisted secrets?","choices":["user-data only","full compatible migration","cancel"]}
  • {"question":"Do you want to copy the OpenClaw workspace instructions file into a Hermes workspace?","choices":["skip workspace instructions","copy to a workspace path","decide later"]}
  • {"question":"Please provide an absolute path where the workspace instructions should be copied."}

Decision-to-command mapping

Map user decisions to command flags exactly:

  • If the user chooses keep existing for SOUL.md, do not add --overwrite.
  • If the user chooses overwrite with backup, add --overwrite.
  • If the user chooses review first, stop before execution and review the relevant files.
  • If the user chooses keep existing skills, add --skill-conflict skip.
  • If the user chooses overwrite conflicting skills with backup, add --skill-conflict overwrite.
  • If the user chooses import conflicting skills under renamed folders, add --skill-conflict rename.
  • If the user chooses user-data only, execute with --preset user-data and do not add --migrate-secrets.
  • If the user chooses full compatible migration, execute with --preset full --migrate-secrets.
  • Only add --workspace-target if the user explicitly provided an absolute workspace path.
  • If the user chooses skip workspace instructions or decide later, do not add --workspace-target.

Before executing, restate the exact command plan in plain language and make sure it matches the user's choices.

Post-run reporting rules

After execution, treat the script's JSON output as the source of truth.

  1. Base all counts on report.summary.
  2. Only list an item under "Successfully Migrated" if its status is exactly migrated.
  3. Do not claim a conflict was resolved unless the report shows that item as migrated.
  4. Do not say SOUL.md was overwritten unless the report item for kind="soul" has status="migrated".
  5. If report.summary.conflict > 0, include a conflict section instead of silently implying success.
  6. If counts and listed items disagree, fix the list to match the report before responding.
  7. Include the output_dir path from the report when available so the user can inspect report.json, summary.md, backups, and archived files.
  8. For memory or user-profile overflow, do not say the entries were archived unless the report explicitly shows an archive path. If details.overflow_file exists, say the full overflow list was exported there.
  9. If a skill was imported under a renamed folder, report the final destination and mention details.renamed_from.
  10. If report.skill_conflict_mode is present, use it as the source of truth for the selected imported-skill conflict policy.
  11. If an item has status="skipped", do not describe it as overwritten, backed up, migrated, or resolved.
  12. If kind="soul" has status="skipped" with reason Target already matches source, say it was left unchanged and do not mention a backup.
  13. If a renamed imported skill has an empty details.backup, do not imply the existing Hermes skill was renamed or backed up. Say only that the imported copy was placed in the new destination and reference details.renamed_from as the pre-existing folder that remained in place.

Migration presets

Prefer these two presets in normal use:

  • user-data
  • full

user-data includes:

  • soul
  • workspace-agents
  • memory
  • user-profile
  • messaging-settings
  • command-allowlist
  • skills
  • tts-assets
  • archive

full includes everything in user-data plus:

  • secret-settings

The helper script still supports category-level --include / --exclude, but treat that as an advanced fallback rather than the default UX.

Commands

Run the helper with Hermes' Python environment, which includes ruamel.yaml. For a standalone Python environment, install ruamel.yaml==0.18.17 first.

Dry run with full discovery:

python ~/.hermes/skills/migration/openclaw-migration/scripts/openclaw_to_hermes.py

When using the terminal tool, prefer an absolute invocation pattern such as:

{"command":"python /home/USER/.hermes/skills/migration/openclaw-migration/scripts/openclaw_to_hermes.py","workdir":"/home/USER"}

Dry run with the user-data preset:

python ~/.hermes/skills/migration/openclaw-migration/scripts/openclaw_to_hermes.py --preset user-data

Execute a user-data migration:

python ~/.hermes/skills/migration/openclaw-migration/scripts/openclaw_to_hermes.py --execute --preset user-data --skill-conflict skip

Execute a full compatible migration:

python ~/.hermes/skills/migration/openclaw-migration/scripts/openclaw_to_hermes.py --execute --preset full --migrate-secrets --skill-conflict skip

Execute with workspace instructions included:

python ~/.hermes/skills/migration/openclaw-migration/scripts/openclaw_to_hermes.py --execute --preset user-data --skill-conflict rename --workspace-target "/absolute/workspace/path"

Do not use $PWD or the home directory as the workspace target by default. Ask for an explicit workspace path first.

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.
  7. If the dry run shows a large asset copy, a conflicting SOUL.md, or overflowed memory entries, call those out separately before execution.
  8. Default to user-data only if the user is unsure.
  9. Only include workspace-agents when the user has explicitly provided a destination workspace path.
  10. Treat category-level --include / --exclude as an advanced escape hatch, not the normal flow.
  11. Do not end the dry-run summary with a vague “What would you like to do?” if clarify is available. Use structured follow-up prompts instead.
  12. Do not use an open-ended clarify prompt when a real choice prompt would work. Prefer selectable choices first, then free text only for absolute paths or file review requests.
  13. After a dry run, never stop after summarizing if there is still an unresolved decision. Use clarify immediately for the highest-priority blocking decision.
  14. Priority order for follow-up questions:
    • SOUL.md conflict
    • imported skill conflicts
    • migration mode
    • workspace instructions destination
  15. Do not promise to present choices later in the same message. Present them by actually calling clarify.
  16. After the migration-mode answer, explicitly check whether workspace-agents is still unresolved. If it is, your next action must be the workspace-instructions clarify call.
  17. After any clarify answer, if another required decision remains, do not narrate what was just decided. Ask the next required question immediately.

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

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

1password

FreeSummaryAI rating 100

Set up the 1Password CLI and use stored passwords or API keys in commands and configuration templates. Choose an authentication method, retrieve secret references, and pass credentials to processes through environment variables.

  • Installing and configuring the 1Password CLI
  • Running commands with stored API keys
  • Filling configuration templates with stored secrets
NousResearch/hermes-agent255.2KUpdated Oct 19, 2026

3-statement-model

FreeSummaryAI rating 90

Build an Excel workbook linking the income statement, balance sheet, and cash flow statement. Populate historical figures, create formula-based forecasts, compare scenarios, and check that balances and cash totals agree across all three statements.

  • Populating a financial model template with historical data
  • Building linked forecasts across three financial statements
  • Comparing base, upside, and downside scenarios
NousResearch/hermes-agent255.2KUpdated Oct 19, 2026

accelerate

FreeSummaryAI rating 80

Adapt existing PyTorch training scripts to use multiple GPUs or machines with limited code changes. The skill guides configuration, launch commands, mixed precision, which uses lower-precision numbers, and DeepSpeed or FSDP settings for distributing training work and memory.

  • Move a single-GPU training script to multiple GPUs
  • Configure mixed precision training
  • Set up DeepSpeed or FSDP to reduce memory use
NousResearch/hermes-agent255.2KUpdated Oct 19, 2026

actual-setup

FreeSummary

Configure Hermes to run AI models through Actual Computer on your own hardware. Set up either the hosted relay or a local connection, select models, verify responses, and troubleshoot request errors or empty output.

  • Connecting Hermes with an Actual inference key
  • Running models through a local Actual daemon
  • Downloading and loading local models
NousResearch/hermes-agent255.2KUpdated Oct 19, 2026

adversarial-ux-test

FreeSummaryAI rating 80

Test an app from the perspective of a frustrated, less technical user. Find confusing steps and barriers, separate actionable usability problems from personal complaints, and produce screenshots, suggested fixes, and prioritized tickets.

  • Reviewing usability before a launch or demo
  • Checking the experience of a new user
  • Finding friction in signup and subscription flows
NousResearch/hermes-agent255.2KUpdated Oct 19, 2026

agent-merge-conflict-arbiter

FreeSummaryAI rating 100

Resolve Git merge conflicts between two agents by comparing both changes and their stated goals. Combine compatible work, explain choices where designs differ, and verify the merged result with project builds or tests.

  • Resolving conflicts between branches edited by two agents
  • Integrating changes from parallel worktrees
  • Reviewing reasons for conflicting design choices
NousResearch/hermes-agent255.2KUpdated Oct 19, 2026

See all skills by NousResearch

Report a problem with this skill