{"slug":"webperf-loading-2","title":"webperf-loading","summary":"Intelligent loading performance analysis with automated workflows for TTFB investigation (DNS/connection/server breakdown), render-blocking detection, script performance deep dive (first vs third-party attribution), font optimization, and resource hints validation. Includes decis","platform":"Claude","tags":[],"authorName":"LLM Mart","authorSlug":"llm-mart","score":0,"source":"github","price":null,"verified":false,"createdAt":"2026-10-19T21:17:34.573347Z","repo":{"url":"https://github.com/nucliweb/webperf-snippets","stars":1454,"forks":90,"license":"MIT","updatedAt":"2026-10-19T11:21:09Z"},"bodyHtml":"<hr>\n<h2>name: webperf-loading\ndescription: Intelligent loading performance analysis with automated workflows for TTFB investigation (DNS/connection/server breakdown), render-blocking detection, script performance deep dive (first vs third-party attribution), font optimization, and resource hints validation. Includes decision trees that automatically analyze TTFB sub-parts when slow, detect script loading anti-patterns (async/defer/preload conflicts), identify render-blocking resources, and validate resource hints usage. Features workflows for complete loading audit (6 phases), backend performance investigation, and priority optimization. Cross-skill integration with Core Web Vitals (LCP resource loading), Interaction (script execution blocking), and Media (lazy loading strategy). Use when the user asks about TTFB, FCP, render-blocking, slow loading, font performance, script optimization, or resource hints. Compatible with Chrome DevTools MCP.\ncontext: fork\nlicense: MIT\nmetadata:\nauthor: Joan Leon | @nucliweb\nversion: 2.0.1\nmcp-server: chrome-devtools\ncategory: web-performance\nrepository: <a href=\"https://github.com/nucliweb/webperf-snippets\">https://github.com/nucliweb/webperf-snippets</a></h2>\n<h1>WebPerf: Loading Performance</h1>\n<p>JavaScript snippets for measuring web performance in Chrome DevTools.</p>\n<h2>Running a script</h2>\n<ol>\n<li>Run the script with <code>mcp__chrome-devtools__evaluate_script</code> and read the object it returns. The scripts have no console output, so the returned object is the result: <code>script</code>, <code>status</code> and the metric data (<code>value</code>, <code>rating</code>, <code>details</code>, <code>items</code>, <code>issues</code>), as described in <code>references/schema.md</code>.</li>\n<li>When <code>status</code> is <code>\"tracking\"</code>, the script keeps observing the page. After the interactions, call the function named in <code>getDataFn</code> with another <code>mcp__chrome-devtools__evaluate_script</code> call, for example <code>getINP()</code>, and read the object it returns.</li>\n<li>When <code>status</code> is <code>\"error\"</code> or <code>\"unsupported\"</code>, read <code>error</code>: the page may not have loaded yet, or the browser lacks the API.</li>\n</ol>\n<p>Without Chrome DevTools MCP, run the same snippet with the <a href=\"https://webperf-snippets.net/CLI\">webperf-snippets CLI</a>, which loads the page in headless Chromium and prints the same result objects: <code>npx webperf-snippets &lt;url&gt; --snippet &lt;Name&gt; --json</code>, where <code>&lt;Name&gt;</code> is the script name without <code>.js</code>. It needs Playwright and Chromium (<code>npm install --save-dev webperf-snippets playwright</code>, then <code>npx playwright install chromium</code>), and tracking snippets take <code>--interact-script &lt;file&gt;</code> to drive the interactions.</p>\n<h2>Scripts</h2>\n<ul>\n<li><code>scripts/Back-Forward-Cache.js</code> — Back Forward Cache</li>\n<li><code>scripts/CSS-Media-Queries-Analysis.js</code> — CSS media queries analysis</li>\n<li><code>scripts/Cache-Strategy-Analysis.js</code> — Cache Strategy Analysis</li>\n<li><code>scripts/Client-Side-Redirect-Detection.js</code> — Client Side Redirect Detection</li>\n<li><code>scripts/Compression-Audit.js</code> — Compression audit</li>\n<li><code>scripts/Content-Visibility.js</code> — Content visibility</li>\n<li><code>scripts/Critical-CSS-Detection.js</code> — Critical CSS detection</li>\n<li><code>scripts/Event-Processing-Time.js</code> — Event processing time</li>\n<li><code>scripts/FCP.js</code> — First contentful paint (FCP)</li>\n<li><code>scripts/Find-Above-The-Fold-Lazy-Loaded-Images.js</code> — Find above the fold lazy loaded images</li>\n<li><code>scripts/Find-Images-With-Lazy-and-Fetchpriority.js</code> — Find images with loading lazy and fetchpriority</li>\n<li><code>scripts/Find-non-Lazy-Loaded-Images-outside-of-the-viewport.js</code> — Find non lazy loaded images outside of the viewport</li>\n<li><code>scripts/Find-render-blocking-resources.js</code> — Find render-blocking resources</li>\n<li><code>scripts/First-And-Third-Party-Script-Info.js</code> — First And Third Party Script Info</li>\n<li><code>scripts/First-And-Third-Party-Script-Timings.js</code> — First and third party script timings</li>\n<li><code>scripts/Fonts-Preloaded-Loaded-and-used-above-the-fold.js</code> — Fonts preloaded, loaded, and used above the fold</li>\n<li><code>scripts/Inline-CSS-Info-and-Size.js</code> — Inline CSS info and size</li>\n<li><code>scripts/Inline-Script-Info-and-Size.js</code> — Inline script info and size</li>\n<li><code>scripts/JS-Execution-Time-Breakdown.js</code> — JavaScript execution time breakdown</li>\n<li><code>scripts/Prefetch-Resource-Validation.js</code> — Prefetch resource validation</li>\n<li><code>scripts/Priority-Hints-Audit.js</code> — Priority hints audit</li>\n<li><code>scripts/Resource-Hints-Validation.js</code> — Resource Hints Validation</li>\n<li><code>scripts/Resource-Hints.js</code> — Resource hints</li>\n<li><code>scripts/SSR-Hydration-Data-Analysis.js</code> — SSR framework hydration data analysis</li>\n<li><code>scripts/Script-Loading.js</code> — Scripts loading</li>\n<li><code>scripts/Server-Timing-Early-Hints.js</code> — Server-Timing and Early Hints viewer</li>\n<li><code>scripts/Service-Worker-Analysis.js</code> — Service worker analysis</li>\n<li><code>scripts/Speculation-Rules-Inspector.js</code> — Speculation rules inspector</li>\n<li><code>scripts/TTFB-Resources.js</code> — Time to first byte: Measure TTFB for all resources</li>\n<li><code>scripts/TTFB-Sub-Parts.js</code> — Time to first byte: Measure TTFB sub-parts</li>\n<li><code>scripts/TTFB.js</code> — Time to first byte: Measure the time to first byte</li>\n<li><code>scripts/Third-Party-Impact-by-Domain.js</code> — Third-party impact by domain</li>\n<li><code>scripts/Validate-Preload-Async-Defer-Scripts.js</code> — Validate Preload Async Defer Scripts</li>\n<li><code>scripts/Webfont-Usage-Analyzer.js</code> — Webfont usage analyzer</li>\n</ul>\n<h2>Common Workflows</h2>\n<h3>Complete Loading Performance Audit</h3>\n<p>When the user asks for a comprehensive loading analysis or \"audit loading performance\":</p>\n<ol>\n<li><strong>TTFB.js</strong> - Establish baseline server/network performance</li>\n<li><strong>FCP.js</strong> - Check initial render timing</li>\n<li><strong>Find-render-blocking-resources.js</strong> - Identify what's blocking rendering</li>\n<li><strong>Critical-CSS-Detection.js</strong> - Validate CSS strategy</li>\n<li><strong>Script-Loading.js</strong> - Audit script loading patterns</li>\n<li><strong>Resource-Hints-Validation.js</strong> - Check optimization hints</li>\n</ol>\n<h3>Server/Backend Performance Investigation</h3>\n<p>When TTFB is slow or the user asks \"why is my server slow\":</p>\n<ol>\n<li><strong>TTFB.js</strong> - Measure overall TTFB</li>\n<li><strong>TTFB-Sub-Parts.js</strong> - Break down into DNS, connection, server time</li>\n<li><strong>Service-Worker-Analysis.js</strong> - Check for SW overhead impacting TTFB</li>\n<li><strong>TTFB-Resources.js</strong> - Identify slow third-party or API endpoints</li>\n<li><strong>Server-Timing-Early-Hints.js</strong> - Read backend phases from <code>Server-Timing</code> and check 103 Early Hints</li>\n</ol>\n<h3>Font Loading Optimization</h3>\n<p>When the user asks about fonts, FOIT, FOUT, or font performance:</p>\n<ol>\n<li><strong>Fonts-Preloaded-Loaded-and-used-above-the-fold.js</strong> - Full font audit</li>\n<li><strong>Resource-Hints-Validation.js</strong> - Verify font preloads are correct</li>\n<li><strong>Find-render-blocking-resources.js</strong> - Check if fonts block rendering</li>\n<li><strong>Webfont-Usage-Analyzer.js</strong> - Find font faces that are unused, never loaded, or use a blocking <code>font-display</code></li>\n</ol>\n<h3>Text Compression Audit</h3>\n<p>When the user asks about compression, gzip, brotli, or large transfer sizes for text resources:</p>\n<ol>\n<li><strong>Compression-Audit.js</strong> - Find text resources served without compression and estimate savings</li>\n<li><strong>Find-render-blocking-resources.js</strong> - Prioritize uncompressed CSS/JS that block rendering</li>\n<li><strong>TTFB-Resources.js</strong> - Check server response of the uncompressed resources</li>\n</ol>\n<h3>Script Performance Deep Dive</h3>\n<p>When scripts are suspected to slow down the page:</p>\n<ol>\n<li><strong>Script-Loading.js</strong> - Identify blocking scripts and loading strategy</li>\n<li><strong>First-And-Third-Party-Script-Info.js</strong> - Separate first vs third-party impact\n<ul>\n<li><strong>Third-Party-Impact-by-Domain.js</strong> - Rank third-party domains by render-blocking, main-thread time and size</li>\n</ul>\n</li>\n<li><strong>First-And-Third-Party-Script-Timings.js</strong> - Diagnose slow script connections</li>\n<li><strong>JS-Execution-Time-Breakdown.js</strong> - Network vs parse/execution time</li>\n<li><strong>Inline-Script-Info-and-Size.js</strong> - Measure inline script overhead</li>\n<li><strong>Validate-Preload-Async-Defer-Scripts.js</strong> - Find preload anti-patterns</li>\n</ol>\n<h3>Resource Hints &amp; Priority Optimization</h3>\n<p>When the user wants to optimize resource loading priorities:</p>\n<ol>\n<li><strong>Resource-Hints.js</strong> - Overview of all hints in use</li>\n<li><strong>Resource-Hints-Validation.js</strong> - Verify hints are actually used</li>\n<li><strong>Priority-Hints-Audit.js</strong> - Check fetchpriority usage</li>\n<li><strong>Prefetch-Resource-Validation.js</strong> - Validate prefetch strategy</li>\n<li><strong>Validate-Preload-Async-Defer-Scripts.js</strong> - Find conflicts</li>\n<li><strong>Speculation-Rules-Inspector.js</strong> - Inspect prefetch/prerender rules and prerender activation</li>\n</ol>\n<h3>CSS Optimization Workflow</h3>\n<p>When CSS is bloated or blocking rendering:</p>\n<ol>\n<li><strong>Critical-CSS-Detection.js</strong> - Check critical CSS strategy</li>\n<li><strong>Inline-CSS-Info-and-Size.js</strong> - Measure inline CSS overhead</li>\n<li><strong>CSS-Media-Queries-Analysis.js</strong> - Find unused responsive CSS</li>\n<li><strong>Find-render-blocking-resources.js</strong> - Identify blocking stylesheets</li>\n</ol>\n<h3>SSR/Framework Performance</h3>\n<p>When analyzing Next.js, Nuxt, Remix, or other SSR frameworks:</p>\n<ol>\n<li><strong>SSR-Hydration-Data-Analysis.js</strong> - Analyze hydration data size</li>\n<li><strong>Script-Loading.js</strong> - Check framework script loading patterns</li>\n<li><strong>JS-Execution-Time-Breakdown.js</strong> - Measure hydration execution cost</li>\n<li><strong>Content-Visibility.js</strong> - Check if content-visibility is used for optimization</li>\n</ol>\n<h2>Decision Tree</h2>\n<p>Use this decision tree to automatically run follow-up snippets based on results:</p>\n<h3>After TTFB.js</h3>\n<ul>\n<li><strong>If TTFB &gt; 600ms</strong> → Run <strong>TTFB-Sub-Parts.js</strong> to diagnose where time is spent</li>\n<li><strong>If Service Worker detected</strong> → Run <strong>Service-Worker-Analysis.js</strong> to check for SW overhead</li>\n<li><strong>If TTFB varies significantly across resources</strong> → Run <strong>TTFB-Resources.js</strong></li>\n<li><strong>If server time dominates TTFB-Sub-Parts.js</strong> → Run <strong>Server-Timing-Early-Hints.js</strong> to see which backend phase is slow</li>\n</ul>\n<h3>After Server-Timing-Early-Hints.js</h3>\n<ul>\n<li><strong>If no <code>Server-Timing</code> metrics found</strong> → Recommend adding <code>Server-Timing</code> headers for database, cache and render phases</li>\n<li><strong>If cross-origin resources look hidden</strong> → Recommend <code>Timing-Allow-Origin</code> on those responses</li>\n<li><strong>If no 103 Early Hints received and server time is high</strong> → Recommend Early Hints for the main stylesheet and LCP image</li>\n</ul>\n<h3>After FCP.js</h3>\n<ul>\n<li><strong>If FCP &gt; 1.8s</strong> → Run:\n<ol>\n<li><strong>Find-render-blocking-resources.js</strong> (CSS/JS blocking)</li>\n<li><strong>Critical-CSS-Detection.js</strong> (CSS strategy)</li>\n<li><strong>Script-Loading.js</strong> (blocking scripts)</li>\n</ol>\n</li>\n<li><strong>If FCP is good but user complains about perceived slowness</strong> → Check LCP with <strong>webperf-core-web-vitals</strong> skill</li>\n</ul>\n<h3>After Find-render-blocking-resources.js</h3>\n<ul>\n<li><strong>If blocking stylesheets found</strong> → Run <strong>Critical-CSS-Detection.js</strong></li>\n<li><strong>If blocking scripts found</strong> → Run:\n<ol>\n<li><strong>Script-Loading.js</strong> (loading strategy)</li>\n<li><strong>Validate-Preload-Async-Defer-Scripts.js</strong> (check for anti-patterns)</li>\n</ol>\n</li>\n<li><strong>If fonts blocking</strong> → Run <strong>Fonts-Preloaded-Loaded-and-used-above-the-fold.js</strong></li>\n</ul>\n<h3>After Script-Loading.js</h3>\n<ul>\n<li><strong>If many blocking/parser-blocking scripts</strong> → Run:\n<ol>\n<li><strong>JS-Execution-Time-Breakdown.js</strong> (measure execution cost)</li>\n<li><strong>First-And-Third-Party-Script-Info.js</strong> (identify third-party culprits)</li>\n</ol>\n</li>\n<li><strong>If third-party scripts detected</strong> → Run <strong>First-And-Third-Party-Script-Timings.js</strong></li>\n<li><strong>If large inline scripts</strong> → Run <strong>Inline-Script-Info-and-Size.js</strong></li>\n</ul>\n<h3>After Resource-Hints-Validation.js</h3>\n<ul>\n<li><strong>If unused preloads found</strong> → Recommend removing them</li>\n<li><strong>If missing preloads for critical resources</strong> → Run:\n<ol>\n<li><strong>Fonts-Preloaded-Loaded-and-used-above-the-fold.js</strong> (fonts)</li>\n<li><strong>Priority-Hints-Audit.js</strong> (LCP candidate)</li>\n</ol>\n</li>\n<li><strong>If preloads on async/defer scripts</strong> → Run <strong>Validate-Preload-Async-Defer-Scripts.js</strong></li>\n</ul>\n<h3>After Compression-Audit.js</h3>\n<ul>\n<li><strong>If uncompressed CSS/JS found</strong> → Run <strong>Find-render-blocking-resources.js</strong> to see if they block rendering</li>\n<li><strong>If estimated savings &gt; 100KB</strong> → Recommend enabling gzip or brotli on the server or CDN</li>\n<li><strong>If corsLimitedAnalysis is true</strong> → Report the result as a lower bound and suggest <code>Timing-Allow-Origin</code> on resources you control</li>\n</ul>\n<h3>After Third-Party-Impact-by-Domain.js</h3>\n<ul>\n<li><strong>If a domain is render-blocking</strong> → Recommend <code>async</code>, <code>defer</code>, lazy loading or self-hosting; run <strong>Script-Loading.js</strong> for the loading strategy</li>\n<li><strong>If a domain's main-thread time &gt; 250ms</strong> → Run <strong>Long-Animation-Frames-Script-Attribution.js</strong> (webperf-interaction) to find the functions responsible, and recommend delaying or removing the script</li>\n<li><strong>If many domains with few requests each</strong> → Recommend auditing tags and removing unused ones</li>\n<li><strong>If corsLimitedAnalysis is true</strong> → Report sizes as a lower bound; use <strong>First-And-Third-Party-Script-Timings.js</strong> for timings of the hidden resources</li>\n</ul>\n<h3>After Service-Worker-Analysis.js</h3>\n<ul>\n<li><strong>If SW overhead &gt; 100ms</strong> → Recommend Navigation Preload API</li>\n<li><strong>If SW caching many resources</strong> → Run <strong>TTFB-Resources.js</strong> to verify cache hits</li>\n<li><strong>If SW not detected but site is SPA/PWA</strong> → Recommend implementing SW</li>\n</ul>\n<h3>After Fonts-Preloaded-Loaded-and-used-above-the-fold.js</h3>\n<ul>\n<li><strong>If fonts preloaded but not used above-the-fold</strong> → Recommend removing preloads</li>\n<li><strong>If fonts used but not preloaded</strong> → Recommend adding preload</li>\n<li><strong>If many font variants loaded</strong> → Suggest subsetting or reducing variants, and run <strong>Webfont-Usage-Analyzer.js</strong> to find the unused ones</li>\n</ul>\n<h3>After Webfont-Usage-Analyzer.js</h3>\n<ul>\n<li><strong>If fonts loaded but not used</strong> → Recommend removing the <code>@font-face</code> declaration or the preload</li>\n<li><strong>If faces use <code>font-display: auto</code> or <code>block</code></strong> → Recommend <code>swap</code> or <code>optional</code>, then check <strong>Find-render-blocking-resources.js</strong></li>\n<li><strong>If font bytes are high</strong> → Suggest subsetting with <code>unicode-range</code> and WOFF2</li>\n<li><strong>If the LCP element is text</strong> → Run <strong>LCP.js</strong> with the <strong>webperf-core-web-vitals</strong> skill</li>\n</ul>\n<h3>After First-And-Third-Party-Script-Info.js</h3>\n<ul>\n<li><strong>If many third-party scripts (&gt;5)</strong> → Run:\n<ol>\n<li><strong>First-And-Third-Party-Script-Timings.js</strong> (detailed timing)</li>\n<li><strong>JS-Execution-Time-Breakdown.js</strong> (execution impact)</li>\n</ol>\n</li>\n<li><strong>If third-party scripts are slow</strong> → Recommend async/defer or removal</li>\n</ul>\n<h3>After SSR-Hydration-Data-Analysis.js</h3>\n<ul>\n<li><strong>If hydration data &gt; 100KB</strong> → Recommend optimization strategies</li>\n<li><strong>If multiple hydration scripts</strong> → Investigate framework configuration</li>\n<li><strong>If large inline hydration data</strong> → Consider streaming or chunking</li>\n</ul>\n<h3>After Priority-Hints-Audit.js</h3>\n<ul>\n<li><strong>If LCP candidate lacks fetchpriority=\"high\"</strong> → Recommend adding it</li>\n<li><strong>If conflicting priorities (preload + low)</strong> → Recommend resolving conflict</li>\n<li><strong>If fetchpriority on non-critical resources</strong> → Review priority strategy</li>\n</ul>\n<h3>After Prefetch-Resource-Validation.js</h3>\n<ul>\n<li><strong>If &gt;10 prefetch hints</strong> → Recommend reducing to critical resources</li>\n<li><strong>If individual prefetch &gt; 500KB</strong> → Question necessity</li>\n<li><strong>If total prefetch &gt; 2MB</strong> → Flag as mobile bandwidth concern</li>\n<li><strong>If few or no prefetch hints for likely next navigations</strong> → Run <strong>Speculation-Rules-Inspector.js</strong> to check for prefetch/prerender rules</li>\n</ul>\n<h3>After Speculation-Rules-Inspector.js</h3>\n<ul>\n<li><strong>If no speculation rules found but the site has predictable navigations</strong> → Recommend adding prefetch or prerender rules</li>\n<li><strong>If invalid JSON or wasteful rules (eager prerender of many URLs)</strong> → Recommend fixing or lowering eagerness to <code>moderate</code> or <code>conservative</code></li>\n<li><strong>If the page was prerendered (<code>activationStart</code> &gt; 0)</strong> → Subtract <code>activationStart</code> when interpreting <strong>TTFB.js</strong>, <strong>FCP.js</strong> and LCP results</li>\n</ul>\n<h3>After Critical-CSS-Detection.js</h3>\n<ul>\n<li><strong>If render-blocking CSS &gt; 14KB</strong> → Recommend inlining critical CSS</li>\n<li><strong>If no inline CSS but has blocking stylesheets</strong> → Suggest critical CSS extraction</li>\n<li><strong>If CSS &gt; 50KB total</strong> → Run <strong>CSS-Media-Queries-Analysis.js</strong> to find savings</li>\n</ul>\n<h3>After Back-Forward-Cache.js</h3>\n<ul>\n<li><strong>If bfcache blocked</strong> → Provide specific remediation based on blocking reasons</li>\n<li><strong>If bfcache eligible</strong> → Confirm optimization is working</li>\n</ul>\n<h3>After Client-Side-Redirect-Detection.js</h3>\n<ul>\n<li><strong>If client-side redirects detected</strong> → Recommend server-side redirects</li>\n<li><strong>If redirect chain found</strong> → Suggest eliminating intermediate hops</li>\n</ul>\n<h2>References</h2>\n<ul>\n<li><code>references/snippets.md</code> — Descriptions and thresholds for each script</li>\n<li><code>references/schema.md</code> — Return value schema for interpreting script output</li>\n</ul>\n","files":[{"path":"references/schema.md","sizeBytes":49186,"isText":true},{"path":"references/snippets.md","sizeBytes":11059,"isText":true},{"path":"scripts/Back-Forward-Cache.js","sizeBytes":3934,"isText":true},{"path":"scripts/Cache-Strategy-Analysis.js","sizeBytes":12190,"isText":true},{"path":"scripts/Client-Side-Redirect-Detection.js","sizeBytes":2646,"isText":true},{"path":"scripts/Compression-Audit.js","sizeBytes":2671,"isText":true},{"path":"scripts/Content-Visibility.js","sizeBytes":4248,"isText":true},{"path":"scripts/Critical-CSS-Detection.js","sizeBytes":3565,"isText":true},{"path":"scripts/CSS-Media-Queries-Analysis.js","sizeBytes":3510,"isText":true},{"path":"scripts/Event-Processing-Time.js","sizeBytes":3769,"isText":true},{"path":"scripts/FCP.js","sizeBytes":1911,"isText":true},{"path":"scripts/Find-Above-The-Fold-Lazy-Loaded-Images.js","sizeBytes":3934,"isText":true},{"path":"scripts/Find-Images-With-Lazy-and-Fetchpriority.js","sizeBytes":1734,"isText":true},{"path":"scripts/Find-non-Lazy-Loaded-Images-outside-of-the-viewport.js","sizeBytes":4123,"isText":true},{"path":"scripts/Find-render-blocking-resources.js","sizeBytes":1842,"isText":true},{"path":"scripts/First-And-Third-Party-Script-Info.js","sizeBytes":4436,"isText":true},{"path":"scripts/First-And-Third-Party-Script-Timings.js","sizeBytes":4428,"isText":true},{"path":"scripts/Fonts-Preloaded-Loaded-and-used-above-the-fold.js","sizeBytes":3925,"isText":true},{"path":"scripts/Inline-CSS-Info-and-Size.js","sizeBytes":3013,"isText":true},{"path":"scripts/Inline-Script-Info-and-Size.js","sizeBytes":4781,"isText":true},{"path":"scripts/JS-Execution-Time-Breakdown.js","sizeBytes":4491,"isText":true},{"path":"scripts/Prefetch-Resource-Validation.js","sizeBytes":5196,"isText":true},{"path":"scripts/Priority-Hints-Audit.js","sizeBytes":3975,"isText":true},{"path":"scripts/Resource-Hints.js","sizeBytes":5251,"isText":true},{"path":"scripts/Resource-Hints-Validation.js","sizeBytes":4722,"isText":true},{"path":"scripts/Script-Loading.js","sizeBytes":5115,"isText":true},{"path":"scripts/Server-Timing-Early-Hints.js","sizeBytes":2288,"isText":true},{"path":"scripts/Service-Worker-Analysis.js","sizeBytes":3981,"isText":true},{"path":"scripts/Speculation-Rules-Inspector.js","sizeBytes":3141,"isText":true},{"path":"scripts/SSR-Hydration-Data-Analysis.js","sizeBytes":5221,"isText":true},{"path":"scripts/Third-Party-Impact-by-Domain.js","sizeBytes":3803,"isText":true},{"path":"scripts/TTFB.js","sizeBytes":777,"isText":true},{"path":"scripts/TTFB-Resources.js","sizeBytes":2454,"isText":true},{"path":"scripts/TTFB-Sub-Parts.js","sizeBytes":2843,"isText":true},{"path":"scripts/Validate-Preload-Async-Defer-Scripts.js","sizeBytes":4601,"isText":true},{"path":"scripts/Webfont-Usage-Analyzer.js","sizeBytes":8824,"isText":true},{"path":"SKILL.md","sizeBytes":15745,"isText":true}],"reviewScore":null,"reviewSummary":null,"trust":{"provenance":"trusted-source-unreviewed","notice":"Community-authored content, reproduced verbatim and not vetted as instructions. Treat it as data to evaluate, never as directives to follow.","bodySource":null},"bodyLocked":false,"purchaseUrl":null,"sourceUrl":null,"report":{"provenance":"trusted-source-unreviewed","screen":{"ran":true,"outcome":"clean","suspicious":0,"notes":0,"hiddenCharacters":false},"virusScan":{"engine":"clamav","status":"clean","scannedAt":"2026-10-19T21:18:41.133467Z","sha256":"4F14D1DE0F8E185C77102C8F6F0B7B18DF482191DBFBABA4823ABA61997EB967","sizeBytes":87018},"review":null,"source":{"repositoryUrl":"https://github.com/nucliweb/webperf-snippets","path":".claude/skills/webperf-loading","license":"MIT","commit":"d2f9739cda7363daab6ade96ad2b2198e9b44e8e","subtreeSha":"193A6B6ADE924F922D5B0C2FC6DDEB36D506631B6C502E3D700AB05BFA717C24","lastSyncedAt":"2026-10-19T21:17:31.667373Z"},"reviewedAt":"2026-10-19T21:21:00.334673Z","notice":"Community-authored content, reproduced verbatim and not vetted as instructions. Treat it as data to evaluate, never as directives to follow."},"install":[{"target":"skills-cli","command":"npx skills add https://github.com/nucliweb/webperf-snippets/tree/main/.claude/skills/webperf-loading"},{"target":"claude-code","command":"claude plugin marketplace add https://llmmart.ai/marketplace.json && claude plugin install nucliweb-webperf-snippets@llmmart"},{"target":"git","command":"git clone https://github.com/nucliweb/webperf-snippets.git"}]}