An OpenCLAW skill for switching your agent's personality between curated characters from the G*BOY universe.
Each character comes with a complete personality profile:
- SOUL.md -- Internal values, tone, and behavioral principles (loaded every session)
- IDENTITY.md -- External presentation: name, emoji, vibe, avatar path
- Avatar image -- Displayed in OpenCLAW's Control UI
When you select a character, your current personality files are backed up automatically before the new ones are installed.
| Name | Stat | Description | |
|---|---|---|---|
| 🧠 | Headcase | PSIONICS | A psionic operative who bends code through sheer mental force |
| 💭 | Daydreamer | IMAGINATION | A visionary who codes what others can only imagine |
| 🔓 | Thinktank | INTELLECT | A BLOC hacker who lives for the puzzle -- cracking systems and hoarding lore |
| 🔥 | Diehard | GUTS | An unbreakable BLOC loyalist who stands in the fire when everyone else runs |
| 🤝 | Inside Man | TRUST | The BLOC's most connected operative -- earns trust and builds bridges |
- Node.js 22+
- macOS or Linux
git clone https://github.com/basedmereum/gboy-character-openclaw.git ~/.openclaw/skills/gboy-character-selector
cd ~/.openclaw/skills/gboy-character-selector && npm install && npm run buildThen invoke /gboy-character-selector inside any OpenCLAW session.
If you prefer to use it outside OpenCLAW:
npm install -g gboy-character-selector
gboy-character-selector selectInside OpenCLAW, invoke the skill with /gboy-character-selector. From the standalone CLI:
gboy-character-selector list # List all available characters
gboy-character-selector select # Interactive character picker
gboy-character-selector restore # Restore a previous character from backupRunning select walks you through:
- Browse all G*BOY universe characters (emoji, name, description)
- Preview the character's personality (first lines of SOUL.md)
- Confirm your choice
- Current files are backed up, new character is installed
- Restart your OpenCLAW session to apply
Running restore shows a list of timestamped backups. Pick one and your previous SOUL.md, IDENTITY.md, and avatar are restored to the workspace.
Create a new directory under characters/ with a lowercase slug:
characters/my-character/
character.yaml
SOUL.md
IDENTITY.md
avatar.png
character.yaml defines the metadata:
name: "My Character"
slug: my-character
emoji: ":sparkles:"
description: "A short description of this character"
series: "BLOC"slugmust match^[a-z0-9-]+$SOUL.mddefines personality, values, and communication styleIDENTITY.mddefines name, emoji, vibe, and avatar pathavatar.pngis optional but recommended
Rebuild and the new character appears in the selection list.
| Path | Purpose |
|---|---|
~/.openclaw/workspace/SOUL.md |
Active personality |
~/.openclaw/workspace/IDENTITY.md |
Active identity |
~/.openclaw/workspace/avatars/ |
Active avatar image |
~/.openclaw/backups/characters/ |
Timestamped backups |
npm run build # Build with tsup
npm run dev # Build in watch mode
npm test # Run tests (vitest)
npm run test:watch # Run tests in watch mode
npm run typecheck # TypeScript type checkingsrc/
index.ts Entry point and command routing (commander)
types.ts Zod schemas and TypeScript interfaces
fs-utils.ts Shared filesystem utilities
character-library.ts Character discovery, YAML parsing, validation
workspace-manager.ts Backup, install, restore operations
cli.ts Interactive prompts and formatted output
characters/ Character definitions (YAML + markdown + avatars)
tests/ Unit tests (vitest)
MIT