According to AlphaMoat, as of 2026-09, Personality Switcher has 3,320 downloads and 2 stars — ranked #3,406 of 5,078 AI skills overall, and #697 of 969 in AI Agent.
| Platform | Installs | Downloads | Stars | Comments |
|---|---|---|---|---|
| ClawHub ↗ | 105 | 3.3K | 2 | - |
| SkillHub ↗ | 145 | 3.3K | 2 | — |
Platforms count differently and update at different times.
Stores SOUL.md and IDENTITY.md per personality. State and configured HEARTBEAT.md restore the active persona, while USER.md stays shared. Switching includes backup, saving current edits, loading and verification, with rollback attempted on failure. Only the 10 latest backups are retained by default. Create, rename or permanently delete personas; default cannot be renamed or deleted. Deleting the active persona first switches to default. Uninstalling restores the default and preserves the personality folder.
Profile published 2026-10-26
Generated from the skill’s documentation as examples; not results of actual runs.
The counting method changed in 2026-09: skills with the same name are now counted separately by author, and the full catalog is covered. Dashed lines show months before the change; they are not compared with later months, and no growth is computed across the change.
| Month | Downloads | MoM | Stars |
|---|---|---|---|
| 2026-09 | 3.3K | — | 2 |
| 2026-08 | 3.2K | +4.7% | 2 |
| 2026-07 | 3.0K | +10.6% | 2 |
| 2026-06 | 2.7K | +5.9% | 2 |
| 2026-05 | 2.6K | — | 2 |
| 2026-03 | 2.0K | — | 2 |
The author’s original file, shown as plain text without edits or review by AlphaMoat. Links are not clickable; check commands before running them. Fetched 2026-10-23.
--- name: personality-switcher description: Create and switch between AI assistant personalities. Use /personality to list and activate saved personalities. Use /create-personality to design new personas with auto-filled SOUL and IDENTITY. Personalities persist across session boundaries and conversation compacting with automatic heartbeat restoration. Atomic switching with backup and rollback safeguards. Always backs up current state before switching. --- # Personality Switcher Skill Create and manage multiple AI assistant personalities. Switch between them seamlessly while preserving all changes and maintaining a shared user context. ## Installation
When this skill is installed:
1. **Personalities folder created** — `~/.openclaw/workspace/personalities/`
2. **Default backup created** — Current SOUL.md and IDENTITY.md are saved as "default"
3. **State file initialized** — `_personality_state.json` tracks active personality
4. **HEARTBEAT.md configured** — Personality restoration script added to run on every heartbeat
When uninstalled:
1. Default personality is restored to workspace root
2. Personality restoration removed from HEARTBEAT.md
3. Personalities folder is preserved (manual deletion optional)
## Quick Start
**List personalities:**
```
/personality
```
**Switch to a personality:**
```
/personality <name>
```
**Create a new personality:**
```
/create-personality A stoic dwarf who loves ale and mining
```
**Rename a personality:**
```
/rename-personality old-name new-name
```
**Delete a personality:**
```
/delete-personality personality-name
```
## How It Works
### Architecture
Each personality consists of two files:
- **SOUL.md** — Core philosophy, voice, mannerisms, boundaries
- **IDENTITY.md** — Name, traits, emoji, catchphrase, vibe
These files live in `personalities/<personality-name>/`.
**USER.md remains shared** in the workspace root and is never modified by personality switches. It contains user preferences and context that transcend any particular personality.
### State Persistence
The active personality is tracked in `_personality_state.json`:
```json
{
"active_personality": "aelindor",
"timestamp": "2026-02-08T18:27:33.373846Z",
"previous_personality": "default"
}
```
On every heartbeat, `restore_personality.py` reads this file and re-applies the active personality to the workspace root. **Result:** Your personality survives session restarts, conversation compacting, and heartbeat cycles.
### Atomic Switching (Safeguards)
When you switch personalities, the mechanism performs five steps:
1. **Preserve Current State** — Create timestamped backup of SOUL.md and IDENTITY.md
2. **Persist Changes** — Write current personality updates back to its folder
3. **Load New Personality** — Copy new personality files to workspace root
4. **Update State** — Write active personality to `_personality_state.json`
5. **Verify Integrity** — Check files loaded correctly; rollback if any step fails
If any step fails, **the entire operation rolls back** to the previous state. No corruption, no lost data.
### Backup Management
**Backup Location:** `~/.openclaw/workspace/personalities/backups/`
Backups are stored in a dedicated folder (not scattered at workspace root). When you switch personalities:
- A timestamped backup of the previous personality is created
- **Automatic cleanup runs** — keeps the 10 most recent backups by default
- Old backups are automatically deleted to prevent clutter
**Manual Cleanup:**
```bash
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` — Keep N most recent backups (default: 10)
- `--days D` — Also delete backups older than D days
**Optional: Add to HEARTBEAT.md for periodic cleanup:**
```bash
python3 ~/.openclaw/workspace/skills/personality-switcher/scripts/cleanup_backups.py --keep 10
```
### Default Personality
"default" is special:
- Auto-created on install from your original configuration
- Always available and selectable
- Protected against accidental deletion or renaming
- Your safety net if something goes wrong
## Commands
### /personality [name]
List all personalities or switch to one.
**No arguments:** Shows list of available personalities with current active marked
**With name:** Immediately switches to that personality
**Example:**
```
/personality aelindor
```
**Output:**
```
Switched to personality 'aelindor'.
Previous: default
Backup: _personality_current_2026-02-08T18-27-33.371866
```
### /create-personality [description]
Create a new personality from a text description.
**Input:** Natural language description of the personality
**Output:** New personality folder with auto-filled SOUL.md and IDENTITY.md (ready to use immediately)
**How it works:**
1. You provide a description
2. The agent chooses a personality name (1-2 words, lowercase)
3. The agent fills in SOUL.md and IDENTITY.md with character-specific content
The personality files are generated directly from your description, with the agent choosing a thematic, concise name.
**Example:**
```
/create-personality A curious wizard obsessed with knowledge, speaks in riddles, brilliant but condescending
```
**Result:**
```
Personality 'sage' (or similar) created and ready.
Folder: personalities/sage/
Files: SOUL.md and IDENTITY.md (agent-generated from description)
Ready: Use /personality sage to activate
```
**After Creation:** The new personality is ready to use immediately. Edit SOUL.md and IDENTITY.md in the personality folder to refine further if desired.
**Technical:** Agent chooses name to keep personality references concise (1-2 words). Name is validated for uniqueness and format automatically.
### /rename-personality [old-name] [new-name]
Rename a personality folder.
**Rules:**
- Cannot rename "default"
- Name must be unique (no spaces, lowercase, alphanumeric + hyphens)
- If renaming active personality, state is updated automatically
**Example:**
```
/rename-personality pirate-captain pirate-v2
```
### /delete-personality [name]
Delete a personality permanently.
**Rules:**
- Cannot delete "default"
- If deleting active personality, automatically switches to "default" first
**Example:**
```
/delete-personality pirate-v2
```
## Integration with OpenClaw
### Heartbeat Restoration
Add this to your HEARTBEAT.md:
```bash
python3 ~/.openclaw/workspace/skills/personality-switcher/scripts/restore_personality.py
```
This runs on every heartbeat to restore your active personality if the session has restarted.
### Telegram Native Commands
Registered native Telegram commands:
- `/personality` — List and switch personalities
- `/create-personality` — Create new personality
- `/rename-personality` — Rename personality
- `/delete-personality` — Delete personality
Use them directly in Telegram chat with the bot.
## Folder Structure
```
~/.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 (state file)
└── personalities/
├── default/
│ ├── SOUL.md
│ └── IDENTITY.md
├── aelindor/
│ ├── SOUL.md
│ └── IDENTITY.md
├── <personality-name>/
│ ├── 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
```
**Note:** Backups are automatically cleaned up. Workspace root stays clean—all internal machinery lives in `personalities/`.
## File Format Requirements
### SOUL.md
Core philosophy, voice, and operational boundaries.
**Sections:**
- Core identity and background
- Voice patterns and mannerisms
- Philosophy (time, power, morality, etc.)
- Speech patterns and quirks
- What triggers contempt/approval
- Boundaries and constraints
- Signature behaviors and catchphrases
**Example Structure:**
```markdown
# SOUL.md - [Personality Name]
## Core Identity
[Background and essence]
## Voice & Mannerisms
[How this personality speaks and acts]
## Philosophy
[Core beliefs and worldview]
## Signature Behaviors
[Unique traits and catchphrases]
```
### IDENTITY.md
Quick reference card for the personality.
**Sections:**
- Name
- Creature/type
- Emoji (for visual identification)
- Vibe (one-sentence summary)
- Catchphrase (if applicable)
- Quick traits
**Example Structure:**
```markdown
# IDENTITY.md - [Personality Name]
- **Name:** [Name]
- **Type:** [Creature or archetype]
- **Emoji:** [Emoji]
- **Vibe:** [One-sentence vibe]
- **Catchphrase:** [Signature phrase]
## Quick Traits
- Trait 1
- Trait 2
- Trait 3
```
## Backups & Recovery
Timestamped backups are created before every switch in `personalities/backups/`:
- `current_2026-02-08T17-27-33.371866/`
- SOUL.md (backup of previous personality)
- IDENTITY.md (backup of previous personality)
**Manual recovery** (if needed):
```bash
# List available backups
ls -la ~/.openclaw/workspace/personalities/backups/
# Copy backup files back to workspace root if needed
cp ~/.openclaw/workspace/personalities/backups/current_<timestamp>/SOUL.md ~/.openclaw/workspace/SOUL.md
cp ~/.openclaw/workspace/personalities/backups/current_<timestamp>/IDENTITY.md ~/.openclaw/workspace/IDENTITY.md
```
Backups are automatically cleaned up; by default, the 10 most recent are kept. Adjust cleanup frequency or retention in HEARTBEAT.md as needed.
## Error Handling
All commands return JSON responses:
**Success:**
```json
{
"status": "success",
"message": "Operation completed.",
"personality": "aelindor"
}
```
**Error:**
```json
{
"status": "error",
"message": "Human-readable error message.",
"code": "error_code",
"detail": "Technical detail if applicable"
}
```
**Common Error Codes:**
- `personality_not_found` — Target personality doesn't exist
- `already_exists` — Name already in use
- `invalid_name` — Name format invalid
- `cannot_delete_default` — Attempted to delete "default"
- `cannot_rename_default` — Attempted to rename "default"
- `switch_failed` — Switch failed; rolled back to previous
- `integrity_check_failed` — File integrity check failed
## Tips & Best Practices
- **Personality descriptions work best when specific** — "Pirate captain obsessed with treasure" beats "funny"
- **Edit SOUL.md and IDENTITY.md directly** after creating to refine the personality
- **Switch often** — No limit on personalities or switching frequency
- **Use "default" as your safety anchor** — Keep it stable; use other personalities for experimentation
- **Check backups after switching** — Verify your previous personality was persisted
- **Remember: USER.md stays shared** — Your timezone, location, preferences never change with personality
## Uninstall Behavior
When the skill is uninstalled:
1. Current personality files are replaced with "default" copies
2. Your original SOUL.md, IDENTITY.md are restored from "default"
3. `personalities/` folder is preserved (not deleted)
4. System returns to original state
**Nothing is lost.** Your personalities are safe.
## Scripts Reference
**Location:** `skills/personality-switcher/scripts/`
- `list_personalities.py` — List available personalities
- `switch_personality.py` — Atomic switch with backup/rollback (auto-cleanup included)
- `create_personality.py` — Generate personality from description
- `rename_personality.py` — Rename personality folder
- `delete_personality.py` — Delete personality (with auto-switch if active)
- `restore_personality.py` — Heartbeat restoration
- `cleanup_backups.py` — Manual backup cleanup (with `--keep` and `--days` options)
- `utils.py` — Shared utilities (I/O, backups, validation, state, cleanup)
All scripts output JSON for reliable integration.
### Cleanup on Switch
By default, `switch_personality.py` automatically cleans up old backups after a successful switch, keeping the 10 most recent. This happens silently unless cleanup fails, in which case a warning is included in the response.
---
**Version:** 2.0 (Redesigned from scratch)
**Status:** Production ready with atomic operations and rollback safeguards
Captures learnings, errors, and corrections to enable continuous improvement. Use when: (1) A command or operation fails unexpectedly, (2) User corrects Claude ('No, that's wrong...', 'Actually...'), (3) User requests a capability that doesn't exist, (4) An external API or tool fails, (5) Claude rea
场景驱动+关键词双模式技能发现工具。当用户用自然语言描述场景/需求(如"我想做一个海报""帮我分析股票"),或明确说"安装技能/find skills/找个skill"时,自动从官方内置、本地已安装、SkillHub、虾评、GitHub、ClawHub 六层联合搜索并推荐最合适的技能,支持一键安装。已完全替代官方...
A browser-automation command line skill for AI agents.
Self-reflection + Self-criticism + Self-learning + Self-organizing memory. Agent evaluates its own work, catches mistakes, and improves permanently. Use when...
Reviews a third-party skill's source, permissions, and danger patterns against a checklist before it is installed.
Typed knowledge graph for structured agent memory and composable skills. Use when creating/querying entities (Person, Project, Task, Event, Document), linkin...
Transform AI agents from task-followers into proactive partners that anticipate needs and continuously improve. Now with WAL Protocol, Working Buffer, Autonomous Crons, and battle-tested patterns. Part of the Hal Stack 🦞
Guide for creating effective skills. This skill should be used when users want to create a new skill (or update an existing skill) that extends Claude's capabilities with specialized knowledge, workflows, or tool integrations.
Data month: 2026-09 · Downloads, stars and installs are aggregated monthly from public skill registries (ClawHub, SkillHub). See methodology.