WorkBuddy Customize
Reversible WorkBuddy desktop theming through local CDP injection. The tool
restarts WorkBuddy with --remote-debugging-port=9223, discovers its renderer,
and injects CSS to apply themes. No official files are touched.
Note: Theme switching is command-line only. No in-app menu is injected.
When this skill applies
- The user wants to install / apply / use this tool to theme WorkBuddy.
- The user wants to change WorkBuddy's look without editing the official app.
- The user reports the theme disappeared after a WorkBuddy restart.
Prerequisites
- WorkBuddy desktop installed (this tool themes the desktop app, not web).
- Node.js 18+ on PATH.
- macOS or Windows.
- Warn the user: applying restarts WorkBuddy and unsaved work is lost.
Workflow — macOS
- Open the repo directory, then run:
```bash
# Apply default theme
./scripts/apply.command
# Or specify a theme
node src/cli.mjs apply --theme sunset-dusk
```
- Verify:
bash
node src/cli.mjs status
Workflow — Windows
- From the repo directory, run in PowerShell:
```powershell
# Apply default theme
.\scripts\apply.ps1
# Or specify a theme
.\scripts\apply.ps1 -Theme sunset-dusk
```
If you hit an execution-policy error, run once:
Set-ExecutionPolicy -Scope CurrentUser RemoteSigned, then retry.
- If
apply.ps1cannot locateWorkBuddy.exe, run:
powershell
.\scripts\find-workbuddy.ps1
- Verify:
powershell
node src/cli.mjs status
Switching themes
Theme switching is done via command line only:
# List available themes
node src/cli.mjs list
# Apply a different theme
node src/cli.mjs apply --theme kikyou-archer
# Or use the PowerShell script
.\scripts\apply.ps1 -Theme moonlit-peak
Available themes:
- inuyasha-sword — Inuyasha (blue/red, dark)
- kikyou-archer — Kikyou (cyan/red, dark)
- moonlit-peak — Moonlit Peak (white/blue, dark)
- sakura-pink — Sakura Pink (pink, dark)
- sunset-dusk — Sunset Dusk (orange, dark)
Creating custom themes
# Create theme from image (auto-compresses to WebP)
node src/cli.mjs create --image "C:\path\to\image.png" --name "My Theme"
# Apply the new theme
node src/cli.mjs apply --theme my-theme-slug
Pause / restore to native
# macOS
./scripts/pause.command
# Windows (PowerShell)
.\scripts\pause.ps1
Guardrails
- Never replace or edit
WorkBuddy.app,app.asar, or the install directory. - CDP binds to
127.0.0.1only. Don't run untrusted software while active. - Skin disappears after manual WorkBuddy restart — re-run
applyto restore.
Resources
src/cli.mjs— entry point:list/create/apply/status/pause/doctor.src/cdp-client.mjs— CDP connection + renderer discovery.src/skin-css.mjs— CSS variable overrides + background.src/skin-menu.mjs— CSS injection logic.src/injector.mjs— theme injection and removal.scripts/apply.ps1/apply.command— apply scripts.scripts/pause.ps1/pause.command— pause scripts.themes/— built-in theme folders.
One-line summary
> "Restart WorkBuddy in debug mode and inject the theme CSS. Use command line
> to switch themes. Re-run apply if WorkBuddy restarts manually."