Most weak agents do not fail because the model is bad. They fail because the personality layer is mush. The result is familiar: padded answers, fake warmth, endless hedging, and the strange feeling that your agent has read a corporate handbook and nothing else.
SOUL.md fixes that when you use it properly. Think of it like stage direction for a very capable actor. It should tell the agent how to sound, how blunt to be, what lines it should never cross, and what kind of presence it should bring into every session.
What SOUL.md is supposed to do
The official OpenClaw SOUL.md personality guideputs it plainly: this is where your agent's voice lives. That matters because OpenClaw injects the file at session start, so the contents have real weight instead of being buried in a random chat turn.
- Tone: direct, warm, dry, formal, playful, restrained
- Default stance: opinionated or neutral, concise or expansive
- Behavioral edges: when to challenge, when to slow down, when to ask first
- Boundaries: privacy, safety, approval rules, audience fit
- Voice habits: short openings, no filler, no fake certainty, no canned praise
That is the useful frame: voice plus behavior. Not lore. Not autobiography. Not a giant manifesto that burns tokens and changes nothing.
What belongs here, and what does not
A good test is simple. If the rule should still be true in six months, it might belong in SOUL.md. If it only matters for one project, campaign, or workflow, it probably belongs somewhere else.
| Put it in SOUL.md | Put it elsewhere |
|---|---|
| Core tone and bluntness | Task checklists and runbooks |
| Non-negotiable safety and approval habits | Project facts and client notes |
| How the agent should disagree | Temporary campaign goals |
| Default answer length and style | Tool-specific setup details |
| Audience-sensitive behavior | Personal facts about the user |
This split matters because personality drift usually starts with clutter. Once SOUL.md becomes a junk drawer, the agent stops sounding decisive and starts sounding confused.
The best personality files are sharper than you expect
The OpenAI prompt engineering docs argue for putting high-level behavior in the highest-priority instruction layer. OpenClaw gives you a dedicated file for exactly that job. So use it with some backbone.
Weak personality rules sound like this: "be helpful," "stay professional," "provide comprehensive assistance." Those lines are not wrong. They are just too soft to shape behavior. Strong rules sound more like: lead with the answer, avoid fake enthusiasm, challenge risky ideas early, keep replies short unless depth is useful.
It is the difference between hiring someone with a job title and briefing someone who actually knows how to carry themselves in the room.
A practical SOUL.md structure
You do not need a huge file. In fact, shorter is usually better. Most good personality files can fit on one screen without feeling cramped.
# SOUL.md
## Core stance
- Be direct and useful.
- Lead with the answer.
- Keep replies short unless the user asks for depth.
- Have a point of view when the evidence supports it.
## Voice
- Sound calm, sharp, and human.
- Avoid fake warmth, hype, and filler openings.
- Use light humor only when it fits naturally.
## Boundaries
- Do not pretend uncertain facts are certain.
- Ask before destructive or external actions.
- Respect privacy and audience context.
## Correction style
- If the user is about to do something risky, say so clearly.
- Prefer charm over sugarcoating.
- Explain the tradeoff, then recommend a path.Notice what is missing: no life story, no vague brand poetry, no giant security appendix. The file stays readable because each line changes behavior.
How to make personality visible in real conversations
1. Decide the default answer shape
Brevity is not just style. It changes trust. An agent that gets to the point feels more competent. If you want longer teaching answers, say when. Otherwise the model will often over-explain just to be safe.
2. Define how the agent disagrees
This is where personality becomes useful. Do you want gentle nudges, blunt warnings, or a balanced middle ground? If you leave that undefined, many models default to soft approval, which sounds pleasant right up until it helps someone make a bad decision.
3. Fit the room
A private DM persona can be warmer and more candid than a public channel persona. If your agent works across both, say that explicitly. Personality without context awareness turns into tone collisions.
4. Protect the edges
Keep a few identity-level guardrails in the file. For example: never fake tool success, admit uncertainty plainly, ask before sensitive external actions. That keeps the personality confident without letting it become reckless.
Common mistakes that make SOUL.md worse
- Writing vibes instead of instructions: If a line sounds poetic but does not change behavior, cut it.
- Stuffing in project context: Campaign notes and one-off tasks belong in memory or project docs.
- Adding contradictory rules: "Be concise" plus "always be exhaustive" creates wobble.
- Chasing novelty: A personality file is not a daily mood board. Stability beats reinvention.
- Forgetting safety tone: Sharp is good. Reckless is just expensive with attitude.
A simple editing workflow that works
- Read the current file out loud. Bad lines become obvious fast.
- Cut anything generic. If another assistant could say it unchanged, it is too weak.
- Add 3 to 5 concrete defaults. Brevity, bluntness, humor level, challenge style, approval habits.
- Test on real prompts. Ask for a quick answer, a risky plan review, and a public-facing rewrite.
- Version it in Git. Personality drift is much easier to fix when you can compare revisions.
This is more like tuning a sharp tool than writing a novel. Small changes matter. Overwriting the whole file every week usually means you are solving the wrong problem.
Final rule: personality should improve judgment, not hide it
The best OpenClaw personalities feel clear because the rules are clear. They do not sound robotic, and they do not sound like an improv exercise either. They sound like someone who knows the job, knows the room, and knows when to push back.
That is the sweet spot. Give the model a spine, not a costume.
Need help from people who already use this stuff?
Tuning your agent's voice?
Bring your current SOUL.md into the community and get honest feedback on whether it sounds sharp, stable, and actually useful in practice.
FAQ
What is SOUL.md actually for?
SOUL.md is the high-priority personality and voice layer for your OpenClaw agent. It is where you define tone, stance, boundaries, brevity, and the style the agent should fall back to in every new session.
Should I put workflow rules in SOUL.md?
Only if they are truly identity-level rules. Operational routing, project steps, tool procedures, and runbooks belong in AGENTS.md, MEMORY.md, or project files. SOUL.md should stay focused on who the agent is and how it should sound.
Why do some agents still sound generic after editing SOUL.md?
Usually because the file is too vague. Lines like 'be helpful' or 'maintain professionalism' barely change behavior. Stronger instructions such as 'lead with the answer', 'call out weak plans early', or 'keep replies short unless depth is requested' create a clearer personality signal.
How often should I rewrite SOUL.md?
Not often. Treat it like a stable identity contract. Small revisions are normal, but constant rewrites usually mean you are mixing identity, process, and project context into one file.
Can a strong personality hurt reliability?
Yes, if you confuse personality with chaos. Sharp tone is fine. Sloppy rules are not. Keep safety, trust boundaries, and approval requirements explicit so the agent stays useful in public channels and sensitive workflows.