The OpenClaw ecosystem continues to grow with a variety of
community‑contributed skills that extend the capabilities of the AI assistant.
One of the most interesting additions is the personality‑switcher skill,
which enables users to craft, store, and toggle between distinct AI
personalities on the fly. This post dives deep into how the skill works, what
files it creates, how it protects your data, and practical ways you can use it
to shape your interactions with the assistant.
What the Personality Switcher Skill Does
At its core, the personality‑switcher skill provides a lightweight framework
for managing multiple AI assistant personas. Each persona consists of two
markdown files:
- SOUL.md – contains the core philosophy, voice, mannerisms, and behavioural boundaries that define how the assistant thinks and responds.
- IDENTITY.md – holds the surface‑level traits such as name, emoji, catchphrase, and overall vibe.
These files live inside a dedicated personalities/ folder under the OpenClaw
workspace. When you activate a personality, the skill copies the corresponding
SOUL.md and IDENTITY.md into the workspace root, overwriting the active
versions that the assistant reads. Crucially, a shared USER.md (and
MEMORY.md) remains untouched, preserving user‑specific context across all
personalities.
Installation and Initial Setup
When you install the personality‑switcher skill, several actions occur
automatically:
- A
personalities/directory is created in~/.openclaw/workspace/. - The current SOUL.md and IDENTITY.md are backed up as a
defaultpersonality, giving you a safety net. - A state file
_personality_state.jsonis initialized to track which personality is active. - The
HEARTBEAT.mdfile is updated to include a restoration script that runs on every heartbeat, ensuring the active personality survives session restarts and conversation compaction.
If you ever uninstall the skill, the default personality is restored to the
workspace root, the heartbeat entry is removed, and the personalities folder
is left intact for manual cleanup.
Quick Start Commands
The skill registers a set of native commands (usable in the CLI or Telegram)
that make personality management intuitive:
-
/personality [name]– lists all personalities when called without arguments, or switches to the specified name. -
/create‑personality <description>– creates a new personality from a free‑form description; the skill auto‑generates a concise name and populates SOUL.md and IDENTITY.md. -
/rename‑personality <old> <new>– renames an existing personality (cannot renamedefault). -
/delete‑personality <name>– permanently deletes a personality (cannot deletedefault; if the active personality is deleted, the skill first switches todefault).
Example usage:
/personality
# Shows list: default, aelindor, sage …
/personality aelindor
# Switches to the ‘aelindor’ personality
/create‑personality "A stoic dwarf who loves ale and mining"
# Creates a personality named something like ‘dwarf’ with appropriate SOUL/IDENTITY files.
How the Switching Process Works
The skill treats each personality change as an atomic operation, meaning that
either all steps succeed or the system rolls back to the previous state,
preventing corrupted files.
Step‑by‑Step Switch
-
Preserve Current State – Before any changes, the skill creates a timestamped backup of the current SOUL.md and IDENTITY.md in the
backups/subfolder. -
Persist Changes – Any edits you made to the active personality’s files are written back to its folder under
personalities/<name>/. - Load New Personality – The skill copies the SOUL.md and IDENTITY.md of the target personality into the workspace root, overwriting the active files.
-
Update State – The
_personality_state.jsonfile is updated with the new active personality name and a timestamp. - Verify Integrity – The skill checks that the files were copied correctly. If any step fails, it automatically restores the most recent backup, ensuring no data loss.
Because the backup is stored in a dedicated backups/ folder (not scattered
in the workspace root), the skill keeps the workspace tidy while still
providing a robust safety net.
Backup Management
The skill automatically prunes old backups to prevent unlimited growth. By
default, it retains the ten most recent backups. You can run a cleanup script
manually:
python3 ~/.openclaw/workspace/skills/personality-switcher/scripts/cleanup_backups.py --keep 5
python3 ~/.openclaw/workspace/skills/personality-switcher/scripts/cleanup_backups.py --keep 10 --days 7
Options:
-
--keep N– retain the N most recent backups (default 10). -
--days D– also delete backups older than D days.
For continuous maintenance, you can add the cleanup command to your
HEARTBEAT.md file, ensuring backups stay tidy without manual intervention.
The Special “default” Personality
The default personality is treated specially:
- It is automatically created during installation from your original SOUL.md and IDENTITY.md, giving you an exact copy of the assistant’s initial configuration.
- It is always available and selectable via
/personality default. - The skill protects it from accidental deletion or renaming, so you always have a reliable fallback.
- If you ever delete the active personality, the skill switches you to
defaultfirst, preventing a state where no personality is loaded.
This design makes the skill safe for experimentation: you can try out wild
personas, safe in the knowledge that you can revert to your original setup
instantly.
Integration with OpenClaw’s Heartbeat System
OpenClaw relies on a heartbeat mechanism to run periodic maintenance tasks.
The personality‑switcher skill leverages this by inserting a restoration
script into HEARTBEAT.md:
python3 ~/.openclaw/workspace/skills/personality-switcher/scripts/restore_personality.py
On each heartbeat, the script reads _personality_state.json and reapplies
the active personality’s SOUL.md and IDENTITY.md to the workspace root. This
means that even if you close the terminal, restart the OpenClaw service, or
experience a conversation‑compacting event, your chosen personality persists
automatically.
Telegram Native Commands
If you interact with OpenClaw via Telegram, the skill registers the same
commands as native bot commands, allowing you to manage personalities directly
from chat:
-
/personality– list or switch. -
/create‑personality <desc>– create a new persona. -
/rename‑personality <old> <new>– rename. -
/delete‑personality <name>– delete.
Because the commands are native, they respond instantly and provide feedback
such as “Switched to personality ‘aelindor’.” or “Backup:
_personality_current_2026-02-08T18-27-33.371866”.
Folder Structure Overview
After installing the skill and creating a few personalities, your workspace
will look like this:
~/.openclaw/workspace/
├── SOUL.md (active personality’s soul)
├── IDENTITY.md (active personality’s identity)
├── USER.md (SHARED – never changed by personality)
├── MEMORY.md (SHARED – never changed)
├── _personality_state.json (tracks active personality)
└── personalities/
├── default/
│ ├── SOUL.md
│ └── IDENTITY.md
├── aelindor/
│ ├── SOUL.md
│ └── IDENTITY.md
├── sage/
│ ├── SOUL.md
│ └── IDENTITY.md
└── backups/
├── current_2026-02-08T17-27-41.628113/
│ ├── SOUL.md
│ └── IDENTITY.md
└── current_2026-02-08T17-27-33.371866/
├── SOUL.md
└── IDENTITY.md
The USER.md and MEMORY.md files remain shared, meaning any personal
preferences, knowledge base entries, or conversation history you accumulate
are accessible regardless of which personality is active.
Practical Use Cases
Why would you want multiple personalities? Here are a few scenarios where the
skill shines:
- Role‑playing and storytelling – Switch between a whimsical bard, a grim detective, or a wise sage to match the tone of your narrative.
- Professional contexts – Use a formal, concise personality for work‑related queries and a relaxed, friendly one for casual chats.
- Learning and experimentation – Test how changes to SOUL.md (e.g., altering the assistant’s stance on risk) affect responses without jeopardizing your core configuration.
- Team collaboration – Share a set of predefined personalities with teammates so everyone can adopt a consistent voice for joint projects.
- Accessibility – Create a personality that uses simpler language or extra empathy for users who need a gentler interaction style.
Because the switch is instantaneous and safe, you can experiment freely,
knowing that a single command returns you to your baseline.
Conclusion
The OpenClaw personality‑switcher skill is a powerful yet straightforward tool
for anyone who wants to shape their AI assistant’s behaviour on demand. By
separating core philosophy (SOUL.md) from surface traits (IDENTITY.md) and
preserving a shared user context, it gives you the flexibility to craft
distinct personas while safeguarding your data through atomic switches,
automatic backups, and heartbeat‑driven restoration. Whether you are a
storyteller, a professional, a hobbyist, or just curious about AI behaviour,
this skill adds a new layer of personalization and safety to your OpenClaw
experience.
Give it a try: install the skill, run /create‑personality "Your idea here",
and watch how easily you can jump between different AI identities—all with the
confidence that your original setup is just a command away.
Skill can be found at:
switcher/SKILL.md>
Top comments (0)