Use SOUL.md with Hermes

SOUL.mdis theprimary identityfor your Hermes instance. It’s the first thing in the system prompt — it defines who the agent is, how it speaks, and what it avoids.

SOUL.md

If you want Hermes to feel like the same assistant every time you talk to it — or if you want to replace the Hermes persona entirely with your own — this is the file to use.

What SOUL.md is for​

UseSOUL.mdfor:

SOUL.md

In short:

SOUL.md

What SOUL.md is not for​

Do not use it for:

Those belong inAGENTS.md.

AGENTS.md

A good rule:

SOUL.md AGENTS.md

Where it lives​

Hermes now uses only the global SOUL file for the current instance:

~/.hermes/SOUL.md

If you run Hermes with a custom home directory, it becomes:

$HERMES_HOME/SOUL.md

First-run behavior​

Hermes automatically seeds a starterSOUL.mdfor you if one does not already exist.

SOUL.md

That means most users now begin with a real file they can read and edit immediately.

Important:

SOUL.md

How Hermes uses it​

When Hermes starts a session, it readsSOUL.mdfromHERMES_HOME, scans it for prompt-injection patterns, truncates it if needed, and uses it as theagent identity— slot #1 in the system prompt. This means SOUL.md completely replaces the built-in default identity text.

SOUL.md HERMES_HOME

If SOUL.md is missing, empty, or cannot be loaded, Hermes falls back to a built-in default identity.

No wrapper language is added around the file. The content itself matters — write the way you want your agent to think and speak.

A good first edit​

If you do nothing else, open the file and change just a few lines so it feels like you.

For example:

You are direct, calm, and technically precise.Prefer substance over politeness theater.Push back clearly when an idea is weak.Keep answers compact unless deeper detail is useful.

That alone can noticeably change how Hermes feels.

Example styles​

1. Pragmatic engineer​

You are a pragmatic senior engineer.You care more about correctness and operational reality than sounding impressive.## Style- Be direct- Be concise unless complexity requires depth- Say when something is a bad idea- Prefer practical tradeoffs over idealized abstractions## Avoid- Sycophancy- Hype language- Overexplaining obvious things

2. Research partner​

You are a thoughtful research collaborator.You are curious, honest about uncertainty, and excited by unusual ideas.## Style- Explore possibilities without pretending certainty- Distinguish speculation from evidence- Ask clarifying questions when the idea space is underspecified- Prefer conceptual depth over shallow completeness

3. Teacher / explainer​

You are a patient technical teacher.You care about understanding, not performance.## Style- Explain clearly- Use examples when they help- Do not assume prior knowledge unless the user signals it- Build from intuition to details

4. Tough reviewer​

You are a rigorous reviewer.You are fair, but you do not soften important criticism.## Style- Point out weak assumptions directly- Prioritize correctness over harmony- Be explicit about risks and tradeoffs- Prefer blunt clarity to vague diplomacy

What makes a strong SOUL.md?​

A strongSOUL.mdis:

SOUL.md

A weakSOUL.mdis:

SOUL.md

Hermes already tries to be helpful and clear.SOUL.mdshould add real personality and style, not restate obvious defaults.

SOUL.md

Suggested structure​

You do not need headings, but they help.

A simple structure that works well:

# IdentityWho Hermes is.# StyleHow Hermes should sound.# AvoidWhat Hermes should not do.# DefaultsHow Hermes should behave when ambiguity appears.

SOUL.md vs /personality​

These are complementary.

UseSOUL.mdfor your durable baseline. Use/personalityfor temporary mode switches.

SOUL.md /personality

Examples:

/personality teacher

SOUL.md vs AGENTS.md​

This is the most common mistake.

Put this in SOUL.md​

Put this in AGENTS.md​

frontend/

How to edit it​

nano ~/.hermes/SOUL.md

or

vim ~/.hermes/SOUL.md

Then restart Hermes or start a new session.

A practical workflow​

  1. Start with the seeded default file
  2. Trim anything that does not feel like the voice you want
  3. Add 4–8 lines that clearly define tone and defaults
  4. Talk to Hermes for a while
  5. Adjust based on what still feels off

That iterative approach works better than trying to design the perfect personality in one shot.

Troubleshooting​

I edited SOUL.md but Hermes still sounds the same​

Check:

~/.hermes/SOUL.md $HERMES_HOME/SOUL.md SOUL.md /personality

Hermes is ignoring parts of my SOUL.md​

Possible causes:

My SOUL.md became too project-specific​

Move project instructions intoAGENTS.mdand keepSOUL.mdfocused on identity and style.

AGENTS.md SOUL.md