browser-check
Validate mgbrowser transport, document, paint and native interaction changes with local fixtures, then verify specifically requested live browsing journeys…
Skill by pierce403
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.
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.
About
Use cases: documents
Reviews
Write a reviewNo 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.
More from pierce403/mgbrowser
- 0.561score
publish-site
pierce403
Refresh the mgbrowser project page from feature status and daily logs, validate it, and verify authorized GitHub Pages publication at mgbrowser.org.
SkillAFreshness: AClaude Code +9 - 0.556score
curator
pierce403
Create, revise, consolidate and prune mgbrowser repository skills when repeated work reveals a reusable procedure or an existing workflow changes.
SkillAFreshness: AClaude Code +9
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
- Repository
- github.com/pierce403/mgbrowser
- Website
- mgbrowser.org
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from pierce403
- 0.561score
publish-site
pierce403
Refresh the mgbrowser project page from feature status and daily logs, validate it, and verify authorized GitHub Pages publication at mgbrowser.org.
SkillAFreshness: AClaude Code +9 - 0.556score
curator
pierce403
Create, revise, consolidate and prune mgbrowser repository skills when repeated work reveals a reusable procedure or an existing workflow changes.
SkillAFreshness: AClaude Code +9 - 0.521score
maintain-badge-protocol
pierce403
Safely implement or review 34b.ninja badge transport, image packing and upload, BIO/SAO configuration, FIFO controls, or hardware-facing browser behavior.
SkillBFreshness: BClaude Code +9 - 0.516score
curator
pierce403
Maintain this repository's compact skill library when work reveals a reusable procedure, changes an existing workflow, duplicates guidance, or makes project…
SkillBFreshness: BClaude Code +9
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.
Cite this page
browser-check skill. Agent Mart. https://agentmart.dev/skills/pierce403-browser-check (last updated 2026-10-24)