gboy-character-selector
v1.0.0
Published
Select characters from the G*BOY universe for your OpenCLAW agent personality
Maintainers
Readme
G*BOY Character Selector
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.
Characters
| | Name | Stat | Description | |---|---|---|---| | :brain: | Headcase | PSIONICS | A psionic operative who bends code through sheer mental force | | :thought_balloon: | Daydreamer | IMAGINATION | A visionary who codes what others can only imagine | | :unlock: | Thinktank | INTELLECT | A BLOC hacker who lives for the puzzle -- cracking systems and hoarding lore | | :fire: | Diehard | GUTS | An unbreakable BLOC loyalist who stands in the fire when everyone else runs | | :handshake: | Inside Man | TRUST | The BLOC's most connected operative -- earns trust and builds bridges |
Requirements
- Node.js 22+
- macOS or Linux
Install
npm install -g gboy-character-selectorAs an OpenCLAW Skill
npm install -g gboy-character-selectorThen invoke it as /gboy-character-selector inside OpenCLAW.
From Source
git clone https://github.com/basedmereum/gboy-character-openclaw.git
cd gboy-character-openclaw
npm install
npm run buildUsage
# Interactive character selection (default)
node dist/index.js
# List all available characters
node dist/index.js list
# Interactive selection with confirmation
node dist/index.js select
# Restore a previous character from backup
node dist/index.js restoreSelecting a Character
Running 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
Restoring a Backup
Running restore shows a list of timestamped backups. Pick one and your previous SOUL.md, IDENTITY.md, and avatar are restored to the workspace.
Adding a Character
Create a new directory under characters/ with a lowercase slug:
characters/my-character/
character.yaml
SOUL.md
IDENTITY.md
avatar.pngcharacter.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.
Workspace Paths
| 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 |
Development
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 checkingProject Structure
src/
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)License
MIT
