browser-check

Captures screenshots and DOM observations from authorized local web previews using a sandboxed Chrome browser.

Updated Sep 6, 2026
One-click install
npx skills add https://github.com/oxie/prime-agent-skills --skill browser-check-oxie
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: browser-check
Source: https://github.com/oxie/prime-agent-skills/tree/main/browser-check
Command: npx skills add https://github.com/oxie/prime-agent-skills --skill browser-check-oxie

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires browser-use, and includes scripts (resource) and references (resource) components.

What problem does it solve? Reviewing local web UI work requires trustworthy visual and interaction evidence, but ad-hoc browser automation risks touching user profiles, leaking credentials, or making unverifiable claims. This Skill provides a controlled, sandboxed browser harness that produces verifiable screenshots, DOM observations, and action reports for authorized localhost previews only. ## Core Features & Use Cases - Sandboxed local capture: Launches a pinned, hash-verified private Chrome under its AppArmor profile with a fresh profile, restricted to a single explicit http://127.0.0.1 origin, and records sandbox evidence in report.json. - Bounded interaction testing: Runs a reviewed JSON action file (click, fill, press, scroll, wait-for, screenshot) with strict limits, refusing password, file, and hidden fields. - Responsive and reduced-motion checks: Captures alternate viewports (e.g. 390x844) and emulated prefers-reduced-motion for accessibility-oriented review. - Use Case: While reviewing a Hallmark or Variate UI round on a local dev server, capture initial and final screenshots plus a DOM summary at desktop and mobile widths, then attach the images as evidence without ever touching a real user browser or the public web. ## Quick Start Ask the agent to use browser-check to capture screenshots and a DOM report of your running local preview at http://127.0.0.1:5173 into a fresh output directory.

Frequently Asked Questions about browser-check

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I take a screenshot of a local web preview for UI review?▼

Run the skill's check.py script with an explicit --url like http://127.0.0.1:5173/ and a fresh --output directory. It launches a sandboxed headless Chrome, captures initial and final PNG screenshots plus a dom.json observation file, and writes a report.json with status and hashes.

How do I test clicks and keyboard input on a localhost page?▼

Provide a reviewed JSON actions file with up to 16 actions such as click, fill, press, scroll, wait-for, and screenshot. Click and fill require exactly one CSS selector match, and password, file, hidden, and one-time-code fields are refused.

Can this browser tool access public websites or authenticated sessions?▼

No. Only explicit http://127.0.0.1 URLs with unprivileged ports are accepted, and browser-level rules restrict requests to that single local origin. Public websites, authenticated browsing, CDP attachment to other browsers, and cloud browser agents are explicitly out of scope.

Does a successful browser capture mean the UI has no defects?▼

No. Exit code 0 only means the requested capture and actions completed with clean owned-process cleanup. Screenshots are not performance benchmarks, complete interaction tests, or accessibility audits; page errors and untested behavior must be reported separately.

Why does the browser check fail with a refusal or incomplete status?▼

Exit 1 indicates refusal or incomplete operation, such as a missing verified runtime, sandbox checks failing, unexpected dialogs or downloads, or cleanup problems. Read report.json errors and retained evidence rather than treating the run as clean.

How do I check responsive layout and reduced-motion behavior locally?▼

Run a second bounded capture with --width 390 --height 844 and --reduced-motion. The script emulates prefers-reduced-motion and the narrow viewport, producing separate screenshots and DOM observations for comparison.