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, anddocs/THEME-SCHEMA.mdbefore 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 -StaticOnlyfrom 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: lightfor bright campus, youth, pastel, botanical, soft portrait, and similar imagery unless measured contrast proves another mode is stronger. - Select
appearance: darkfor 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.ps1after 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
-ManualReviewManifestto 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.ps1runs deterministic static and live gates, stores raw logs, checks screenshot evidence, and validates the manual review manifest.references/design-workflow.mddefines image analysis and adaptive UI decisions.references/strict-audit-contract.mddefines the mandatory audit matrix, manual manifest, and failure policy.