Reversible Migration
JuliusBrussee/caveman
Implement reversible compatibility-safe transitions. Use for schema, data, API, protocol, configuration, or dependency migrations requiring rollback and…
Migrate a user's OpenClaw customization footprint into Hermes Agent.
$ npx skills add Tommy-yw/RunbookHermes --skill openclaw-migration -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install Tommy-yw/RunbookHermes openclaw-migration --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/Tommy-yw/RunbookHermes.git skills-src && mkdir -p .claude/skills && cp -r skills-src/optional-skills/migration/openclaw-migration .claude/skills/openclaw-migration && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "openclaw-migration" agent skill from https://github.com/Tommy-yw/RunbookHermes/tree/main/optional-skills/migration/openclaw-migration into .claude/skills/openclaw-migration/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "openclaw-migration", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/Tommy-yw/RunbookHermes/tree/main/optional-skills/migration/openclaw-migrationType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add Tommy-yw/RunbookHermes --skill openclaw-migration -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install Tommy-yw/RunbookHermes openclaw-migration --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Tommy-yw/RunbookHermes.git skills-src && mkdir -p .agents/skills && cp -r skills-src/optional-skills/migration/openclaw-migration .agents/skills/openclaw-migration && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "openclaw-migration" agent skill from https://github.com/Tommy-yw/RunbookHermes/tree/main/optional-skills/migration/openclaw-migration into .agents/skills/openclaw-migration/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "openclaw-migration", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add Tommy-yw/RunbookHermes --skill openclaw-migration -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install Tommy-yw/RunbookHermes openclaw-migration --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Tommy-yw/RunbookHermes.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/optional-skills/migration/openclaw-migration .cursor/skills/openclaw-migration && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "openclaw-migration" agent skill from https://github.com/Tommy-yw/RunbookHermes/tree/main/optional-skills/migration/openclaw-migration into .cursor/skills/openclaw-migration/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "openclaw-migration", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/Tommy-yw/RunbookHermes.git --path optional-skills/migration/openclaw-migration--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add Tommy-yw/RunbookHermes --skill openclaw-migration -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install Tommy-yw/RunbookHermes openclaw-migration --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Tommy-yw/RunbookHermes.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/optional-skills/migration/openclaw-migration .gemini/skills/openclaw-migration && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "openclaw-migration" agent skill from https://github.com/Tommy-yw/RunbookHermes/tree/main/optional-skills/migration/openclaw-migration into .gemini/skills/openclaw-migration/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "openclaw-migration", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install Tommy-yw/RunbookHermes openclaw-migrationInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add Tommy-yw/RunbookHermes --skill openclaw-migration -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/Tommy-yw/RunbookHermes.git skills-src && mkdir -p .github/skills && cp -r skills-src/optional-skills/migration/openclaw-migration .github/skills/openclaw-migration && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "openclaw-migration" agent skill from https://github.com/Tommy-yw/RunbookHermes/tree/main/optional-skills/migration/openclaw-migration into .github/skills/openclaw-migration/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "openclaw-migration", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add Tommy-yw/RunbookHermes --skill openclaw-migration -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install Tommy-yw/RunbookHermes openclaw-migration --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Tommy-yw/RunbookHermes.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/optional-skills/migration/openclaw-migration .opencode/skills/openclaw-migration && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "openclaw-migration" agent skill from https://github.com/Tommy-yw/RunbookHermes/tree/main/optional-skills/migration/openclaw-migration into .opencode/skills/openclaw-migration/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "openclaw-migration", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
openclaw-migrationMigrate a user's OpenClaw customization footprint into Hermes Agent.
Openclaw Migration is an agent skill from Tommy-yw/RunbookHermes. 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.
Its SKILL.md is about 4k tokens, which your agent loads only when the skill is triggered. The skill folder holds 2 other files, including scripts (for example `scripts/openclaw_to_hermes.py`).
The repository describes itself as: Hermes-native AIOps agent for evidence-driven incident response, approval-gated remediation, and runbook learning. The licence is MIT.
4 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 7fd2b9a. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Ships 1 file in scripts/ (Python), which the agent can run.
Shell commands in SKILL.md call:
python3From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names these keys or tokens, usually read from environment variables:
TELEGRAM_BOT_TOKENFrom names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Openclaw Migration loads about 4k tokens when it runs. Until then it costs about 68 tokens; SKILL.md has 1,985 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.
The full file from Tommy-yw/RunbookHermes at commit 7fd2b9a, republished under its MIT licence (© Tommy-yw). 1,985 words, ~3,973 tokens.
.claude/skills/openclaw-migration/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.Use this skill when a user wants to move their OpenClaw setup into Hermes Agent with minimal manual cleanup.
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 sourceThe 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.
It uses scripts/openclaw_to_hermes.py to:
SOUL.md into the Hermes home directory as SOUL.mdMEMORY.md and USER.md into Hermes memory entriescommand_allowlistTELEGRAM_ALLOWED_USERS and MESSAGING_CWD~/.hermes/skills/openclaw-imports/workspace/tts/ into ~/.hermes/tts/The helper script lives in this skill directory at:
scripts/openclaw_to_hermes.pyWhen this skill is installed from the Skills Hub, the normal location is:
~/.hermes/skills/migration/openclaw-migration/scripts/openclaw_to_hermes.pyDo not guess a shorter path like ~/.hermes/skills/openclaw-migration/....
Before running the helper:
~/.hermes/skills/migration/openclaw-migration/.SKILL.md.find as a fallback if the installed location is missing or the skill was moved manually.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_TOKENclarify tool is available, use it for user decisions instead of asking for a free-form prose reply.Hermes CLI supports the clarify tool for interactive prompts, but it is limited to:
Other free-text optionIt does not support true multi-select checkboxes in a single prompt.
For every clarify call:
questionchoices only for real selectable promptschoices to 2-4 plain string options...enter directory here, blank lines to fill in, or underscores like _____If a clarify call returns an error, inspect the error text, correct the payload, and retry once with a valid question 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:
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"No workspace target was providedIn 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:
SOUL.md conflicts, use clarify with choices such as:keep existingoverwrite with backupreview firstkind="skill" items with status="conflict", use clarify with choices such as:keep existing skillsoverwrite conflicting skills with backupimport conflicting skills under renamed foldersclarify with choices such as:skip workspace instructionscopy to a workspace pathdecide laterclarify question requesting an absolute path.skip workspace instructions or decide later, proceed without --workspace-target.clarify with these 3 choices:user-data onlyfull compatible migrationcanceluser-data only means: migrate user data and compatible config, but do not import allowlisted secrets.full compatible migration means: migrate the same compatible user data plus the allowlisted secrets when present.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:
workspace-agents skip caused by No workspace target was provided remains unresolved.skip workspace instructionsdecide latercopy to a workspace pathclarify 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."}Map user decisions to command flags exactly:
keep existing for SOUL.md, do not add --overwrite.overwrite with backup, add --overwrite.review first, stop before execution and review the relevant files.keep existing skills, add --skill-conflict skip.overwrite conflicting skills with backup, add --skill-conflict overwrite.import conflicting skills under renamed folders, add --skill-conflict rename.user-data only, execute with --preset user-data and do not add --migrate-secrets.full compatible migration, execute with --preset full --migrate-secrets.--workspace-target if the user explicitly provided an absolute workspace path.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.
After execution, treat the script's JSON output as the source of truth.
report.summary.status is exactly migrated.migrated.SOUL.md was overwritten unless the report item for kind="soul" has status="migrated".report.summary.conflict > 0, include a conflict section instead of silently implying success.output_dir path from the report when available so the user can inspect report.json, summary.md, backups, and archived files.details.overflow_file exists, say the full overflow list was exported there.details.renamed_from.report.skill_conflict_mode is present, use it as the source of truth for the selected imported-skill conflict policy.status="skipped", do not describe it as overwritten, backed up, migrated, or resolved.kind="soul" has status="skipped" with reason Target already matches source, say it was left unchanged and do not mention a backup.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.Prefer these two presets in normal use:
user-datafulluser-data includes:
soulworkspace-agentsmemoryuser-profilemessaging-settingscommand-allowlistskillstts-assetsarchivefull includes everything in user-data plus:
secret-settingsThe helper script still supports category-level --include / --exclude, but treat that as an advanced fallback rather than the default UX.
Dry run with full discovery:
python3 ~/.hermes/skills/migration/openclaw-migration/scripts/openclaw_to_hermes.pyWhen using the terminal tool, prefer an absolute invocation pattern such as:
{"command":"python3 /home/USER/.hermes/skills/migration/openclaw-migration/scripts/openclaw_to_hermes.py","workdir":"/home/USER"}Dry run with the user-data preset:
python3 ~/.hermes/skills/migration/openclaw-migration/scripts/openclaw_to_hermes.py --preset user-dataExecute a user-data migration:
python3 ~/.hermes/skills/migration/openclaw-migration/scripts/openclaw_to_hermes.py --execute --preset user-data --skill-conflict skipExecute a full compatible migration:
python3 ~/.hermes/skills/migration/openclaw-migration/scripts/openclaw_to_hermes.py --execute --preset full --migrate-secrets --skill-conflict skipExecute with workspace instructions included:
python3 ~/.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.
~/.openclaw/workspace/) over workspace.default/. Only use the default workspace as fallback when the primary files are missing.SOUL.md, or overflowed memory entries, call those out separately before execution.user-data only if the user is unsure.workspace-agents when the user has explicitly provided a destination workspace path.--include / --exclude as an advanced escape hatch, not the normal flow.clarify is available. Use structured follow-up prompts instead.clarify prompt when a real choice prompt would work. Prefer selectable choices first, then free text only for absolute paths or file review requests.clarify immediately for the highest-priority blocking decision.SOUL.md conflictclarify.workspace-agents is still unresolved. If it is, your next action must be the workspace-instructions clarify call.clarify answer, if another required decision remains, do not narrate what was just decided. Ask the next required question immediately.After a successful run, the user should have:
~/.hermes/skills/openclaw-imports/© Tommy-yw, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 1 other file (scripts) in optional-skills/migration/openclaw-migration of Tommy-yw/RunbookHermes.
Open the folder on GitHubat commit 7fd2b9a
We found 3 copies of this SKILL.md (exact, near-identical or edited) in other folders, from 3 other GitHub owners. This page covers the copy in Tommy-yw/RunbookHermes, which our catalogue first saw on October 7, 2026.
Openclaw Migration next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Openclaw Migration this skillTommy-yw/RunbookHermes | 546 | 3 repos | ~4k | Automated safety check: Pass | MIT | |
| Reversible MigrationJuliusBrussee/caveman | 110k | 1 repos | ~196 | Automated safety check: Pass | Apache-2.0 | |
| Database Migrationsaffaan-m/ECC | 275k | 4 repos | ~3k | Automated safety check: Pass | MIT | |
| Database Migrationsaffaan-m/ECC | 275k | 1 repos | ~2.4k | Automated safety check: Pass | MIT | |
| Migrate Nanoclawnanocoai/nanoclaw | 31k | — | ~6k | Automated safety check: Notes | MIT | |
| Safe Database Migration Patternsaffaan-m/ECC | 275k | — | ~3.3k | Automated safety check: Pass | MIT |
JuliusBrussee/caveman
Implement reversible compatibility-safe transitions. Use for schema, data, API, protocol, configuration, or dependency migrations requiring rollback and…
affaan-m/ECC
Safe, reversible database migration patterns: forward-only production changes, expand-contract zero-downtime renames, concurrent indexes, batched backfills, and per-tool workflows for PostgreSQL…
affaan-m/ECC
Şema değişiklikleri, veri migration'ları, rollback'ler ve PostgreSQL, MySQL ve yaygın ORM'ler (Prisma, Drizzle, Django, TypeORM, golang-migrate) arasında sıfır kesinti deployment'ları için…
nanocoai/nanoclaw
Extracts user customizations from a fork, generates a replayable migration guide, and upgrades to upstream by reapplying customizations on a clean base.
affaan-m/ECC
Rules and examples for safe, reversible schema changes in production: zero-downtime column and index changes, large data backfills and ORM migration workflows.
affaan-m/ECC
将本地 Hermes 操作员工作流转换为经过清理的 ECC 技能和发布包工件。在准备将 Hermes 工作流用于公共 ECC 重用而不泄露私有工作区状态、凭据或仅本地路径时使用。
Tommy-yw/RunbookHermes
Build, test, inspect, install, and deploy MCP servers with FastMCP in Python.
Tommy-yw/RunbookHermes
Pharmaceutical research assistant for drug discovery workflows.
Tommy-yw/RunbookHermes
Fetch YouTube video transcripts and transform them into structured content (chapters, summaries, threads, blog posts).
Tommy-yw/RunbookHermes
Supply chain investigation, evidence recovery, and forensic analysis for GitHub repositories.
Tommy-yw/RunbookHermes
Production pipeline for interactive and generative visual art using p5.js.
Tommy-yw/RunbookHermes
Set up and use 1Password CLI (op). An agent skill from Tommy-yw/RunbookHermes.
Migrate a user's OpenClaw customization footprint into Hermes Agent. Openclaw Migration is an agent skill from Tommy-yw/RunbookHermes. Migrate a user's OpenClaw customization footprint into Hermes Agent.
Run `npx skills add Tommy-yw/RunbookHermes --skill openclaw-migration -a claude-code`. Or copy the skill folder (optional-skills/migration/openclaw-migration in Tommy-yw/RunbookHermes) into .claude/skills/openclaw-migration in your project. Claude Code loads it when a task matches its description.
Run `npx skills add Tommy-yw/RunbookHermes --skill openclaw-migration -a codex`. Or copy the skill folder (optional-skills/migration/openclaw-migration in Tommy-yw/RunbookHermes) into .agents/skills/openclaw-migration in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add Tommy-yw/RunbookHermes --skill openclaw-migration -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/openclaw-migration, .gemini/skills/openclaw-migration, .github/skills/openclaw-migration and .opencode/skills/openclaw-migration in your project.
Going by SKILL.md and its folder, Openclaw Migration needs Python for the scripts in its folder, the command-line tools its instructions call (python3) and credentials named TELEGRAM_BOT_TOKEN. Our summary lists: Python 3; A credential in TELEGRAM_BOT_TOKEN.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.
Openclaw Migration is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.
About 4k tokens (SKILL.md is roughly 16k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Openclaw Migration: Reversible Migration (JuliusBrussee/caveman, 110k stars), Database Migrations (affaan-m/ECC, 275k stars), Database Migrations (affaan-m/ECC, 275k stars) and Migrate Nanoclaw (nanocoai/nanoclaw, 31k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
Tommy-yw (a GitHub user) maintains it in Tommy-yw/RunbookHermes, which has 546 GitHub stars. The repository holds 38 skills in this directory. The repository was last updated on May 18, 2026.
Source: Tommy-yw/RunbookHermes on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.