DEV Community

hakiimi
hakiimi

Posted on

SOUL.md: Give Your AI Agent a Personality That Actually Helps

Every OpenClaw agent has a persona file, traditionally SOUL.md. Most people skip it or write a one-liner. But SOUL.md is where you encode how the agent should behave, and it has an outsized effect on output quality. Here is how to use it well.

Why persona matters

An agent without a persona answers literally. With a good persona, it understands tone, priorities, when to push back, and what "good" means for your work. The same model produces very different output depending on the persona you give it.

Start with the job, not the vibe

Write SOUL.md around the role the agent plays, not generic personality adjectives. Instead of "be friendly and helpful", try "you are a senior SEO editor: you flag weak claims, keep prose tight, and refuse to pad word count."

Include what matters for your work

  • Tone: how it should sound in deliverables and messages.
  • Priorities: what to optimize for (accuracy, speed, clarity, consistency).
  • Boundaries: what it should refuse or flag, to keep you safe.
  • Context: who the audience is, what the work is for.

Keep it short and specific

A tight, concrete SOUL.md beats a long vague one. Aim for a few sentences per point, written as instructions to the agent, not marketing copy.

Iterate with examples

As you work, note where the agent's behavior missed: too wordy, too terse, too agreeable. Rewrite SOUL.md with concrete examples of the desired behavior, and the next run improves.

Wrap up

SOUL.md is a lever, not a formality. Write it around the job, keep it concrete, and keep refining it. The better the persona, the less hand-holding every other instruction needs.

Top comments (0)