| name | html-report-verify |
| description | Visual + structural verification of HTML benchmark/validation reports using the Codex-in-Chrome extension. Opens the report in a browser, takes screenshots, checks key DOM elements, and produces a PASS/FAIL verdict. Generic by default; module-specific check lists extend the base set.
|
| type | reference |
| version | 1.0.0 |
| category | development |
| last_updated | "2026-02-19T00:00:00.000Z" |
| tools | ["Bash","Task","mcp__claude-in-chrome__tabs_context_mcp","mcp__claude-in-chrome__tabs_create_mcp","mcp__claude-in-chrome__navigate","mcp__claude-in-chrome__computer","mcp__claude-in-chrome__read_page","mcp__claude-in-chrome__javascript_tool","mcp__claude-in-chrome__find","mcp__claude-in-chrome__read_console_messages"] |
| related_skills | ["verification-loop","webapp-testing"] |
| tags | ["html","reporting","verification","chrome","visual-qa","benchmark","orcawave"] |
| platforms | ["windows","linux","macos"] |
/html-report-verify — HTML Report Visual & Structural Verification
Opens an HTML report in Chrome (via local HTTP server for local files) and
performs layered verification: console errors → DOM structure → visual scan →
module-specific checks.
Trigger
/html-report-verify <path-or-url> [--module <name>]
Examples:
/html-report-verify docs/modules/orcawave/L00_validation_wamit/3.2/benchmark/benchmark_report.html --module orcawave-qtf
/html-report-verify http://localhost:8974/3.1/benchmark/benchmark_report.html
Verification Layers
Layer 0 — Server Setup (local files only)
If a local path is given, start a Python HTTP server in the parent directory on
a free port (default 8974). Use uv run python -m http.server so the uv
environment is active. Kill the server after verification is complete.
Layer 1 — Page Load
- Navigate to URL via
mcp__claude-in-chrome__navigate
- Take screenshot immediately
- Check
mcp__claude-in-chrome__read_console_messages for JS errors (onlyErrors: true)
- FAIL if console shows uncaught errors or the page is blank
Layer 2 — Generic DOM Structure Checks
Run via mcp__claude-in-chrome__javascript_tool:
| Check | Selector / Test | Pass Condition |
|---|
| Title present | document.title | Non-empty string |
| H1/H2 headings | querySelectorAll('h1,h2').length | ≥ 1 |
| Navigation bar | querySelector('.nav-bar, nav, [class*="nav"]') | Not null |
| Plotly charts rendered | querySelectorAll('.plotly-graph-div').length | ≥ 1 |
| No broken images | [...querySelectorAll('img')].every(i => i.complete && i.naturalWidth > 0) | True |
| No empty script errors | Check console | Zero JS exceptions |
Layer 3 — Visual Screenshot Scan
- Screenshot top of page (executive summary / header)
- Scroll to bottom (
window.scrollTo(0, document.body.scrollHeight))