browser-crashtest-lab — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited browser-crashtest-lab (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
OpenCode mirror: sourced from ~/.config/opencode/skills/browser-crashtest-lab and mirrored for OpenCode CLI usage.Run deterministic multi-pass browser audits with parallel worker processes and produce a final PASS/WARN/FAIL readiness report. Use this skill when broad surface testing is required, not just a single user flow.
Run from any project directory:
command -v node >/dev/null 2>&1
command -v npx >/dev/null 2>&1If missing, ask the user to install Node.js first.
Install runtime packages (project-local preferred):
pip3 install nodriver aiohttpLighthouse is pulled on demand with npx lighthouse.
For the second visual judge (NVIDIA Qwen), set:
export NVIDIA_API_KEY="..."Ensure Codex CLI is available for the first visual judge:
command -v codex >/dev/null 2>&1export OPENCODE_HOME="${OPENCODE_HOME:-$HOME/.config/opencode}"
export CRASHLAB="$OPENCODE_HOME/skills/browser-crashtest-lab/scripts/browser_crashtest_audit.mjs"node "$CRASHLAB" \
--url http://localhost:3000 \
--workers 6 \
--action-workers 6 \
--link-workers 8 \
--link-open-mode both \
--design-zeugnis \
--design-jury-mode dual \
--design-fusion-mode union \
--max-pages 120 \
--max-actions-per-page 30 \
--max-links-per-page 50 \
--out-dir output/browser-crashtestThen inspect:
output/browser-crashtest/report.mdoutput/browser-crashtest/report.jsonoutput/browser-crashtest/design-zeugnis.mdoutput/browser-crashtest/design-zeugnis.jsonreport.md, especially failing pages and repeated patterns.node "$CRASHLAB" \
--url http://localhost:3000/settings \
--workers 1 \
--link-open-mode browser \
--headed \
--max-pages 15 \
--out-dir output/browser-crashtest-headedchat: the skill writes a strict JSON template + instructions for this Codex chat model.--design-codex-judge-mode chat (default)output/browser-crashtest/design-judge-codex.json from this chat reviewauto to try exec first, then chat/file fallback)--design-codex-judge-mode exec--no-design-llm-required --design-codex-judge-mode fileoutput/browser-crashtest/design-judge-codex.template.jsonoutput/browser-crashtest/design-judge-codex.instructions.mdThen rerun the same command.
--action-workers <n>: Parallel micro-workers for button/click checks on each page.--link-workers <n>: Parallel micro-workers for link checks on each page.--link-open-mode browser|http|both:browser: open links in real tabs (default).http: fast status probes via browser context request API.both: run both and merge results for stricter audits.--design-zeugnis: Enable strict design jury and professor-style design report.--design-llm-required: Fail when any required judge is missing (default on).--design-jury-mode dual: Use Codex app visual judge + NVIDIA Qwen 3.5.--design-codex-judge-mode auto|exec|chat|file: Codex judge source (default chat).--design-codex-model <name>: Codex model override for local CLI judge runs (default gpt-5.3-codex).--design-codex-timeout-ms <n>: Timeout for Codex judge execution.--design-codex-attempts <n>: Codex judge attempts (default 3).--design-fusion-mode union: Fail if one judge fails.--design-qwen-endpoint <url>: Optional explicit endpoint override if base URL routing differs.--design-qwen-model <name>: Qwen model name (default qwen3.5-397b-a17b).--design-qwen-attempts <n>: Qwen judge attempts (default 3).--design-viewports 390x844,768x1024,1440x900: Multi-viewport evidence capture.--design-min-score-fail 920: Hard fail threshold on 1000 scale.--design-max-evidence-images <n>: Global cap for captured judge evidence.--design-codex-max-evidence-images <n>: Codex-specific evidence cap (default 6).--design-qwen-max-evidence-images <n>: Qwen-specific evidence cap (default 18).--design-codex-judge-file <path>: Optional explicit path for codex judge JSON.console errors/warnings, pageerror, and failed network requests.performance, accessibility, best-practices, seo) on sampled pages.big-player-qualitysolidneeds-polishhigh-riskP0..P3) plus release verdict.design-judge-codex.json.codex exec with attached evidence images.design-judge-codex.template.json + design-judge-codex.instructions.md.qwen3.5-397b-a17b) runs multimodal judgement.union gate => if one judge says FAIL, final design verdict is FAIL.--design-tone professor).P0 finding in deterministic checks or either model judge.--design-llm-required.--design-min-score-fail.design-zeugnis.json -> fusion.disagreement.PASS requires both model judges to pass and no hard-fail condition.P0, final verdict is at least WARN.When browser output is not enough (complex runtime/perf anomalies), start Chrome DevTools MCP:
"$OPENCODE_HOME/skills/browser-crashtest-lab/scripts/chrome_devtools_mcp_probe.sh" \
output/browser-crashtest/devtools-mcp.logThen connect from an MCP-capable client and inspect console, network, performance, and screenshots interactively.
delete, pay, purchase, etc.).output/browser-crashtest* and avoid new top-level artifact folders.Open only what is needed:
references/stack-2026-02-26.mdreferences/design-worldclass-standards-2026-02-27.md~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.