WorkBuddy Skin
Apply a reversible WorkBuddy visual skin through the Chromium DevTools Protocol while launching the installed WorkBuddy executable. Do not replace, patch, take ownership of, or write files under the WorkBuddy install directory.
Workflow
- Confirm the user is on Windows and has the WorkBuddy desktop app installed (for example
D:\Program Files\WorkBuddy\WorkBuddy.exe). The scripts auto-discover the running or installed executable; no Store package or admin rights are required for the skin itself. - If the user provides an image or asks for a custom visual style, run
scripts/set-workbuddy-image.ps1 -ImagePath <absolute-image-path>. Runningscripts/set-workbuddy-image.ps1without-ImagePathopens a Windows image picker for end users. The script copies the image into%LOCALAPPDATA%\WorkBuddyCodexSkin, extracts an accent color, and writestheme.json. - Close WorkBuddy before first installation, then run
scripts/install-workbuddy-skin.ps1once. Use-NoShortcutsonly when the user does not want Desktop and Start Menu shortcuts. - Launch with
scripts/start-workbuddy-skin.ps1. If WorkBuddy is already open, use-PromptRestartfor an interactive user prompt or-RestartExistingonly when the user explicitly asked to restart it. The launch restarts WorkBuddy with a loopback CDP debugging port and starts a background injector that applies the CSS skin. - Verify with
scripts/verify-workbuddy-skin.ps1 -ScreenshotPath <absolute-path>after launch. Inspect the screenshot before signing off. - Restore with
scripts/restore-workbuddy-skin.ps1. Add-Uninstallto also remove shortcuts. Use-PromptRestart/-ForceRestartto control the restart behavior, and-NoRelaunchto close WorkBuddy without reopening it.
Guardrails
- Preserve the official executable, user threads, plugins, authentication state, and official installation directory.
- Keep CDP bound to
127.0.0.1; while the skin is active, treat the local debugging port as sensitive. - Keep decorative WorkBuddy layers
pointer-events: none; real WorkBuddy buttons, navigation, input, and composer must remain native and clickable. - Keep the theme professional: warm-black surfaces, mono typography, 1 px borders, image-derived signal states, no unauthorized third-party artwork, no celebrity/character likeness, and no third-party logo copying.
- Accept only user-provided images that the user owns or has rights to use.
- On WorkBuddy app updates, rerun install/start; scripts rediscover the current executable dynamically.
Checks
node --check scripts\injector.mjs
node --check assets\renderer-inject.js
node scripts\injector.mjs --check-payload
powershell -NoProfile -File scripts\install-workbuddy-skin.ps1 -NoShortcuts
Run the install command only when the user is ready to close WorkBuddy, because it updates the user's WorkBuddy desktop appearance settings and creates shortcuts.
Resources
scripts/injector.mjs: CDP connection, renderer injection, verification, screenshot, and removal.scripts/set-workbuddy-image.ps1: user image import, local copy, palette extraction, andtheme.jsongeneration.scripts/common-windows.ps1: WorkBuddy executable discovery, Node validation, port ownership, state, and process identity safety.scripts/config-utf8.ps1: atomic UTF-8 helpers (available for future config backups).assets/workbuddy-skin.css: WorkBuddy visual layer.assets/renderer-inject.js: idempotent DOM integration and cleanup.references/qa-inventory.md: required functional and visual signoff coverage.references/runtime-notes.md: troubleshooting and update behavior.references/upstream-license.md: MIT notice for the adapted upstream engine.