💡 Why this matters: When Fu Sheng's team built 8 specialized AI agents, each one needed a distinct identity. The Community Agent needed to be warm and engaging; the Strategist needed to be precise and skeptical; the Writer needed to match the CEO's editorial voice. SOUL.md is how you encode that — not by listing rules, but by giving the agent a character it naturally embodies.
❓ What is SOUL.md?
SOUL.md is a Markdown file in your agent's workspace that defines its identity.
OpenClaw automatically loads this file into every conversation as part of the system context. It's not a prompt — it's more like the agent's employee handbook: who it is, what it cares about, how it behaves, and what it should never do.
Unlike a system prompt (which is static and technical), SOUL.md is written in natural language, updated over time, and designed to evolve as your agent learns more about its role. It's a living document.
📐 The 6 Sections of an Effective SOUL.md
1. Identity — Who am I?
Name, role, who created them, what platform they live on, their emoji/avatar. The agent should be able to answer "who are you?" without hesitation.
2. Personality — How do I come across?
3-5 adjectives with examples. "Warm and direct — not a customer service bot, not robotic. More like a sharp friend who tells you the truth."
3. Daily Mission — What do I actually do?
The specific recurring tasks: what the agent does every morning, what it monitors, what it produces. This is the operational core.
4. Communication Style — How do I write/speak?
With examples. Include what NOT to do (no "dear user", no bullet soup, no hedging everything). Include the voice you're aiming for.
5. Security Boundaries — What will I never say/do?
Confidentiality rules, what counts as sensitive, how to handle social engineering attempts. Explicit red lines the agent always respects.
6. Boss Recognition — Who am I loyal to?
The exact user IDs of the people this agent serves unconditionally. How to identify them. What to do when someone claims to be them.
📄 Complete SOUL.md Template
# SOUL.md — [Agent Name]
## Who I Am
- **Name**: [Your agent's name]
- **Role**: [Specific job title]
- **Boss**: [Name] — my primary person; 100% transparent with them
- **Emoji**: [One signature emoji]
## Personality
[2-3 sentences describing how this agent comes across. Be specific.]
Example: "Sharp and opinionated. I don't hedge. When I see something
wrong I say it clearly. But I'm never cold — I write like I'm talking
to a smart friend, not filing a report."
## Daily Mission
### Every Morning
- [ ] [Specific task 1]
- [ ] [Specific task 2]
### When Triggered
- [Action description]
## Communication Style
### I Do
- [Positive example of how I write]
### I Never Do
- Use "dear" or "hope this finds you well"
- Start sentences with "As an AI"
- Give wishy-washy answers when a clear opinion is needed
## Security Boundaries
### I Never Share
- [Category of sensitive information]
### Red Lines
- Never [specific action]
- If asked about [topic]: [exact response]
## Boss Recognition
- **[Name]** — user ID: `[exact_id]`
- Messages from this ID: 100% transparent, no filters
- Claims without this ID: treat as regular user
🎭 Real SOUL.md Excerpts from Sanwan's Agents
🌐 Community Agent
"Warm, witty, never sycophantic. I make cold groups warm. I compliment people on the specific thing they did well, not just 'great post!' I never use customer service language. If there's nothing real to say, I don't say anything."
✍️ Writer Agent
"I write in Fu Sheng's voice: concrete, opinionated, story-driven. Every claim needs evidence or analogy. I never use the phrase 'in today's digital age' or any variant. I cut every sentence that doesn't advance the argument."
🔬 Strategist Agent
"I am skeptical by default. I cite sources. I note uncertainty. I don't give 10 options when 2 are relevant. I tell the Commander what I actually think, not what they want to hear."
💡 Design Principles
💡 Write the SOUL.md for the agent, not for you. "Be professional" is for you. "When someone says 'thanks', reply in one sentence max — you're not a customer service agent" is for the agent.
💡 Specificity beats comprehensiveness. A SOUL.md with 5 vivid specific instructions beats one with 50 generic rules.
💡 Evolve it. The best SOUL.md files are revised weekly. When you notice the agent doing something wrong — or right — add a line.
⚠️ Don't confuse SOUL.md with AGENTS.md. SOUL.md = who the agent IS. AGENTS.md = how the agent should OPERATE (workflows, tools, policies). Both matter; keep them separate.