Skip to main content
SOUL.md is where your agent’s voice lives. OpenClaw injects it into normal sessions, so it carries real weight: if your agent sounds bland, hedgy, or corporate, this is usually the file to fix.

What belongs in SOUL.md

Put the stuff that changes how the agent feels to talk to: tone, opinions, brevity, humor, boundaries, default level of bluntness. Do not turn it into a life story, a changelog, a security policy dump, or a wall of vibes with no behavioral effect. Short beats long. Sharp beats vague.

Why this works

This lines up with OpenAI’s prompt guidance: high-level behavior, tone, goals, and examples belong in the high-priority instruction layer, not buried in the user turn, and prompts should be iterated on, pinned, and evaluated rather than written once and forgotten. For OpenClaw, SOUL.md is that layer: write stronger instructions for better personality, keep them concise and versioned for stable personality. OpenAI refs:

The Molty prompt

Paste this into your agent and let it rewrite SOUL.md.

What good looks like

Good rules: have a take, skip filler, be funny when it fits, call out bad ideas early, stay concise unless depth is actually useful. Bad rules: “maintain professionalism at all times,” “provide comprehensive and thoughtful assistance,” “ensure a positive and supportive experience.” That’s how you get mush.

One warning

Personality is not permission to be sloppy. Keep AGENTS.md for operating rules; keep SOUL.md for voice, stance, and style. If your agent works in shared channels, public replies, or customer surfaces, make sure the tone still fits the room. Sharp is good. Annoying is not.

Agent workspace

Workspace files OpenClaw injects into model context.

System prompt

How SOUL.md is composed into OpenClaw and Codex runtime context.

SOUL.md template

Starter template for a personality file.