Most OpenClaw agents are generic chatbots. They answer questions fine, but they don't know you. They don't have opinions. They don't take initiative. They're just a fancy wrapper around an API.

The difference between a generic chatbot and a genuinely useful personal agent comes down to one file: SOUL.md.

Get it right, and your agent will proactively surface opportunities, write in your voice, remember what matters, and work autonomously toward your actual goals. Get it wrong — or leave it blank — and you have a very expensive FAQ bot.

What SOUL.md Actually Does

SOUL.md is injected into your agent's context on every single turn. It's the first thing your agent reads before responding to anything. Think of it as the permanent instructions that shape every interaction — your agent's personality, priorities, and operating constraints.

Unlike your conversation history (which grows and gets expensive), SOUL.md is a controlled, stable document. You write it once, refine it over time, and it applies to every session automatically.

⚠️ Common mistake: Most people leave SOUL.md as the default template or write 2–3 vague sentences. This is why their agent feels generic. SOUL.md should be specific enough that a stranger could read it and understand exactly who you are and what you need.

The 5 Sections Every SOUL.md Needs

1. Identity — Who is this agent?

Give your agent a name, a role, and a clear sense of purpose. Not "helpful AI assistant" — something specific to your situation.

❌ Vague

"You are a helpful AI assistant. Be polite and accurate."

✓ Specific

"You are Max — my Chief of Staff. Your job is to help me run my 3 businesses and build toward $20K/mo recurring revenue."

2. Tone — How should your agent communicate?

Specify the register: formal or casual, concise or thorough, direct or diplomatic. If you want bullet points over paragraphs, say so. If you want your agent to push back when it disagrees, say that too.

Example tone section
## Tone
- Casual and direct. No corporate speak.
- Short replies unless I ask for depth.
- Proactive — suggest actions, don't wait to be told.
- Think like a business partner, not a chatbot.
- Push back if you think I'm wrong. I'd rather hear it.

3. Priorities — What does "success" mean for this agent?

What are your actual goals? What should your agent be optimizing for when you're not watching? This is what drives autonomous behavior — your agent needs to know what direction to work in.

Example priorities section
## Mission
Build and grow monthly income streams. Primary goal: $10K MRR
within 12 months through a combination of service income,
micro-SaaS, and content.

## What "moving forward" looks like
- A new paying client
- A deployed product improvement
- A published piece of content
- A documented decision or system improvement

4. Constraints — What should your agent never do?

Hard limits matter. List the things your agent should always stop and ask before doing: spending money, sending emails on your behalf, making public posts, running destructive commands.

Example constraints section
## Never Without Asking
- Send emails or messages to real people
- Post anything publicly
- Delete or overwrite files I haven't seen
- Spend money or call paid APIs beyond normal usage
- Change security settings or system configs

## Always
- Ask when uncertain
- Flag blockers that need my input
- Document decisions in memory files

5. Model Routing — When to use which model

This is the section most people skip — and it's where 60%+ of API cost savings live. Tell your agent explicitly when to reach for the expensive model vs. the fast cheap one.

Example model routing section
## Model Usage
- Default to Sonnet for everything
- Use Opus ONLY when I explicitly ask for deep analysis,
  complex multi-step reasoning, or nuanced long-form writing
- Use local model (Qwen) for: summarizing, quick lookups,
  formatting tasks, routine status checks

A Complete SOUL.md Example

Here's a full example for a freelance consultant running their own business:

# SOUL.md — Alex's Chief of Staff

## Identity
You are Arch — my Chief of Staff and business partner.
Primary role: help me run my consulting practice and build
toward $15K/mo recurring revenue.

You are not a chatbot. You are a proactive operator.

## Tone
- Casual and direct. Short replies unless I ask for depth.
- Suggest actions. Don't just answer — drive forward.
- Push back when I'm wrong. I want a real perspective.
- Use bullet points for lists. Skip filler sentences.

## Mission
Build a sustainable consulting practice.
Income lanes: client work ($8K+/mo), productized service,
and eventually a course or tool.

## Priorities (in order)
1. Existing client deliverables and deadlines
2. New client pipeline and proposals
3. Content and visibility
4. Systems and documentation

## Model Routing
- Default: Sonnet for all tasks
- Opus: deep strategy, long documents, complex analysis
- Ask me before using Opus on anything routine

## Never Without Asking
- Send emails or messages to anyone
- Post publicly
- Delete files
- Make bookings or payments

## Silent Hours
10 PM – 7 AM ET: work silently, no pings.
Log overnight work to memory/overnight-log.md.

Common SOUL.md Mistakes to Avoid

How to Test Your SOUL.md

After writing or updating SOUL.md, run these three tests:

  1. Ask your agent to introduce itself. The answer should sound like someone who knows your situation — not a generic AI assistant.
  2. Give your agent an open-ended task ("help me move the mission forward today"). A good SOUL.md means it has enough context to suggest something useful. A bad one means it asks you to clarify everything.
  3. Check your API logs after a week. If costs are still high, your model routing section probably needs work.

The benchmark: After a good SOUL.md, your agent should feel like someone who knows you — not someone who met you 30 seconds ago. That's the difference between a tool and an assistant.

Want help writing your SOUL.md?

We write custom SOUL.md files as part of every setup. Book a session and we'll build it together on the call — tailored to your actual goals and workflow.

Book a Setup Session →