Run report id performance-audit through seo_run_report for structured agent
output. Call seo_describe_report first when its parameters are not already
known. Pass url, choose strategy as mobile or desktop, and use
refresh: true only when a fresh measurement is required.
CLI equivalents:
seo perf audit --url https://example.com/page --json
seo perf audit --url https://example.com/page --strategy desktop --refresh --json
Set SEO_CRUX_API_KEY to request Chrome UX Report field data. The packaged
Lighthouse runtime needs a compatible local Chrome installation.
Interpret the report
- Check
dataStatus,labDataStatus,fieldDataStatus, andcaveatsfirst. - Treat CrUX as rolling, device-specific field evidence. Check whether its
scopeis the exact URL or the origin and quote thecollectionPeriod. - Treat Lighthouse as one controlled navigation lab run. Use its compact
labInsightsand metric evidence for diagnosis, not as field experience. - Treat Lighthouse TBT as a lab responsiveness diagnostic. Never rename it INP. Field INP comes from CrUX.
- Use the field p75 thresholds encoded by the report: LCP good at 2,500ms or less, INP good at 200ms or less, and CLS good at 0.1 or less. All three must be available and good for the field assessment to be good.
- Prefer field findings when field and lab disagree. Explain that their populations and measurement conditions differ.
- Keep recommendations tied to returned metrics or insights. Do not infer sitewide performance from one URL, device, or run.
Guardrails
source: fetch-fallbackis unscored transport evidence. Its duration is the complete local fetch workflow, not TTFB, Lighthouse, or Core Web Vitals.- Stop performance conclusions when fallback evidence is blocked or non-2xx.
unavailable_no_coveragemeans CrUX lacks enough data; it does not mean the page passed or failed Core Web Vitals.request_failedis an operational provider problem, not a page finding.- Missing field metrics make the Core Web Vitals assessment incomplete.
- Do not request or paste raw Lighthouse output unless a human explicitly needs the underlying artifact; compact output is the stable agent contract.