| name | workbuddy-skin-maker |
| description | Create, refine, diagnose, and release adaptive WorkBuddy Dream Skin themes in this project, including image driven light or dark UI selection, lively nonblocking decorations, readable chat and artifact surfaces, external CDP injection, and strict visual auditing. Use for WorkBuddy skin design, theme JSON or CSS changes, ornament work, historical task readability, artifact panel improvements, compatibility fixes, QA evidence, or release readiness checks. |
WorkBuddy Skin Maker
Build image responsive WorkBuddy skins while preserving the external CDP injection boundary. Treat automated and visual audits as release gates.
Required reading
- Read the project
AGENTS.md, README.md, docs/ARCHITECTURE.md, docs/DEVELOPMENT.md, and docs/THEME-SCHEMA.md before editing.
- Read design workflow before selecting a palette, layout, surface opacity, or decoration.
- Read strict audit contract before testing, auditing, or reporting completion.
Safety boundary
- Keep all styling in the external CDP injector and project assets.
- Never edit the WorkBuddy installation, executable,
app.asar, signatures, or updater.
- Bind CDP only to a loopback address and verify that its listener belongs to the selected
WorkBuddy.exe.
- Keep decorative nodes pointer transparent and hidden wherever they could cover chat, settings, dialogs, or artifacts.
- Preserve the cleanup routine, reinjection idempotency, active theme backup, and normal restore path.
- Do not let audit automation send messages, create content, save settings, grant authorization, upgrade an account, or sign out.
- Preserve unrelated user changes in a dirty workspace.
Workflow
1. Establish the baseline
- Locate the project root from this Skill directory.
- Inspect
VERSION, CHANGELOG.md, active theme state, relevant selectors, and existing audit scripts.
- Run static validation before editing. Use
scripts/run-strict-audit.ps1 -StaticOnly from this Skill.
- Capture a baseline screenshot for every affected page and state.
- Record the WorkBuddy version, active theme ID, appearance, window size, and CDP port.
2. Derive the visual direction
- Analyze every supplied image for luminance, saturation, subject location, visual density, mood, and safe areas.
- Select
appearance: light for bright campus, youth, pastel, botanical, soft portrait, and similar imagery unless measured contrast proves another mode is stronger.
- Select
appearance: dark for night, deep sea, gilded banquet, cyber, dramatic stage, and similar imagery.
- Derive UI surfaces from the image mood. Avoid forcing every image into one dark shell.
- Design the decoration as a theme specific companion. Give it depth, asymmetry, subtle motion, and responsive positioning. Keep it subordinate to task content.
- Declare the intended hierarchy for background, hero, panels, reading surfaces, artifact shelf, composer, and decoration before coding.
3. Implement in layers
- Prefer theme tokens and stable semantic selectors.
- Use hashed selectors only as scoped compatibility fallbacks.
- Keep text over photography on a stable reading surface. Do not depend on text shadow alone.
- Give artifact output a dedicated shelf with a title, cards, file metadata, actions, hover, focus, and empty state.
- Keep long conversations scrollable above the fixed composer. Verify both the first and last message.
- Style normal, hover, selected, disabled, focus visible, modal, tooltip, and narrow window states together.
- Keep QR codes and other functional images scannable.
- Update
VERSION, CHANGELOG.md, and architecture handoff documents for user visible or structural changes.
4. Refresh safely
- Prefer hot reapplication when the recorded local CDP endpoint is valid.
- Restart WorkBuddy only for the first CDP enabled launch or when explicitly required.
- Run
scripts/verify-workbuddy-skin.ps1 after every refresh or theme switch.
- Confirm exactly one intended injector process is active.
5. Execute strict audit
- Run the automated gate for the current theme:
& .\skills\workbuddy-skin-maker\scripts\run-strict-audit.ps1 `
-ProjectRoot (Get-Location) `
-ArtifactDirectory .\artifacts\strict-audit-current
- Repeat the live gate with at least one representative light theme and one representative dark theme.
- Inspect every generated screenshot at original resolution.
- Create a manual review manifest only after completing the checks in the audit contract.
- Run the gate again with
-ManualReviewManifest to obtain release readiness.
- Treat missing pages, missing screenshots, identical history top and bottom screenshots, nonzero audit exits, low contrast, overflow, occlusion, or unreviewed states as failures.
- Never convert a known failure into a pass. Fix it or report the exact blocker and evidence.
6. Close the task
- Stop every temporary server or debug helper started for testing.
- Leave the intentional persistent injector running only when the user wants the skin active.
- Restore the user selected theme after cross theme testing.
- Report changed files, exact automated results, manual evidence, remaining failures, and recovery instructions.
- Say the skin is release ready only when the strict audit report has
releaseReady: true.
Included resources
scripts/run-strict-audit.ps1 runs deterministic static and live gates, stores raw logs, checks screenshot evidence, and validates the manual review manifest.
references/design-workflow.md defines image analysis and adaptive UI decisions.
references/strict-audit-contract.md defines the mandatory audit matrix, manual manifest, and failure policy.