Skip to main content

browser-verification

Browser and visual verification for Coop app, extension, popup, sidepanel, and receiver flows. Use when UI changes need rendered proof, console inspection, screenshots, Playwright checks, or local browser debugging.

Source facts

Repository
greenpill-dev-guild/coop
Last source activity
May 17, 2026 at 03:22
Detected SKILL.md language
English
Stars
3
Forks
1

Install options

The review-first prompt is selected by default. You can switch to a direct command or download a local copy.

Review the source files

Read SKILL.md and any companion files shown by SkillsMP before deciding whether to install.

Showing SKILL.md

SKILL.md
Source instructions · Read-only preview
name
browser-verification
user-invocable
true
description
Browser and visual verification for Coop app, extension, popup, sidepanel, and receiver flows. Use when UI changes need rendered proof, console inspection, screenshots, Playwright checks, or local browser debugging.
argument-hint
[app|extension|popup|sidepanel|receiver|docs]
version
1.0.0
status
active
packages
["app","extension","docs"]
dependencies
["ui-compliance","testing"]
last_updated
2026-05-17
last_verified
2026-05-17
# Browser Verification Skill Rendered UI proof for Coop. Use this before claiming that a visual, interaction, or browser-runtime fix works. This skill does not replace tests. It catches the things static checks miss: blank screens, clipped popup content, console errors, broken focus, missing assets, and sidepanel layout regressions. --- ## Activation | Trigger | Action | |---------|--------| | UI files changed | Run rendered browser verification before reporting done | | Popup or sidepanel behavior changed | Verify extension surface at realistic dimensions | | CSS, token, layout, or animation changed | Capture screenshot proof and inspect console | | Receiver/PWA flow changed | Verify app route and responsive state | | Visual QA requested | Use Playwright or browser automation and report proof limits | ## Tool Selection | Tool | Use For | Proof Limits | |------|---------|--------------| | Codex Browser / Browser Use | Local app routes, receiver PWA preview routes, docs, public pages without sign-in, screenshots, and responsive checks. | Cannot load unpacked extension UI, signed-in Chrome state, browser extensions, or OS prompts. | | Playwright | Repeatable checks for Browser-covered flows, layout invariants, routing, and regression gates. | Does not replace real extension-card, toolbar popup grant, installed PWA, or permission-prompt evidence. | | Codex Chrome extension | Signed-in Chrome/profile state and browser tasks that need the user's real Chrome context. | Prefer Browser for unauthenticated localhost routes. | | Computer Use / real headed Chromium | Unpacked extension popup/sidepanel, extension-card errors, `activeTab`, screenshot capture, installed PWA behavior, OS/browser prompts, and cross-app GUI flows. | Keep tasks narrow and record app/browser/profile because it can affect state outside the repo. | ## Scope Selection | Surface | Start Command | Primary Checks | |---------|---------------|----------------| | App / receiver PWA | `bun dev:app` | Routes render, responsive layout, console clean | | Extension build | `cd packages/extension && bun run build` | MV3 output exists, no build/runtime errors | | Extension dev | `bun dev:extension` | Popup/sidepanel render in Chromium | | API-backed flows | `bun dev:api` | Pairing, sync, receiver handoff | | Docs | `bun run docs:dev` | Docs route renders under Node 22/mise | Prefer the smallest surface that proves the change. Use full E2E only when the user path crosses surfaces. --- ## Verification Workflow ### 1. Identify the Rendered Surface Map changed files to the UI surface: - `packages/extension/src/views/Popup/**` -> popup - `packages/extension/src/views/Sidepanel/**` -> sidepanel - `packages/app/src/**` -> app or receiver PWA - `packages/shared/src/styles/**` -> app and extension downstream checks - `docs/**` -> docs site If the changed file is shared styling or a shared UI contract, verify at least one downstream consumer. ### 2. Run the Right Local Target Use the lightest target first: ```bash cd packages/extension && bun run build bun dev:app bun dev:api ``` For automated coverage: ```bash bun run test:visual bun run test:e2e:popup bun run test:e2e:extension bun run test:e2e:app ``` ### 3. Inspect the Browser Use available browser automation or manual Chrome inspection to verify: - The target route or extension surface is not blank. - Console has no new errors. - Primary actions are clickable with mouse and keyboard. - Focus order is coherent. - Text fits at narrow and standard widths. - Loading, empty, error, and success states still render when relevant. - Animations respect `prefers-reduced-motion` when touched. For popup checks, verify the 400px fixed-width constraint. For sidepanel checks, verify narrow and wider panel widths when layout changed. ### 4. Capture Proof Report proof in the final or handoff: ```markdown ### Browser Verification - Surface: popup / sidepanel / app / docs - Tool: Browser / Playwright / Chrome / Computer Use / manual headed browser - Target: http://127.0.0.1:3001/... or extension dev window - Checks: rendered, primary action, console, responsive width - Evidence: screenshot path or Playwright command - Limits: anything not covered ``` Never say "looks good" without naming what rendered and what was checked. --- ## Common Failure Modes | Symptom | Likely Cause | Next Check | |---------|--------------|------------| | Blank popup | Extension build/runtime error | Inspect extension console and `cd packages/extension && bun run build` | | Sidepanel clips content | Fixed width or missing container constraints | Test 300px and 800px widths | | Click works, keyboard fails | Non-semantic interactive element | Use `ui-compliance` checks | | Test passes, visual broken | Assertion missed layout or asset state | Add screenshot or DOM visibility assertion | | App works, extension fails | MV3/runtime mismatch | Check service worker constraints and extension console | ## Related Skills - `ui-compliance` -- Accessibility, focus, responsive, and reduced-motion checks. - `testing` -- Vitest and Playwright test strategy. - `design` -- Coop visual language and surface-specific interaction rules. - `debug` -- Root cause investigation when rendered proof fails.
View on GitHub