Tools for verifying HomeGlow client/server changes using local demo modes and Playwright driving.

Install

mkdir -p .claude/skills/verify-jherforth && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/16685" && unzip -o skill.zip -d .claude/skills/verify-jherforth && rm skill.zip

Installs to .claude/skills/verify-jherforth

Activation

This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.

Build, launch, and drive HomeGlow locally to verify client/server changes end-to-end.
85 charsno explicit “when” trigger
Intermediate

Key capabilities

  • Launch HomeGlow API server in demo mode
  • Launch HomeGlow client dev server
  • Drive widget interactions using Playwright
  • Simulate tab visibility states
  • Track data churn with page.on('request')

How it works

This skill provides commands to launch HomeGlow's API and client in demo mode and uses Playwright for browser automation to interact with and verify widget behavior and system states.

Inputs & outputs

You give it
HomeGlow client and server code changes
You get back
Running HomeGlow instances and automated browser interactions for verification

When to use verify

  • Run HomeGlow locally
  • Test widget refresh
  • Simulate screensaver states
  • Verify API churn

About this skill

Verifying HomeGlow changes

Launch (demo mode gives instant sample data)

# API server — demo mode auto-seeds chores + calendar for each new device
cd server && PORT=5001 DEMO_MODE=true node index.js &

# Client dev server (client/ expects the API at localhost:5001 in dev mode)
cd client && npx vite --port 3012 --strictPort &

Gotchas:

  • Ports 3001/3005 are often already taken by the user's own dev servers on this machine — pick an unused port, never kill existing node processes.
  • Each browser profile is a fresh "device" (homeglow_device_name in localStorage). Demo seeding only happens for first-run devices: if you intercept GET /api/devices/*/settings and inject widgetSettings into an empty response, the app thinks it's configured and never seeds.

Drive (Playwright + system Edge, no browser download)

npm i playwright-core in the scratchpad, then chromium.launch({ channel: 'msedge', headless: true }).

Useful handles:

  • Widgets: .widget-wrapper; refresh ring: button[aria-label="Refresh widget now"].

  • Shrink widget refresh intervals by rewriting GET /api/devices/*/settings responses (only when widgetSettings already exists — see gotcha above).

  • Simulate tab hide/show: Object.defineProperty(document,'visibilityState',...) plus dispatching visibilitychange.

  • Screensaver: seed localStorage screensaverSettings ({enabled,mode:'photos'|'tabs',timeout(minutes, fractions ok),slideshowInterval}) before load; exit by clicking the overlay.

  • Track data churn with page.on('request') filtered to localhost:5001.

  • Chore cards (.chore-card, [data-schedule-id]) have a long-press/right-click context menu; locator.click({ button: 'right' }) opens it. Long-press via CDP Input.dispatchTouchEvent (context needs hasTouch: true), hold ~900ms. PIN-gated flows need a non-demo server (file DB_PATH) with a PIN set via POST /api/admin-pin/set; PinModal accepts keyboard digits + Enter.

Worth driving

  • Widget auto-refresh cadence and the countdown ring (in-place, no remount: tag DOM nodes with a marker property and confirm they survive a refresh).
  • Hidden page / photos-mode screensaver must stop all widget fetches; on resume an overdue widget fetches exactly once (catch-up).
  • Client unit tests: cd client && npm test (vitest). Server: cd server && npm test.

When not to use it

  • When verifying changes for a system other than HomeGlow
  • When not needing to verify client/server changes end-to-end

Prerequisites

npm i playwright-core

Limitations

  • Specific to HomeGlow client/server verification.
  • Demo seeding only happens for first-run devices.

How it compares

This approach automates the launch and interaction with HomeGlow's specific client/server components for end-to-end verification, unlike manual testing or generic browser automation.

Compared to similar skills

verify side by side with the closest alternatives in the catalog.

SkillInstallsUpdatedSafetyDifficulty
verify (this skill)01moReviewIntermediate
sentry-hello-world11moCautionBeginner
langfuse-core-workflow-b01moReviewIntermediate
chaos-scenario02moReviewAdvanced

Try saying

Example prompts that trigger this skill in your AI assistant.

You might also like

sentry-hello-world

jeremylongshore

Execute capture your first error with Sentry and verify it appears in the dashboard. Use when testing Sentry integration or verifying error capture works. Trigger with phrases like "test sentry", "sentry hello world", "verify sentry", "first sentry error".

13

langfuse-core-workflow-b

jeremylongshore

Execute Langfuse secondary workflow: Evaluation and scoring. Use when implementing LLM evaluation, adding user feedback, or setting up automated quality scoring for AI outputs. Trigger with phrases like "langfuse evaluation", "langfuse scoring", "rate llm outputs", "langfuse feedback", "evaluate ai responses".

00

chaos-scenario

petercort

Use when authoring, running, or reviewing chaos engineering experiments in this monorepo. Covers steady-state hypothesis, fault injection (service kill, latency, network partition, overload), result recording to CSV, and cleanup/restore. Triggers: "add chaos scenario", "new chaos test", "inject faul

00

bench

OysteinAmundsen

Run @toolbox-web benchmarks as local regression testing during development — either current-vs-previous-run (`bun run bench`) or current-vs-tag (the bundled bench-vs-tag.ts orchestrator). Covers writing `.bench.ts` files as part of issue development, running the suites, locating artifacts, and inter

00

dependency-upgrade

wshobson

Manage major dependency version upgrades with compatibility analysis, staged rollout, and comprehensive testing. Use when upgrading framework versions, updating major dependencies, or managing breaking changes in libraries.

26240

chrome-devtools

mrgoonie

Browser automation, debugging, and performance analysis using Puppeteer CLI scripts. Use for automating browsers, taking screenshots, analyzing performance, monitoring network traffic, web scraping, form automation, and JavaScript debugging.

41157

Search skills

Search the agent skills registry