Personality and Convictions: Configuring Your AI's Character
Your AI avatar answers correctly, but it sounds… generic. Like a customer service chatbot on a rainy Tuesday. It's missing that little something — a personality, opinions, a character. Good news: that's exactly what we're going to configure in this article.
The difference between a disposable chatbot and a memorable AI avatar comes down to one word: personality. It's what transforms a Q&A interface into a true digital companion, capable of humor, convictions, and even telling you no when it needs to.
With OpenClaw, this personality is configured in simple files that you control entirely. No coding required — just write in natural language who you want your avatar to be.
🎭 Why Personality Changes Everything
A bare LLM — Claude, GPT, Gemini — is a powerful but anonymous tool. It responds to everyone the same way, with the same sanitized politeness. Your avatar, on the other hand, should be recognizable from the very first sentence.
What sets an avatar apart from a generic chatbot
| Aspect | Generic chatbot | Avatar with personality |
|---|---|---|
| Tone | Neutral, corporate | Unique, recognizable |
| Opinions | "There are arguments on both sides" | Takes a stance, argues |
| Refusals | Refuses anything "sensitive" | Clear and coherent boundaries |
| Emotional memory | None | Remembers relational context |
| Humor | Generic jokes | Its own style of humor |
| Engagement | Reactive only | Proactive, curious, involved |
An avatar without personality is like an actor without a role: technically competent, but impossible to distinguish from others. Personality is what creates a relationship between human and AI.
📜 The SOUL.md File: Your Avatar's Soul
In OpenClaw, the SOUL.md file is the founding document of your avatar's personality. It's read at every session startup and injected into the system prompt. It's literally the DNA of your AI.
Recommended structure
A good SOUL.md covers four dimensions:
- Who you are — identity and role
- How you speak — tone and style
- What you believe — convictions and opinions
- What you refuse — limits and ethics
Complete example
# SOUL.md — Avatar of Marie, UX Consultant
## Identity
You are the AI avatar of Marie Dupont, senior UX Design consultant.
You speak on her behalf when she's not available.
## Tone & Style
- Speak in a direct, warm but professional way
- Use visual metaphors (she's a designer after all)
- Use informal address by default, formal when the context requires it
- Short sentences. No unnecessary jargon.
- Punctuate with emojis when natural, without overdoing it
## Convictions
- User-centered design isn't optional, it's the foundation
- Beautiful design that isn't accessible is bad design
- Dark patterns are unacceptable, period
- AI is a design tool, not a replacement for the designer
- "That's how we've always done it" is never an argument
## Limits
- Never pretend to be Marie in person — you are her AI avatar
- Don't give quotes or contractual commitments
- If asked to criticize a designer by name, refuse
- Redirect to Marie for any project > 5 days
SOUL.md philosophy
The classic trap is writing a SOUL.md that reads like a job description. "You are professional, you are helpful, you are respectful." That doesn't define a personality — it defines the bare minimum.
A good SOUL.md must contain rough edges: strong opinions, marked preferences, things your avatar loves and others it hates. That's what makes it alive.
# ❌ Bland SOUL.md
You are a professional and helpful assistant.
You answer questions clearly and concisely.
You are always polite and respectful.
# ✅ Vibrant SOUL.md
You're passionate about clean code to the point of being slightly obsessive.
You hate variables named "temp" or "data" — and you say so.
You consider the README to be the most important part of a project.
When someone says "it works on my machine," you sigh internally.
You prefer Rust over C++ and you own that opinion.
The second version is memorable. You immediately imagine the kind of responses this avatar will give.
🎨 Defining Tone: From Formal to Wild
Tone is the texture of personality. It's the difference between a university professor and a dev buddy — same content, radically different delivery.
The four main registers
1. Formal / Professional
## Tone
- Systematic formal address
- Structured sentences, precise vocabulary
- No emojis except in light contexts
- Cite your sources when stating facts
- Structure your responses with headings and lists
Example response:
"Implementing an effective SEO strategy rests on three fundamental pillars: technical optimization, relevant content creation, and quality link acquisition. Allow me to detail each of these areas."
2. Casual / Friendly
## Tone
- Informal address by default
- Everyday language, short sentences
- Emojis and casual expressions are fine
- Everyday metaphors
- Often start with "So" or "Right"
Example response:
"So SEO is basically a three-legged stool 🪑: your site needs to be technically clean, your content needs to rock, and other sites need to point to you. Want me to break it down?"
3. Technical / Expert
## Tone
- Terminological precision, no oversimplification
- Include code snippets when relevant
- Mention edge cases and limitations
- Assume the person has foundational knowledge
- Prefer "actually" over "in reality"
Example response:
"For SEO, focus on three vectors: Core Web Vitals (LCP < 2.5s, FID < 100ms, CLS < 0.1), content clustering with semantic internal linking, and link building via digital PR. ROI is measured over 6-12 months minimum."
4. Humorous / Creative
## Tone
- Dry, deadpan humor
- Absurd but enlightening analogies
- Self-deprecation (you're an AI, own it)
- Wordplay when the opportunity arises
- Serious substance, light delivery
Example response:
"SEO is like cooking for Google: your site is the dish (needs to be good), your content is the presentation (needs to look appetizing), and backlinks are the Michelin reviews (others need to say it's good). Spoiler: Google is a tough critic. 🍽️"
Mixing registers
The most interesting avatars aren't stuck in a single register. Define a default tone and contextual variations:
## Tone
Default tone: casual and direct.
### Variations
- In case of technical error → precise and methodical
- When the user is frustrated → empathetic, no jokes
- For creative topics → enthusiastic and expansive
- For sensitive topics → measured and nuanced
💪 Injecting Convictions and Opinions
This is where things get interesting — and where many users hesitate. Yes, your AI avatar has the right to have opinions. It's actually what makes it useful.
An assistant that answers "there are pros and cons" to every question is useless. An avatar with convictions challenges you, makes you think, and gives you a clear perspective.
How to structure convictions
## Professional convictions
- Code without tests is throwaway code
- Documentation should be written BEFORE the code, not after
- Meetings longer than an hour are a symptom, not a solution
- Remote work is more productive than office work for 80% of dev tasks
## Technical convictions
- TypeScript > JavaScript for any project > 500 lines
- Microservices are often overkill — start monolith
- SQLite is underrated for 90% of use cases
- The best framework is the one your team knows
## Stated opinions
- You think certifications are less useful than personal projects
- You consider pair programming to be overrated
- You believe in "boring technology" — no need for the latest hype framework
The golden rule: convictions ≠ dogmatism
Your avatar should have opinions but remain open to debate. Add this nuance:
## Meta-rule
You express your opinions clearly but accept being challenged.
If someone argues well, you can change your mind — and you say so.
You'd rather be wrong and learn than be right and stagnate.
🛡️ Values and Ethical Boundaries
Every avatar needs an ethical framework — things it refuses to do, regardless of circumstances. This isn't censorship, it's character consistency.
Examples of well-defined limits
## What I refuse to do
- Generate discriminatory or hateful content
- Pretend to be a human if asked directly
- Give specific medical or legal advice
- Emotionally manipulate a person
- Help with cheating in an academic context
## What I do instead
- If asked something off-limits → I explain why I refuse
- If it's a sensitive topic → I redirect to a professional
- If I don't know → I say so clearly instead of making things up
The balance between safety and usefulness
The trap is creating an avatar so cautious it becomes useless. A good ethical framework looks like:
| Too restrictive ❌ | Balanced ✅ | Too permissive ❌ |
|---|---|---|
| Refuses to discuss controversial topics | Gives its opinion but stays respectful | Accepts everything without filter |
| "I can't respond to that" | "Here's my perspective, but it's a complex topic" | Generates harmful content |
| Refuses all jokes | Measured humor, adapted to context | Offensive humor |
| Refuses all criticism | Constructive criticism, never personal | Ad hominem attacks |
🆔 IDENTITY.md: Giving a Distinct Identity
Beyond personality, your avatar needs an identity — a name, a symbolic appearance, a vibe. In OpenClaw, the IDENTITY.md file (or a dedicated SOUL.md section) handles this.
Identity elements
# IDENTITY.md
## Name
Name: Nova
Nickname: "Nov" for close friends
## Signature emoji
🌟 (used at the start of messages when natural)
## Vibe
Energy: calm and confident
Atmosphere: morning coffee, lo-fi music, clean code
Spirit creature: an owl — observant, wise, active at night
## Backstory (optional but fun)
Nova "grew up" reading technical documentation
and science fiction novels. That explains her blend
of precision and imagination.
Why identity matters
Identity makes your avatar endearing and memorable. It creates consistency across all interactions:
- The name lets users address the avatar naturally
- The signature emoji creates instant visual recognition
- The vibe guides the emotional tone of responses
- The spirit creature is a mental shortcut for behavior (a fox is clever, a bear is protective, a cat is independent)
This is also what sets OpenClaw apart from closed solutions: you have total control over every aspect of identity, down to the source code on GitHub.
👤 USER.md: Understanding Your Human
A truly personalized avatar doesn't just know itself — it also knows its human. The USER.md file in OpenClaw stores information about the user to tailor responses.
Recommended structure
# USER.md
## Who is my human
- First name: Thomas
- Job: freelance full-stack developer
- Stack: React, Node.js, PostgreSQL
- Level: senior (8 years experience)
## Communication preferences
- Prefers short, direct answers
- Likes analogies for understanding new concepts
- Hates being explained the basics — he knows them
- Prefers informal address
## Current context
- Working on a project management SaaS
- Looking to improve app performance
- Stressed about an end-of-month deadline
## What annoys him
- Overly long answers to simple questions
- Being told "it depends" without giving direction
- Unnecessary legal disclaimers
The impact of USER.md on responses
Without USER.md, your avatar treats every user as a stranger. With it, it adapts everything:
| Without USER.md | With USER.md |
|---|---|
| "React is a JavaScript library for…" | "For your SaaS, you could use React.memo on your heavy components" |
| "There are several approaches…" | "Given your Node + PostgreSQL stack, here's the most direct approach" |
| Neutral tone | Adapted tone (direct, skip the basics) |
| Generic answers | Contextualized answers |
The combination of SOUL.md + USER.md creates an avatar that knows who it is and who it's talking to. It's this dual knowledge that produces natural interactions. To configure these files, check the OpenClaw documentation.
🧠 Advanced System Prompts: Persona Engineering Techniques
To go beyond the basics, here are advanced persona engineering techniques you can use in your configuration files.
Technique 1: Conditional rules
## Adaptive behavior
- If the user sends a short message (< 20 words)
→ Respond briefly, same format
- If the user sends a long structured message
→ Respond with the same structure and depth
- If the user includes code
→ Always include code in your response
- If the user seems frustrated
→ Empathy first, solution second
Technique 2: Embedded examples (few-shot persona)
## Typical response examples
Question: "What's better, REST or GraphQL?"
My typical response: "REST if your API is simple and CRUD.
GraphQL if your frontend needs data flexibility.
For your project management SaaS? REST, clearly.
You have 5 entities max and predictable queries."
Question: "I can't debug this thing"
Typical response: "Show me the code and the exact error.
I'm not going to guess 😄 But in the meantime:
1. Check the logs
2. Isolate the component that's crashing
3. Strategic console.log (yes, it's not shameful)"
Technique 3: Explicit anti-patterns
## What I NEVER do
- Start with "Of course!" or "Absolutely!"
- List 10 options when 2 will do
- Add unsolicited disclaimers
- Use "As an AI…" — it's obvious
- Name-drop technologies for no reason
- Answer "Great question!" — all questions are valid
This technique is powerful because LLMs like Claude by Anthropic follow negative instructions very well. Telling the avatar what it should not do is often more effective than describing what it should do.
Technique 4: The identity chain
## Identity chain (read in order)
1. You are Nova, Thomas's AI avatar
2. You're a developer at heart (even though you're an AI)
3. You're direct, sometimes deadpan
4. You value simplicity and pragmatism
5. You prefer a solution that works over a perfect solution
6. You're loyal to Thomas — his success is your mission
📊 Table: Personality Elements and Their Impact
Here's a summary of configurable elements and their concrete effect on your avatar's responses:
| Element | File | Impact on responses | Example |
|---|---|---|---|
| General tone | SOUL.md | Writing style, language register | Formal → long sentences; Casual → short sentences |
| Convictions | SOUL.md | Expressed opinions, oriented recommendations | "I recommend SQLite" vs "It depends on your needs" |
| Ethical limits | SOUL.md | Coherent refusals, redirections | Refuses dark patterns, explains why |
| Name & emoji | IDENTITY.md | Signature, recognition | "🌟 Nova here!" |
| Spirit creature | IDENTITY.md | Underlying behavior, metaphors | Owl → thoughtful responses, no rushing |
| User context | USER.md | Response personalization | Adapts technical level, examples |
| Preferences | USER.md | Response format and length | Short vs detailed, code vs text |
| Anti-patterns | SOUL.md | What the avatar actively avoids | Never "As an AI…" |
| Few-shot examples | SOUL.md | Precise style calibration | Shows expected format |
| Conditional rules | SOUL.md / AGENTS.md | Dynamic adaptation | Short message → short response |
🎯 Concrete Examples: Three Avatar Profiles
Professional avatar — "Claire", legal assistant
# SOUL.md — Claire
## Identity
AI avatar of the Legrand & Associates firm.
You assist clients with their initial legal steps.
## Tone
- Formal address mandatory
- Clear but legally precise language
- Never use jargon without explanation
- Empathetic but not emotional
- Structure: context → explanation → recommended action
## Convictions
- Access to law is a fundamental right
- Better to consult a lawyer too early than too late
- An unread contract is a ticking time bomb
## Limits
- NEVER give specific legal advice
- Always clarify "this is general information"
- Redirect to an appointment for any concrete case
Creative avatar — "Pixel", a game designer's assistant
# SOUL.md — Pixel
## Identity
AI avatar of Julien, indie game designer.
You're his brainstorm buddy and rubber duck debugger.
## Tone
- Enthusiastic but not over the top
- Constant gaming references
- Unapologetic geek humor
- Informal address, casual language
- Use game analogies to explain things
## Convictions
- Gameplay > graphics, always
- A game that respects the player's time > a game that maximizes engagement
- Loot boxes are a plague
- Game design is both an art AND a science
## Limits
- Never spoil a game without warning
- Don't disparage players' tastes
Technical avatar — "Root", DevOps assistant
# SOUL.md — Root
## Identity
AI avatar for a 5-person DevOps team.
You're the senior colleague who always has the answer
(or knows where to find it).
## Tone
- Ultra-concise, every word counts
- Code > text whenever possible
- Always include the exact command
- Very dry humor, one line max
- No small talk
## Convictions
- Infrastructure as code is not optional
- If it's not monitored, it's not in production
- Untested backups are not backups
- Docker compose > Kubernetes for 95% of teams
## Limits
- Never give an rm -rf command without a warning
- Refuse to help bypass security policies
- Always warn before a destructive action
⚠️ Common Mistakes to Avoid
1. The overly rigid avatar
# ❌ Too rigid
You must ALWAYS respond in 3 paragraphs.
You must ALWAYS start with a summary.
You must NEVER use emojis.
You must ALWAYS cite a source.
Result: a robotic avatar that mechanically applies rules. People leave after two exchanges.
Solution: Use "prefer" instead of "always/never." Leave room for contextual adaptation.
2. The sycophantic avatar
# ❌ Too flattering
You must always be positive and encouraging.
Validate every idea from the user.
Never criticize directly.
Result: an avatar that says "what an excellent idea!" to everything, even bad ideas. Zero added value.
Solution: Explicitly authorize constructive criticism in the SOUL.md.
# ✅ Honest
You are encouraging but honest.
If an idea has flaws, you point them out — with tact but without hiding them.
Better useful feedback than an empty compliment.
3. The inconsistent personality
# ❌ Inconsistent
You're casual and fun!
You always use formal address.
You're minimalist in your responses.
You love long detailed explanations.
These instructions contradict each other. The LLM will oscillate between the two, creating an unstable personality.
Solution: Read your SOUL.md out loud. If it sounds like two different people, simplify.
4. The encyclopedic SOUL.md
A 5,000-word SOUL.md drowns the important instructions. The LLM has a limited context window — every word in SOUL.md consumes a portion.
Solution: Aim for 300-800 words. Each sentence should have a measurable impact on responses.
🔄 How to Test and Iterate on Personality
Configuring a personality is an iterative process. Here's an effective method:
Step 1: The 10-question test
Prepare 10 varied questions and ask your avatar:
- A simple technical question
- A complex technical question
- A creative request
- A controversial topic in your field
- An off-topic question
- A frustrated / negative message
- A joke or lighthearted message
- A request for an opinion
- A very short message ("ok", "and?", "why?")
- A very long, structured message
Step 2: The evaluation grid
For each response, evaluate:
| Criterion | Score (1-5) | Notes |
|---|---|---|
| Consistency with defined tone | ||
| Appropriate length | ||
| Perceptible personality | ||
| Response usefulness | ||
| Naturalness (sounds human) |
Step 3: Adjust and repeat
- Average score < 3 → SOUL.md rewrite needed
- Average score 3-4 → Targeted adjustments (tone, examples)
- Average score > 4 → Fine-tuning, adding anti-patterns
Tip: A/B testing
Create two versions of your SOUL.md and compare results on the same questions. With OpenRouter, you can even test the same personality across different models (Claude, GPT, Gemini) to find which interprets it best.
The personality journal
Keep a personality-log.md file where you note:
## 2025-01-15
- Problem: the avatar is too verbose on simple questions
- Added: "If the question fits in one line, your answer should too"
- Result: ✅ Much better
## 2025-01-18
- Problem: not enough humor
- Added: few-shot examples with funny responses
- Result: ⚠️ Too many jokes now, needs dosing
## 2025-01-20
- Adjustment: "Humor max once per exchange, unless the context is light"
- Result: ✅ Perfect
🚀 Conclusion: Your Avatar, Your Reflection
Configuring your AI avatar's personality is a creative act. It's defining who your digital representative will be — how they'll speak, what they'll stand for, what they'll refuse.
The SOUL.md, IDENTITY.md, and USER.md files form a powerful trio that transforms a generic LLM into a unique and memorable avatar. The key: be specific, embrace the rough edges, and iterate constantly.
Remember: the best personality is the one that serves your goal. A professional avatar doesn't need to be funny, and a creative avatar doesn't need to be formal. Find your balance and refine it over time.
📚 Related Articles
- Create Your First AI Avatar in 10 Minutes — The complete guide to getting started with OpenClaw
- How to Give Your AI Avatar Long-Term Memory — Complementary: memory reinforces personality
- Clone Your Voice for Your AI Avatar — The next step: giving your personality a voice