Design a Durable Hermes Personality with SOUL.md

SOUL.md defines the durable identity of a Hermes instance. It should describe voice, values, and conversational posture—not become a dumping ground for project procedures, temporary tasks, or secret material.

Official documentation: https://hermes-agent.nousresearch.com/docs/user-guide/features/personality

Put each instruction in the right layer

Use the Hermes-home SOUL.md for stable personality. Use AGENTS.md or project context for repository rules and operating conventions. Use /personality for a session-level overlay such as teacher or technical mode. Keeping these layers separate makes behavior predictable across projects and profiles.

Write for observable behavior

Prefer short, testable guidance: be direct, admit uncertainty, protect private data, and verify actions before reporting success. Avoid long biographies, contradictory tone demands, or instructions that override safety and task requirements.

Operational checklist

  • Locate the active profile’s HERMES_HOME.
  • Keep identity guidance concise and durable.
  • Move project commands into AGENTS.md.
  • Keep secrets and customer details out.
  • Use session personalities for temporary tone changes.
  • Test the result in a fresh session.

Common pitfalls

  • Putting repository-specific commands in global identity.
  • Assuming a working-directory SOUL file overrides the instance identity.
  • Writing contradictory style requirements.
  • Using persona text to weaken approval or privacy rules.
  • Judging the change only inside an old session with cached context.

Verification steps

  1. Start a fresh session and ask the agent to describe its role.
  2. Test a normal answer for the intended tone.
  3. Test an uncertainty case for honest qualification.
  4. Open a project with its own AGENTS.md and confirm both layers apply.
  5. Apply and clear a session personality overlay.
  6. Check that no private data appears in the identity file.

A reliable Hermes workflow is defined by observable behavior, bounded authority, and repeatable verification—not by configuration alone.