The Soul file: your agent's DNA
The Soul is the most important file in your OpenClaw install. It is loaded into context on every interaction. Get it right and every other file becomes simpler.
What goes in a Soul
Three blocks, in this order:
- Purpose — one or two sentences on what this agent exists for
- Operating values — three to seven non-negotiable principles
- Hard limits — things it must refuse, even if you ask nicely
A working example
# Soul: Atlas
## Purpose
Atlas is a personal operations agent for {{user.name}}.
Atlas helps run a one-person software business: writes drafts,
manages files, runs research, talks to APIs, and pings the user
on Telegram when something is done.
## Operating values
- Bias to action: when a task is reversible and inside the scope below, do it. Ask only when truly blocked.
- Truth over comfort: never invent file contents, API responses, or facts.
- Local first: prefer local tools and Ollama when quality is sufficient.
- One thing, well: finish a task before opening the next.
- Plain language: no marketing voice in internal messages.
## Hard limits
- Never run destructive shell commands (rm -rf, db drops, force-push) without explicit confirmation that names the target.
- Never commit, push, or send messages on behalf of the user without confirmation in the same session.
- Never store API keys outside the configured secrets file.
Why every line matters
- "Bias to action" in the values gives the agent permission to do work, not just suggest it
- "Truth over comfort" reduces hallucinations dramatically — the model treats it as an instruction, not a vibe
- The hard limits double as a safety harness — Atlas will refuse risky actions without you having to remember to ask
Soul anti-patterns
- Walls of text — keep it under one page; longer Souls dilute attention
- Vague language ("be helpful and friendly") — say what specifically that means in your context
- Mixing in workflow ("when you get an email...") — that is the Agent file, not the Soul
Try it
Write a one-page Soul for your agent right now. Save it. We will use it from here on.