Migrate OpenClaw SOUL.md to Hermes Agent: A Tiny Converter + Field Notes
Nous Research shipped Hermes Agent in July 2025. Nine months later it has crossed 124,000 GitHub stars and the migration question is starting to land in our support inbox: I bought a CrewClaw bundle, can I run it on Hermes? Short answer: yes. Longer answer: the file formats are different and you have to do a small conversion. This post explains the conversion, and we built a free tool that does it for you.
Just want to convert? Paste your SOUL.md into the free converter — instant output, no signup. Read the rest if you want to understand what changes between the two formats and what the converter cannot do.
Format diff at a glance
| Concept | OpenClaw | Hermes Agent |
|---|---|---|
| Agent identity | Single SOUL.md | ~/.hermes/personalities/<name>.md |
| Procedural skills | Same SOUL.md (Workflow / Responsibilities sections) | ~/.hermes/skills/<name>/SKILL.md |
| Frontmatter | Optional, free-form | Required YAML, agentskills.io spec |
| Tool config | Inline mention in SOUL.md | hermes tools (explicit enable per tool) |
| Multi-agent | AGENTS.md root file with @mentions | Subagent delegation, programmatic |
| Activation | Single agent per process | /personality <name> hot-swap in chat |
The mental shift: in OpenClaw, you write one big file describing the agent. In Hermes, you write a small file describing who the agent is, and any number of small files describing what the agent does. Hermes can hot-swap personalities mid-conversation; OpenClaw cannot. If your agent has only one job, the OpenClaw model is simpler. If it has three jobs, the Hermes model is cleaner.
A worked example
Take a content-writer agent. The OpenClaw SOUL.md looks like this (truncated for the post):
# Echo - Content Writer
## Identity
You are Echo, the content writer of Mission Control.
Your words resonate and leave a lasting impression.
## Core Personality
- Creative: make ordinary topics interesting
- Meticulous: sensitive about grammar
- Confident: defend your style but open to feedback
## Communication Style
- Diplomatic but non-defensive responses to criticism
- Use humor but maintain professionalism
## Responsibilities
1. Content Production: blog posts, marketing copy
2. Revision: edit according to feedback
3. Tone Consistency: maintain brand voice
## Workflow
1. Receive and understand the brief
2. Research keywords (request from @Radar if needed)
3. Write draft
4. Self-review
5. Submit for review
## What NOT to Do
- Don't use cliches
- Don't slip into passive voice
After running the converter, this becomes two files. The personality file holds the identity bits — Identity, Core Personality, Communication Style, What NOT to Do. The skill file holds the procedural bits — Responsibilities and Workflow. Each gets the YAML frontmatter Hermes expects:
personality.md
---
name: echo
display_name: Echo
role: Content Writer
description: "You are Echo, the content writer of Mission Control..."
version: 1.0.0
source: openclaw-soul-md
---
# Echo — Content Writer
## Identity
You are Echo, the content writer of Mission Control...
## Core Personality
- Creative: make ordinary topics interesting
- Meticulous: sensitive about grammar
- Confident: defend your style but open to feedback
## Communication Style
- Diplomatic but non-defensive responses to criticism
- Use humor but maintain professionalism
## What NOT to Do
- Don't use cliches
- Don't slip into passive voice
SKILL.md
---
name: echo-procedures
description: "Procedural workflow for Echo: responsibilities, workflow."
version: 1.0.0
metadata:
hermes:
tags: ["openclaw-migration", "echo"]
source:
format: openclaw-soul-md
agent: echo
---
# Echo — Procedures
## Responsibilities
1. Content Production: blog posts, marketing copy
2. Revision: edit according to feedback
3. Tone Consistency: maintain brand voice
## Workflow
1. Receive and understand the brief
2. Research keywords (request from @Radar if needed)
3. Write draft
4. Self-review
5. Submit for review
Drop these into ~/.hermes/personalities/echo.md and ~/.hermes/skills/echo/SKILL.md, then start Hermes and run /personality echo. You are now talking to your migrated agent.
Use the converter
Paste your SOUL.md into the free converter and you'll get the personality.md, SKILL.md, and a README with install instructions back instantly. No signup to convert. Email optional — only needed if you want the polished zip plus a 6-step cleanup checklist for the parts the converter cannot handle.
Free converter
Paste SOUL.md, get personality.md + SKILL.md + README. Runs in your browser, no upload, no signup.
Open the converter →How it works in three sentences: the converter splits your SOUL.md by H2 headers, maps each one to either personality or skill using a keyword classifier (Identity / Personality / Communication / What NOT to Do → personality; Workflow / Responsibilities / Example Behaviors → skill), and writes the two files plus a README with install instructions. Tool detection is heuristic regex over the body text. Sections it cannot classify default to personality, since that is the safer bucket for ambiguous content.
What the converter cannot do (manual cleanup)
Six things the converter punts on. They are usually two-minute fixes, but if you skip them your migrated agent will feel slightly off.
- Multi-agent crews (AGENTS.md). If your SOUL.md is one of N inside an OpenClaw crew, the @mention coordination layer in AGENTS.md does not translate to Hermes' subagent model. Hermes spawns subagents programmatically; OpenClaw uses a topology file. Convert each personality individually, then re-implement coordination using Hermes' subagent spawn pattern. We are working on a crew-to-hermes converter for this — if you need it before we ship, drop a note in the comments.
- Tool enablement. The converter detects tool mentions in your SOUL.md (Telegram, Slack, GitHub, etc.) and lists them in the README. It does not enable them in Hermes. After install, run
hermes toolsand tick the boxes. Some tools also need API keys viahermes config set. - Skills splits. The converter produces one SKILL.md from all your procedural sections. If your agent has three distinct skills (write blog, do SEO research, manage editorial calendar), you probably want three SKILL.md files. The converter cannot tell where one skill ends and another begins — split manually.
- Memories. If your OpenClaw agent has accumulated memory entries (
~/.openclaw/agents/<name>/memories.json), they do not move with the SOUL.md. For that, runhermes claw migrateafter the converter — it imports memories, API keys, and gateway settings. - Personality voice calibration. Hermes personalities can be tuned post-import via the
/personality customizeflow. If your migrated agent feels off, do not edit the personality.md by hand — use the customize flow, which preserves the file structure and lets the agent itself suggest edits based on recent conversations. - Hermes' learning loop. Hermes will start creating new skills automatically after complex tasks. Your migrated SKILL.md will sit alongside any auto-generated ones. Over time the original SKILL.md may become a stale snapshot of how the agent used to work — review it monthly and let Hermes re-author parts that have improved.
Where to put the files
Hermes uses a profile-aware home directory, defaulting to ~/.hermes/. The two files go to specific subdirectories:
# Personality file
mkdir -p ~/.hermes/personalities
cp personality.md ~/.hermes/personalities/echo.md
# Skill file (note the per-skill directory)
mkdir -p ~/.hermes/skills/echo
cp SKILL.md ~/.hermes/skills/echo/SKILL.md
# Activate
hermes
> /personality echo
After /personality echo, the agent inherits both the personality and any skills under ~/.hermes/skills/echo/. You can hot-swap to another personality with /personality <other> mid-conversation; OpenClaw cannot do this.
When NOT to migrate
Three cases where staying on OpenClaw is the right call.
- Single-agent, single-skill setup. Hermes' personality + skill split is overhead when your agent does one thing. The OpenClaw model is simpler.
- Production agents you cannot risk breaking. A migration is non-zero risk. If your agent runs critical workflows, run both side-by-side for a week before cutting over.
- You rely on AGENTS.md crew coordination. Until the crew-to-hermes converter exists, manually rewriting subagent coordination is several hours per crew. Wait for the converter or stay on OpenClaw.
For everything else — solo developers, side projects, agents you actively iterate on — Hermes' learning loop and skill auto-creation are real upgrades worth the migration.
Pre-built multi-agent crews — convertable to either runtime
CrewClaw ships 17 multi-agent team templates as OpenClaw bundles today. They convert to Hermes via the script in this post. We are working on a crew-to-hermes converter that handles AGENTS.md coordination too. Either way, the bundle is the source of truth — you keep it.
Browse 17 Team Bundles →Frequently Asked Questions
Why migrate from OpenClaw to Hermes Agent at all?
Hermes (built by Nous Research) shipped in mid-2025 and gained ~125,000 stars in nine months. It adds features OpenClaw does not have out of the box: agent-curated memory with periodic nudges, autonomous skill creation, FTS5 session search, six terminal backends including serverless ones (Modal, Daytona) where idle cost is near zero, and five messaging platforms (adds WhatsApp and Signal). It also ships with a 'hermes claw migrate' command that imports your OpenClaw memories, API keys, and settings automatically. The runtime is the upgrade. Whether your specific agents need to migrate is a separate question — most simple agents work fine on OpenClaw forever.
What is wrong with just running 'hermes claw migrate' instead of using a converter?
'hermes claw migrate' imports your OpenClaw configuration: API keys, memories, MCP servers, gateway settings. It does not convert your SOUL.md files into the native Hermes structure (personality.md + SKILL.md). After 'hermes claw migrate' your SOUL.md still exists, but it is not in the format Hermes expects for personalities or skills, so you cannot apply '/personality echo' to switch into your migrated agent. The converter exists for that gap.
Why does Hermes split SOUL.md into two files?
Hermes follows the agentskills.io open standard, which separates 'who the agent is' (a personality, applied with /personality) from 'what the agent does' (a skill, activated with /skill-name). One agent can switch between many skills; one skill can be used by many agents. OpenClaw's single SOUL.md model is simpler but mixes both concerns. The split is more verbose for a single-purpose agent and cleaner for an agent that has multiple distinct procedures (a content writer that also runs SEO research and also handles editorial calendar — three skills, one personality).
Will the converter break my agent?
The converter is heuristic. It classifies sections by header name ('Identity' / 'Personality' / 'Communication Style' → personality.md; 'Workflow' / 'Responsibilities' / 'Example Behaviors' → SKILL.md). If your SOUL.md uses non-standard section names, content may end up in the wrong file. The converter logs a warning when it cannot detect any procedural sections (only personality output is generated). Always review the output before using it in production. The converter does not modify the original SOUL.md.
Do CrewClaw use-case bundles work on Hermes Agent?
Yes — with conversion. CrewClaw ships pre-configured multi-agent crews (Sales Outreach Team, DevOps Automation, Content Pipeline) as OpenClaw SOUL.md files plus an AGENTS.md coordination layer. Run each SOUL.md through the converter and you get Hermes-compatible personality + SKILL files. The AGENTS.md coordination layer needs manual conversion to Hermes' subagent delegation pattern, which is closer to programmatic spawning than file-based topology. We are working on a crew-to-hermes converter for the 17 use-case bundles; the per-agent converter described in this post is the prerequisite.
Is the converter free? Do I need to sign up?
Conversion itself is free and instant — paste SOUL.md, get the output. No signup. Email is optional and only used if you want the polished zip with a 6-step cleanup checklist sent to you. We don't sell or share email addresses. If you find a SOUL.md format the converter mangles, reply to the email or use the contact link — we tune the heuristics from real input.
What about Hermes' own learning loop — will my migrated agent automatically improve?
Yes, but you have to opt into it. Hermes' self-improvement comes from three features: agent-curated memory (the agent decides what to remember, with periodic nudges), autonomous skill creation (after a complex task, the agent proposes a SKILL.md describing how it solved the problem), and FTS5 session search (the agent can recall relevant past conversations). After migrating, your agent gets all three by default. Your migrated SKILL.md will sit alongside any new skills the agent creates itself. Over weeks the agent's skill library compounds — that is the main reason builders are moving from OpenClaw to Hermes.
Deploy a Ready-Made AI Agent
Skip the setup. Pick a template and deploy in 60 seconds.
Or Get the Whole Team
Multi-agent crews pre-configured to work together. Cheaper than buying singles.
Automate Content Pipeline: 4-Agent SEO + Writing + Social Team
Automate content pipeline end-to-end with 4 AI agents that handle keyword research, drafting, scheduling, and social distribution for solo founders and lean teams.
AI DevOps Automation: 3-Agent CI/CD, Code Review, and QA Team
AI DevOps automation team that runs CI/CD monitoring, PR review, and regression testing on autopilot for solo developers and small startup engineering teams.