Web Performance
Use current browser evidence for the page and state the user named. Metrics,
thresholds, and tooling change; retrieve current web.dev or Chrome documentation
before citing specific thresholds or API details.
Set the acceptance scope
Choose the smallest mode that answers the request:
- Named regression or metric: measure that path and analyze its likely
contributors.
- General performance audit: capture representative load evidence, rank the
material issues, and stop when the highest-impact causes are explained.
- Optimization work: establish a comparable baseline, change only the
authorized code, and remeasure the same page, viewport, network conditions,
and cache state.
The user outcome and performance risk created by the proposed change define the
gates. Accessibility, generic code quality, every bundler setting, and every
available DevTools insight are separate concerns unless the request or evidence
makes one relevant. A discovered non-blocking improvement is a follow-up, not a
release prerequisite.
Choose available evidence
Prefer a browser tool that can record a performance trace and inspect network
requests. If the preferred Chrome DevTools integration is unavailable, use
another available browser measurement path or report the limitation. Do not
make installing a particular MCP server an acceptance gate unless the user asks
for that tool specifically.
Useful evidence, selected as needed:
- a cold or warm page-load trace;
- Core Web Vitals and the element or interaction that owns the metric;
- the critical network dependency chain and response headers;
- request payload sizes and estimated savings;
- relevant DOM or source ownership for the measured culprit;
- field data when the user asks about real-user performance and it is available.
Keep lab and field evidence distinct. Record the URL, viewport, cache state,
network/CPU conditions, and run count when they materially affect comparison.
Focused workflow
- Reproduce the named page, route, viewport, and state.
- Capture a trace or the narrowest available measurement. Repeat only enough
to distinguish a stable signal from obvious noise.
- Inspect the insight, requests, DOM, or code that can confirm the leading
cause. Do not infer an unused or blocking resource from naming alone.
- Rank only issues with material measured or well-supported impact. A 0 ms
estimate or already-good metric is not an optimization task.
- If implementation is requested, make the smallest relevant change and
remeasure under comparable conditions.
- Stop when the requested metric or regression is explained, or the authorized
change is comparably verified. State uncertainty and follow-ups separately.
Risk-triggered checks
Select these only when the evidence points to them:
- LCP or FCP: server latency, resource discovery, render delay, hero/font
priority, and render-blocking resources.
- CLS: the actual shifting elements, missing dimensions, injected content,
and font behavior.
- INP or main-thread delay: the measured interaction, long tasks, event
handlers, hydration, and script evaluation.
- Network weight or dependency depth: compression, caching, payload size,
request chains, preloads, and preconnect usage.
- Bundle ownership: framework and bundler configuration only far enough to
locate the measured cost; do not run a generic tree-shaking audit by default.
Verify before recommending removal. Confirm request use, execution, or coverage
with current evidence, and avoid prescribing framework-specific configuration
from memory.
Report
Lead with the answer to the performance question. Include:
- measured values and conditions;
- the highest-impact confirmed causes;
- specific fixes or completed changes with expected or measured impact;
- evidence unavailable or too noisy to support a claim; and
- non-blocking opportunities as follow-ups.
Use a metric table only when multiple measurements benefit from comparison. Do
not claim a full audit when only one trace, page, viewport, or lab environment
was tested.
1---2name: web-perf3description: Measure, diagnose, or review web page performance when page speed, Core Web Vitals, Lighthouse performance, loading behavior, or a named performance regression is the primary task. Use current browser evidence and first-party documentation. Do not turn a focused metric investigation into a full performance, accessibility, bundler, and codebase audit.4---56# Web Performance78Use current browser evidence for the page and state the user named. Metrics,9thresholds, and tooling change; retrieve current web.dev or Chrome documentation10before citing specific thresholds or API details.1112## Set the acceptance scope1314Choose the smallest mode that answers the request:1516- **Named regression or metric:** measure that path and analyze its likely17 contributors.18- **General performance audit:** capture representative load evidence, rank the19 material issues, and stop when the highest-impact causes are explained.20- **Optimization work:** establish a comparable baseline, change only the21 authorized code, and remeasure the same page, viewport, network conditions,22 and cache state.2324The user outcome and performance risk created by the proposed change define the25gates. Accessibility, generic code quality, every bundler setting, and every26available DevTools insight are separate concerns unless the request or evidence27makes one relevant. A discovered non-blocking improvement is a follow-up, not a28release prerequisite.2930## Choose available evidence3132Prefer a browser tool that can record a performance trace and inspect network33requests. If the preferred Chrome DevTools integration is unavailable, use34another available browser measurement path or report the limitation. Do not35make installing a particular MCP server an acceptance gate unless the user asks36for that tool specifically.3738Useful evidence, selected as needed:3940- a cold or warm page-load trace;41- Core Web Vitals and the element or interaction that owns the metric;42- the critical network dependency chain and response headers;43- request payload sizes and estimated savings;44- relevant DOM or source ownership for the measured culprit;45- field data when the user asks about real-user performance and it is available.4647Keep lab and field evidence distinct. Record the URL, viewport, cache state,48network/CPU conditions, and run count when they materially affect comparison.4950## Focused workflow51521. Reproduce the named page, route, viewport, and state.532. Capture a trace or the narrowest available measurement. Repeat only enough54 to distinguish a stable signal from obvious noise.553. Inspect the insight, requests, DOM, or code that can confirm the leading56 cause. Do not infer an unused or blocking resource from naming alone.574. Rank only issues with material measured or well-supported impact. A 0 ms58 estimate or already-good metric is not an optimization task.595. If implementation is requested, make the smallest relevant change and60 remeasure under comparable conditions.616. Stop when the requested metric or regression is explained, or the authorized62 change is comparably verified. State uncertainty and follow-ups separately.6364## Risk-triggered checks6566Select these only when the evidence points to them:6768- **LCP or FCP:** server latency, resource discovery, render delay, hero/font69 priority, and render-blocking resources.70- **CLS:** the actual shifting elements, missing dimensions, injected content,71 and font behavior.72- **INP or main-thread delay:** the measured interaction, long tasks, event73 handlers, hydration, and script evaluation.74- **Network weight or dependency depth:** compression, caching, payload size,75 request chains, preloads, and preconnect usage.76- **Bundle ownership:** framework and bundler configuration only far enough to77 locate the measured cost; do not run a generic tree-shaking audit by default.7879Verify before recommending removal. Confirm request use, execution, or coverage80with current evidence, and avoid prescribing framework-specific configuration81from memory.8283## Report8485Lead with the answer to the performance question. Include:8687- measured values and conditions;88- the highest-impact confirmed causes;89- specific fixes or completed changes with expected or measured impact;90- evidence unavailable or too noisy to support a claim; and91- non-blocking opportunities as follow-ups.9293Use a metric table only when multiple measurements benefit from comparison. Do94not claim a full audit when only one trace, page, viewport, or lab environment95was tested.