SOUL.md¶
A persona/personality file that defines how an agent writes, behaves, and feels across contexts. Popularized by peter-steinberger via openclaw; treated as a first-class artifact alongside AGENTS.md / CLAUDE.md / .cursorrules.
Why it's distinct from rules files¶
AGENTS.md/CLAUDE.md→ operational guidance (how to work in this codebase)SOUL.md→ character guidance (how to talk, respond, self-present)
When OpenClaw was hooked to WhatsApp Relay, Peter noticed the default Claude Code personality didn't match how friends text on WhatsApp — too wordy, too many dots, too formal. He iterated SOUL.md to match each platform's vernacular: "No, this isn't like — try to write more like a human." → "Like a lobster." (inside joke)
Why it matters¶
- Medium shapes voice — agent behavior that's fine in a terminal is off in a chat app. Personality per channel.
- Personality is a taste artifact — see agent-taste. The platform-appropriate voice is something agents won't generate correctly without explicit steering.
- Fun is functional — delightful details (OpenClaw's occasional roast on CLI run) are what make users keep the agent around. Lowers cognitive cost of repeated interaction.
Cross-references¶
- agent-taste — SOUL.md is how taste gets codified
- openclaw — where the pattern emerged
- peter-steinberger — originator
- alex-krentsel — treats
soul.mdas a first-class architectural primitive of openclaw, not a gimmick: it grounds the agent's values across whatever domain it's currently working in, preventing drift toward whichever corpus it happens to be reading. - emergent-cursor-rules — sibling discipline (operational rules emerge from failure; soul emerges from mis-fit voice)