webperf-loading
WebPerf: Loading Performance
JavaScript snippets for measuring web performance in Chrome DevTools. Execute with mcp__chrome-devtools__evaluate_script, capture output with mcp__chrome-devtools__get_console_message.
Scripts
scripts/Back-Forward-Cache.js— Back/Forward Cache (bfcache)scripts/CSS-Media-Queries-Analysis.js— CSS Media Queries Analysisscripts/Cache-Strategy-Analysis.js— Cache Strategy Analysisscripts/Client-Side-Redirect-Detection.js— Client-Side Redirect Detectionscripts/Content-Visibility.js— Content Visibilityscripts/Critical-CSS-Detection.js— Critical CSS Detectionscripts/Event-Processing-Time.js— Event Processing Timescripts/FCP.js— First Contentful Paint (FCP)scripts/Find-Above-The-Fold-Lazy-Loaded-Images.js— Find Above The Fold Lazy Loaded Imagesscripts/Find-Images-With-Lazy-and-Fetchpriority.js— Find Images With Loading Lazy and Fetchpriorityscripts/Find-non-Lazy-Loaded-Images-outside-of-the-viewport.js— Find non Lazy Loaded Images outside of the viewportscripts/Find-render-blocking-resources.js— Find render-blocking resourcesscripts/First-And-Third-Party-Script-Info.js— First And Third Party Script Infoscripts/First-And-Third-Party-Script-Timings.js— First And Third Party Script Timingsscripts/Fonts-Preloaded-Loaded-and-used-above-the-fold.js— Fonts Preloaded, Loaded, and Used Above The Foldscripts/Inline-CSS-Info-and-Size.js— Inline CSS Info and Sizescripts/Inline-Script-Info-and-Size.js— Inline Script Info and Sizescripts/JS-Execution-Time-Breakdown.js— JavaScript Execution Time Breakdownscripts/Prefetch-Resource-Validation.js— Prefetch Resource Validationscripts/Priority-Hints-Audit.js— Priority Hints Auditscripts/Resource-Hints-Validation.js— Resource Hints Validationscripts/Resource-Hints.js— Resource Hintsscripts/SSR-Hydration-Data-Analysis.js— SSR Framework Hydration Data Analysisscripts/Script-Loading.js— Scripts Loadingscripts/Service-Worker-Analysis.js— Service Worker Analysisscripts/TTFB-Resources.js— Time To First Byte: Measure TTFB for all resourcesscripts/TTFB-Sub-Parts.js— Time To First Byte: Measure TTFB sub-partsscripts/TTFB.js— Time To First Byte: Measure the time to first bytescripts/Validate-Preload-Async-Defer-Scripts.js— Validate Preload on Async/Defer Scripts
Common Workflows
Complete Loading Performance Audit
When the user asks for a comprehensive loading analysis or "audit loading performance":
- TTFB.js - Establish baseline server/network performance
- FCP.js - Check initial render timing
- Find-render-blocking-resources.js - Identify what's blocking rendering
- Critical-CSS-Detection.js - Validate CSS strategy
- Script-Loading.js - Audit script loading patterns
- Resource-Hints-Validation.js - Check optimization hints
Server/Backend Performance Investigation
When TTFB is slow or the user asks "why is my server slow":
- TTFB.js - Measure overall TTFB
- TTFB-Sub-Parts.js - Break down into DNS, connection, server time
- Service-Worker-Analysis.js - Check for SW overhead impacting TTFB
- TTFB-Resources.js - Identify slow third-party or API endpoints
Font Loading Optimization
When the user asks about fonts, FOIT, FOUT, or font performance:
- Fonts-Preloaded-Loaded-and-used-above-the-fold.js - Full font audit
- Resource-Hints-Validation.js - Verify font preloads are correct
- Find-render-blocking-resources.js - Check if fonts block rendering
Script Performance Deep Dive
When scripts are suspected to slow down the page:
- Script-Loading.js - Identify blocking scripts and loading strategy
- First-And-Third-Party-Script-Info.js - Separate first vs third-party impact
- First-And-Third-Party-Script-Timings.js - Diagnose slow script connections
- JS-Execution-Time-Breakdown.js - Network vs parse/execution time
- Inline-Script-Info-and-Size.js - Measure inline script overhead
- Validate-Preload-Async-Defer-Scripts.js - Find preload anti-patterns
Resource Hints & Priority Optimization
When the user wants to optimize resource loading priorities:
- Resource-Hints.js - Overview of all hints in use
- Resource-Hints-Validation.js - Verify hints are actually used
- Priority-Hints-Audit.js - Check fetchpriority usage
- Prefetch-Resource-Validation.js - Validate prefetch strategy
- Validate-Preload-Async-Defer-Scripts.js - Find conflicts
CSS Optimization Workflow
When CSS is bloated or blocking rendering:
- Critical-CSS-Detection.js - Check critical CSS strategy
- Inline-CSS-Info-and-Size.js - Measure inline CSS overhead
- CSS-Media-Queries-Analysis.js - Find unused responsive CSS
- Find-render-blocking-resources.js - Identify blocking stylesheets
SSR/Framework Performance
When analyzing Next.js, Nuxt, Remix, or other SSR frameworks:
- SSR-Hydration-Data-Analysis.js - Analyze hydration data size
- Script-Loading.js - Check framework script loading patterns
- JS-Execution-Time-Breakdown.js - Measure hydration execution cost
- Content-Visibility.js - Check if content-visibility is used for optimization
Decision Tree
Use this decision tree to automatically run follow-up snippets based on results:
After TTFB.js
- If TTFB > 600ms → Run TTFB-Sub-Parts.js to diagnose where time is spent
- If Service Worker detected → Run Service-Worker-Analysis.js to check for SW overhead
- If TTFB varies significantly across resources → Run TTFB-Resources.js
After FCP.js
- If FCP > 1.8s → Run:
- Find-render-blocking-resources.js (CSS/JS blocking)
- Critical-CSS-Detection.js (CSS strategy)
- Script-Loading.js (blocking scripts)
- If FCP is good but user complains about perceived slowness → Check LCP with webperf-core-web-vitals skill
After Find-render-blocking-resources.js
- If blocking stylesheets found → Run Critical-CSS-Detection.js
- If blocking scripts found → Run:
- Script-Loading.js (loading strategy)
- Validate-Preload-Async-Defer-Scripts.js (check for anti-patterns)
- If fonts blocking → Run Fonts-Preloaded-Loaded-and-used-above-the-fold.js
After Script-Loading.js
- If many blocking/parser-blocking scripts → Run:
- JS-Execution-Time-Breakdown.js (measure execution cost)
- First-And-Third-Party-Script-Info.js (identify third-party culprits)
- If third-party scripts detected → Run First-And-Third-Party-Script-Timings.js
- If large inline scripts → Run Inline-Script-Info-and-Size.js
After Resource-Hints-Validation.js
- If unused preloads found → Recommend removing them
- If missing preloads for critical resources → Run:
- Fonts-Preloaded-Loaded-and-used-above-the-fold.js (fonts)
- Priority-Hints-Audit.js (LCP candidate)
- If preloads on async/defer scripts → Run Validate-Preload-Async-Defer-Scripts.js
After Service-Worker-Analysis.js
- If SW overhead > 100ms → Recommend Navigation Preload API
- If SW caching many resources → Run TTFB-Resources.js to verify cache hits
- If SW not detected but site is SPA/PWA → Recommend implementing SW
After Fonts-Preloaded-Loaded-and-used-above-the-fold.js
- If fonts preloaded but not used above-the-fold → Recommend removing preloads
- If fonts used but not preloaded → Recommend adding preload
- If many font variants loaded → Suggest subsetting or reducing variants
After First-And-Third-Party-Script-Info.js
- If many third-party scripts (>5) → Run:
- First-And-Third-Party-Script-Timings.js (detailed timing)
- JS-Execution-Time-Breakdown.js (execution impact)
- If third-party scripts are slow → Recommend async/defer or removal
After SSR-Hydration-Data-Analysis.js
- If hydration data > 100KB → Recommend optimization strategies
- If multiple hydration scripts → Investigate framework configuration
- If large inline hydration data → Consider streaming or chunking
After Priority-Hints-Audit.js
- If LCP candidate lacks fetchpriority="high" → Recommend adding it
- If conflicting priorities (preload + low) → Recommend resolving conflict
- If fetchpriority on non-critical resources → Review priority strategy
After Prefetch-Resource-Validation.js
- If >10 prefetch hints → Recommend reducing to critical resources
- If individual prefetch > 500KB → Question necessity
- If total prefetch > 2MB → Flag as mobile bandwidth concern
After Critical-CSS-Detection.js
- If render-blocking CSS > 14KB → Recommend inlining critical CSS
- If no inline CSS but has blocking stylesheets → Suggest critical CSS extraction
- If CSS > 50KB total → Run CSS-Media-Queries-Analysis.js to find savings
After Back-Forward-Cache.js
- If bfcache blocked → Provide specific remediation based on blocking reasons
- If bfcache eligible → Confirm optimization is working
After Client-Side-Redirect-Detection.js
- If client-side redirects detected → Recommend server-side redirects
- If redirect chain found → Suggest eliminating intermediate hops
References
references/snippets.md— Descriptions and thresholds for each scriptreferences/schema.md— Return value schema for interpreting script output
More from nucliweb/webperf-snippets
webperf-core-web-vitals
Intelligent Core Web Vitals analysis with automated workflows and decision trees. Measures LCP, CLS, INP with guided debugging that automatically determines follow-up analysis based on results. Includes workflows for LCP deep dive (5 phases), CLS investigation (loading vs interaction), INP debugging (latency breakdown + attribution), and cross-skill integration with loading, interaction, and media skills. Use when the user asks about Core Web Vitals, LCP optimization, layout shifts, or interaction responsiveness. Compatible with Chrome DevTools MCP.
128webperf
Web performance measurement and debugging toolkit. Use when the user asks about web performance, wants to audit a page, or says "analyze performance", "debug lcp", "check ttfb", "measure core web vitals", "audit images", or similar.
116webperf-media
Intelligent media optimization with automated workflows for images, videos, and SVGs. Includes decision trees that detect LCP images (triggers format/lazy-loading/priority analysis), identify layout shift risks (missing dimensions), and flag lazy loading issues (above-fold lazy or below-fold eager). Features workflows for complete media audit, LCP image investigation, video performance (poster optimization), and SVG embedded bitmap detection. Cross-skill integration with Core Web Vitals (LCP/CLS impact) and Loading (priority hints, resource preloading). Provides performance budgets and format recommendations based on content type. Use when the user asks about image optimization, LCP is an image/video, layout shifts from media, or media loading strategy. Compatible with Chrome DevTools MCP.
113webperf-resources
Intelligent network quality analysis with adaptive loading strategies. Detects connection type (2g/3g/4g), bandwidth, RTT, and save-data mode, then automatically triggers appropriate optimization workflows. Includes decision trees that recommend image compression for slow connections, critical CSS inlining for high RTT, and save-data optimizations (disable autoplay, reduce quality). Features connection-aware performance budgets (500KB for 2g, 1.5MB for 3g, 3MB for 4g+) and adaptive loading implementation guides. Cross-skill integration with Loading (TTFB impact), Media (responsive images), and Core Web Vitals (connection impact on LCP/INP). Use when the user asks about slow connections, mobile optimization, save-data support, or adaptive loading strategies. Compatible with Chrome DevTools MCP.
111webperf-interaction
Intelligent interaction performance analysis with automated workflows for INP debugging, scroll jank investigation, and main thread blocking. Includes decision trees that automatically run script attribution when long frames detected, break down input latency phases, and correlate layout shifts with interactions. Features workflows for complete interaction audit, third-party script impact analysis, and animation performance debugging. Cross-skill integration with Core Web Vitals (INP/CLS correlation) and Loading (script execution analysis). Use when the user asks about slow interactions, janky scrolling, unresponsive pages, or INP optimization. Compatible with Chrome DevTools MCP.
109