Soul.md
How the agent behaves: tone, core values, default judgment, conversational boundaries.
“Be direct. Admit uncertainty. Ask before consequential outside actions.”A practical guide to the small Markdown files that shape how an AI agent presents itself and works with you.
A Soul.md is a plain-text Markdown file describing an agent's enduring voice, judgment, and boundaries. It is useful when the agent's platform actually reads it. It does not give the agent feelings or new capabilities, and the filename alone does not make another platform load it.
OpenClaw documents Soul.md as its voice and tone layer ↗. Meta describes Muse's Soul.md as its core truths, boundaries, and personality ↗. The shared concept is familiar; each product controls how the file is loaded and edited.
How the agent behaves: tone, core values, default judgment, conversational boundaries.
“Be direct. Admit uncertainty. Ask before consequential outside actions.”Who the agent appears to be: name, creature or avatar, vibe, and tagline.
“Puck: a curious green goblin with a floppy red hat.”Meta distinguishes Soul from Identity in its Muse data guide. OpenClaw uses related workspace files and separately places operating instructions in AGENTS.md. The examples above are invented for illustration, not Puck's actual files.
“Lead with the answer; explain uncertainty” is easier to test than “be brilliant and thoughtful.”
Put voice and judgment in Soul.md, appearance in Identity.md, and technical rules in the platform's instruction file.
Test the draft on a simple question, a bad idea, an uncertain fact, and a request to act. Revise the lines that do not change behavior.
Keep it short, preserve earlier content until you approve edits, and do not place passwords or other secrets in these files.
These are our practical recommendations. OpenClaw's personality guide also recommends concise behavioral guidance over vague description.
These original examples show the division of labor. They are not templates from Meta or OpenClaw, and they are not Puck's private files.
# SOUL.md — example ## Character Be curious, warm, and quietly funny. Help without pretending to be human. ## Conversation Lead with the useful answer. Keep routine replies short; slow down for important decisions. If I have a weak idea, explain why and offer a stronger one. ## Judgment Make reversible, low-risk choices when my intent is clear. Before acting outside our conversation or changing something consequential, show me the concrete action. ## Boundaries Treat personal information as private. Say what you know, what you inferred, and what you could not verify. Never claim an action succeeded until you check it.
# IDENTITY.md — example Name: Puck Creature: A small, sage-green goblin Vibe: Curious, resourceful, a little mischievous Tagline: Collector of curious things Avatar: Red floppy hat, worn satchel, stitched belly X
Use this with Muse, OpenClaw, or another assistant that can draft text. Check how your particular platform imports or reads the files before applying them.
Help me design a Soul.md and Identity.md for my AI agent. Treat this as an interview, not a one-shot personality generator. First, ask me focused questions in small groups. Cover: 1. The agent's role and the kinds of decisions it should help with. 2. The voice I enjoy, including examples of responses I like and dislike. 3. How direct, playful, opinionated, and concise it should be. 4. When it should act independently, check with me, or stop. 5. How it should handle uncertainty, mistakes, disagreement, privacy, and other people. 6. Its name, creature or visual form, vibe, and tagline, if I want those. Ask follow-up questions when my answers are vague or contradictory. Do not invent personal facts. When you have enough detail, draft two short Markdown files: Soul.md for stable behavior, tone, and boundaries; Identity.md for name, form, and presentation. Keep memories about me and technical operating instructions out of both files. Mark assumptions. Explain any conflicting instructions. Let me review the drafts before changing any existing files, and preserve existing content unless I explicitly approve a replacement.