Skip to content

Repository files navigation

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
🧠 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

Requirements

  • Node.js 22+
  • macOS or Linux

Install

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 build

Then invoke /gboy-character-selector inside any OpenCLAW session.

Standalone CLI

If you prefer to use it outside OpenCLAW:

npm install -g gboy-character-selector
gboy-character-selector select

Usage

Inside 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 backup

Selecting a Character

Running select walks you through:

  1. Browse all G*BOY universe characters (emoji, name, description)
  2. Preview the character's personality (first lines of SOUL.md)
  3. Confirm your choice
  4. Current files are backed up, new character is installed
  5. 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.png

character.yaml defines the metadata:

name: "My Character"
slug: my-character
emoji: ":sparkles:"
description: "A short description of this character"
series: "BLOC"
  • slug must match ^[a-z0-9-]+$
  • SOUL.md defines personality, values, and communication style
  • IDENTITY.md defines name, emoji, vibe, and avatar path
  • avatar.png is 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 checking

Project 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

About

select characters from the G*BOY universe as your OpenClaw assistant

Resources

Stars

4 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages