Skip to content
Agentmart
Submit a tool

browser-check

Validate mgbrowser transport, document, paint and native interaction changes with local fixtures, then verify specifically requested live browsing journeys…

Skill by pierce403

IndexedApache-2.0
Write a review

Chalk Labs

Need help deploying browser-check?

Chalk Labs sets up agents like this inside real teams: connected to your tools, tested on your data, with a human in the loop where it matters.

Book a call

Install

Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.

npx agentmarket install skill/pierce403-browser-check

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

Validate mgbrowser transport, document, paint and native interaction changes with local fixtures, then verify specifically requested live browsing journeys without substituting fixture success for website compatibility.

Use cases: documents

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.

Tools
No tools found
Secrets
None asked for
Install scripts
None found

Network hosts it talks to 1

  • codeload.github.com · found in install command

Files it touches

  • ~/.claude/skills/browser-check

What's inside

Skill name
browser-check
Description
Validate mgbrowser transport, document, paint and native interaction changes with local fixtures, then verify specifically requested live browsing journeys without substituting fixture success for website compatibility.
License
Apache-2.0
Instructions
455 lines in SKILL.md · view on GitHub

Files (1)

  • SKILL.md

SKILL.md (first lines)

# Browser check

For every commit, follow docs/WPT.md: run the entire pinned reftest selection into a new
ignored directory with tools/wpt/run.py --update-score, review its full result,
then regenerate tmp/site and include the deterministic score and page. The
runner rebuilds the Rust adapter; do not substitute an old executable. Preserve
the exact corpus and manually reviewed pass/support ratchet when scoring engine
changes. XML, fonts, scripting and other unsupported prerequisites stay visible
in the denominator. Never count harness controls or readable fallback as WPT
passes. Pages reruns --check-score on the exact commit, including docs-only work.
This headless Browser lane does not replace native/public-release acceptance.
Every PASS page/reference must have an empty rendering-diagnostic list and zero
omissions as well as all existing replay/resource/viewport/pixel guards. A
nonempty diagnostic is a conservative FAIL, not a post-render UNSUPPORTED escape
or permission for a case-specific exemption. Opaque host/artifact failures stay
ERROR; completed=false or PENDING evidence cannot update the tracked score.
Corpus/runner expansions must precede scored engine changes. Preserve the
immutable original 24-test manifest/ratchet as well as the expanded required
pass/support sets. Freeze a source-derived roster before running the browser;
never filter by observed failures. Retain full selected/PENDING totals on an
interrupted run, but never accept PENDING as a completed score. Check the
documented process, input and evidence bounds and all runtime helper hashes.
The report stores each unique page once; inspect its lossless RGB/PNG/log and
typed failure record before accepting new passes. No source navigation or
script-proposed navigation may escape the local test-server lane.

For WPT orchestration changes, follow the separately reviewed two-lane policy
in docs/WPT_EXPANSION.md. Keep a one-lane control and compare complete runs
using the same binary/font/source: all case identities/statuses, every rendered
page's raw RGB hash and original relations, and per-page HTTP request multisets.
Aggregate counts alone cannot establish equivalence. Preserve shared run,
evidence/report/request limits, single-flight references and bounded queues.
Unknown process/fixture cleanup stops admission; it cannot free another renderer
slot. Keep partial PENDING evidence honest and verify exact-commit cold CI and
actual public report delivery after normal publication.

For JSPLAN engine research, also read `experiments/jsplan/README.md` and
`docs/jsplan/RESULTS.md`. Keep the experiment's workspace/lockfile separate from
production. Build its release executable with Rust 1.91.1, run protocol and
runner tests, verify the exact dependency audit, then run the pinned-input
comparison and `tools/jsplan/check_report.py`. The check includes known failures:
do not shrink the denominator or update expectations automatically. Use the
supervised empty-environment pipe protocol with the shared production isolation;
never initialize an experimental engine in the browser parent. Record debug and
release results separately. GNU time measurements exclude the Python launcher's
inherited memory high-water state; distinguish peak process RSS from live heap.
Research-only tooling is not a browser backend or a framework compatibility claim.
Any actual browser adoption still requires the standing release/installer gates.

Production Boa page execution uses the separate process-contained profile in
docs/BOA.md. Run modern, boa_pages, boa_page_events and boa_worker tests in debug
and release, including real restricted-child allocation/job/opcode failures.
Preserve the old interpreter's tests with --features legacy-test-engine and its
explicit --legacy-page-tests fixture lane. Never package that feature or infer
production Boa compatibility from original-engine fixtures. Packaged production
acceptance uses /script-boa and the unchanged /script-events through native input
and external CDP, plus the installed-binary worker/session smoke checks.
For typed external classic source or performance/cache changes, also build normal
journey_server/cdp_journey examples and run tools/page-services-smoke.py against
the packaged and public-installed executable. It owns its loopback/display and
checks external startup order, retained event behavior, worker accounting and
actual CLI cache/failure paths. Preserve the original inline-script journeys.
Run external_scripts regressions in debug and release; never encode trusted
source metadata in page HTML. Run inspector-smoke for Performance shortcut/tab,
compact/scaled and light/dark acceptance, and inspect its saved screenshots.
WeakRef/removed-listener tests must use actual engine checkpoint cleanup, not
test-only ClearKeptObjects. Distinguish requested System allocation counters,
GC reachability and RSS; parser/native/regex/GC work still relies on hard process
containment where cooperative hooks are absent. This is not full JSPLAN P1/P4.

