← ClaudeAtlas

interactive-testinglisted

Smoke-test the running Lightcode Electron app end-to-end via Chrome DevTools Protocol. Use when the user asks to "smoke test", "test the app", "verify the refactor in the UI", "open the app and click through", or otherwise wants Claude to drive the real running app instead of relying on unit tests. Boots dev server + Electron with CDP enabled, attaches agent-browser, walks the surfaces most relevant to the current diff (provider selector, ThreadDraftView, ChatPane, ThreadRuntimeRequestPanel), and reports findings with screenshots.
SDSLeon/lightcode · ★ 25 · Testing & QA · score 81
Install: claude install-skill SDSLeon/lightcode
# Interactive Testing — Lightcode Drive the real running Electron app via Chrome DevTools Protocol (CDP) to verify changes after a refactor or feature edit. Complements unit/integration tests — catches the things vitest can't (real renderer rendering, real IPC, real Electron lifecycle, real provider menus, real chat layout). ## When to use - User says **"smoke test"**, **"test the app"**, **"open the app and try X"**, **"verify the refactor"**. - After a non-trivial UI refactor where unit tests pass but visual / interaction correctness is still in doubt. - After IPC / contract changes — to confirm the renderer still talks to the supervisor. ## When NOT to use - Pure logic bugs that have a failing unit test reproduction — fix the test instead. - Backend-only changes (database, supervisor process internals) with no renderer-visible surface. - When the user asks a quick question — don't spin up the whole app to answer "what does this function do". ## Prerequisites — one-time source patches Two small env-gated escape hatches in `src/main/main.ts` make smoke testing hermetic. Both are opt-in (default behavior unchanged), safe to commit. Check whether they're already present: ```bash grep -n "LIGHTCODE_CDP_PORT\|LIGHTCODE_BASE_DIR" src/main/main.ts ``` ### Patch 1 — CDP port (required to attach `agent-browser`) Add near the top of `main.ts`, after `import { app, BrowserWindow } from "electron";`: ```ts if (process.env.LIGHTCODE_CDP_PORT) { app.commandLine.appendSwitch(