For function timers or parent-task scheduling, read the reviewed increment in
docs/WPT_TESTHARNESS.md as well as BOA.md/PAGE_SESSIONS.md. Run boa_timers and
script_tasks in debug and release, existing modern/Boa/legacy event/projection
and actual-worker tests, strict Chassis task controls and independent no-chrome
embedding. Preserve shared pending/lifetime work, CPU/active/lifetime/wire/child
bounds. Canceled work never refunds cumulative admission. Test real checkpoints
and traced callback/argument release, hostile delay conversion, direct versus
Promise-created nesting, stale/early/replayed wakes, exactly-one projection
charge, native edit preservation and owned-child cleanup. Do not repair roots
with test-only checkpoint cleanup or sleep inside active worker execution.
Run tools/task-services-smoke.py on packaged and public-installed bytes: its
authored timer-created controls must complete the unchanged native and external
CDP cancellation/form/destination assertions. This is not upstream WPT coverage.
The static adapter still does not await arbitrary timers; audit current-cohort
passing script logs for unfinished work before score adoption. A new asynchronous
scoring prerequisite/corpus requires its own frozen contribution, not a silent
change to waits or exceptions while scoring an engine fix. The original timer
increment's bundled Init was not completed Window-testharness readiness; queued
snapshot lifecycle has separate acceptance below and is not full readiness either.

For Window uncaught errors, also read docs/WINDOW_ERRORS.md and run boa_errors,
external_scripts and actual boa_worker/script_tasks controls in debug/release.
Check five-argument onerror/literal-true cancellation, capture-phase stop versus
same-invocation continuation, retained diagnostics, recursive/fatal no-JS paths,
real traced exception release and sticky foreign/unknown/dynamic-source muting.
Parent origin proof covers every redirect and survives cache/defer; DOM/base
attributes cannot supply it. Preserve the current strict modern wire version,
strict legacy v1 bytes and existing resource counters; never guess an old modern
frame's shape. Run tools/error-services-smoke.py on packaged and
public-installed bytes: require its exact expected diagnostic/PARTIAL per
journey plus native/CDP identity, checkpoint and retained form proofs. Do not
relax the old diagnostic-free page/task checkers. These are authored controls,
not rejection notification, exact source attribution or new upstream WPT passes.

For Promise rejection notification, also read docs/PROMISE_REJECTIONS.md. Run
boa_rejections, boa_rejection_resources and real script_tasks in debug/release,
plus core private fault/storage/ID/weak-map/finalizer controls and all old gates.
Check one frozen batch per parent pump, true late handling, shared work admission,
active-candidate re-entry, genuinely weak outstanding membership, and terminal
root/permit/wake cleanup. GC tests must use normal checkpoints, not test-only
kept-object repairs. Muted Reject retains no payload/permit; the conservative
observation-gap notice is sticky across replies, including loss of outstanding
handled observation. Actual notification diagnostics belong to their transaction
and cannot be retracted by cancellation, handling or later clean-looking output.
Run tools/test_rejection_services_smoke.py, then tools/rejection-services-smoke.py
on packaged and public-installed bytes. Its notification-created form requires
native/CDP payload identity, checkpoints, retained input/cancellation/navigation,
exactly one expected diagnostic and zero trap requests. Keep the old
diagnostic-free and Window-error checkers unchanged. This procedure derives from

From pierce403/mgbrowser, Apache-2.0.

Signals

Stars
0
Forks
1
Open issues
0
Last commit (this folder)
Oct 24, 2026 (7 days ago)
Last release
Oct 23, 2026 (7 days ago)

From GitHub (fetched Oct 24, 2026).

Details

License
Apache-2.0
First seen
Oct 24, 2026
Last checked
Oct 24, 2026

More from pierce403

Done for you

Rather not set it up yourself?

Chalk Labs scopes, builds and runs agents for your team: the task audit, the eval harness, the integrations and the weekly ops report. Fixed scope, priced before we start.

See how we build AI agents →Read the case studies

Chalk Labs is a two-founder AI and growth studio. We build AI agents, CRMs and MVPs for Web3 and AI companies, and have shipped 50+ product and token launches.

launches shipped
50+
launches shipped
media placements
500+
media placements
founders on every account
2
founders on every account

Press we've placed: Forbes · CoinDesk · Decrypt · Cointelegraph · The Block

Rahil Jain, Co-founder, Chalk Labs. Ex-Goldman Sachs engineer. You talk to the person who builds it.

Get browser-check running in your business

Tell us what you want to automate. A founder replies within one working day with a plan, not a pitch deck.

Goes to the Chalk Labs founders, not the newsletter. Privacy

Need help deploying browser-check?

CallGet help
Cite this page

browser-check skill. Agent Mart. https://agentmart.dev/skills/pierce403-browser-check (last updated 2026-10-24)