webperf-loading
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.
Install / Use
npx skills add nucliweb/webperf-snippets --skill webperf-loadingInstalls into whichever agent you are using.
SKILL.md
Installable skill definition
Quality Score
Category
AutomationSupported Platforms
Tags
Our assessment of webperf-loading
webperf-loading scores 86/100 on our quality scale, 1902nd of 2,916 Automation skills we index.
Its SKILL.md is 15 KB long, well organised into 33 sections and no code examples: a thorough specification that gives an agent plenty to work with.
With 1,453 GitHub stars, it is one of the more widely adopted skills in the catalogue.
Maintenance, license and trust
- The repository was last updated 6 days ago, so webperf-loading is actively maintained.
- It is released under the MIT license, a permissive license that allows use, modification and commercial use with attribution.
- Its trust signals score 100/100, with no cautions. These come from repository metadata, not a code audit — read the skill file before letting an agent act on it.
webperf-loading compared with similar skills
All 4 of these similar skills score higher than webperf-loading; compare them before choosing.
| Skill | Score | Stars | Updated | Format |
|---|---|---|---|---|
| webperf-loading (this skill)by nucliweb | 86 | 1.5k | 6d ago | SKILL.md |
| Agent-Reachby Panniantong | 100 | 101.9k | today | CLAUDE.md |
| Scraplingby D4Vinci | 100 | 89.6k | 2d ago | MCP Server |
| rufloby ruvnet | 100 | 79.1k | today | MCP Server |
| algorithmic-artby anthropics | 100 | 177.9k | 32d ago | SKILL.md |
Frequently asked questions
- How do I install webperf-loading?
- Run
npx skills add nucliweb/webperf-snippets --skill webperf-loading. The install tabs above show the steps for each supported agent. - Which AI agents does webperf-loading work with?
- It is written for Universal, as a SKILL.md file. Other agents that read the same format can often use it too.
- Is webperf-loading safe to use?
- It is MIT-licensed and scores 100/100 on trust signals. Skills are instructions an agent will follow, so read the file before installing it and do not approve commands you do not understand.
- Is webperf-loading still maintained?
- The repository was last updated 6 days ago, so webperf-loading is actively maintained.
Skill content
View source on GitHubname: webperf-loading description: 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. license: MIT metadata: author: Joan Leon | @nucliweb version: 2.0.1 mcp-server: chrome-devtools category: web-performance repository: https://github.com/nucliweb/webperf-snippets
WebPerf: Loading Performance
JavaScript snippets for measuring web performance in Chrome DevTools.
Running a script
- Run the script with
mcp__chrome-devtools__evaluate_scriptand read the object it returns. The scripts have no console output, so the returned object is the result:script,statusand the metric data (value,rating,details,items,issues), as described inreferences/schema.md. - When
statusis"tracking", the script keeps observing the page. After the interactions, call the function named ingetDataFnwith anothermcp__chrome-devtools__evaluate_scriptcall, for examplegetINP(), and read the object it returns. - When
statusis"error"or"unsupported", readerror: the page may not have loaded yet, or the browser lacks the API.
Without Chrome DevTools MCP, run the same snippet with the webperf-snippets CLI, which loads the page in headless Chromium and prints the same result objects: npx webperf-snippets <url> --snippet <Name> --json, where <Name> is the script name without .js. It needs Playwright and Chromium (npm install --save-dev webperf-snippets playwright, then npx playwright install chromium), and tracking snippets take --interact-script <file> to drive the interactions.
Scripts
scripts/Back-Forward-Cache.js— Back Forward Cachescripts/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/Compression-Audit.js— Compression auditscripts/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/Server-Timing-Early-Hints.js— Server-Timing and Early Hints viewerscripts/Service-Worker-Analysis.js— Service worker analysisscripts/Speculation-Rules-Inspector.js— Speculation rules inspectorscripts/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/Third-Party-Impact-by-Domain.js— Third-party impact by domainscripts/Validate-Preload-Async-Defer-Scripts.js— Validate Preload Async Defer Scriptsscripts/Webfont-Usage-Analyzer.js— Webfont usage analyzer
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
- Server-Timing-Early-Hints.js - Read backend phases from
Server-Timingand check 103 Early Hints
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
- Webfont-Usage-Analyzer.js - Find font faces that are unused, never loaded, or use a blocking
font-display
Text Compression Audit
When the user asks about compression, gzip, brotli, or large transfer sizes for text resources:
- Compression-Audit.js - Find text resources served without compression and estimate savings
- Find-render-blocking-resources.js - Prioritize uncompressed CSS/JS that block rendering
- TTFB-Resources.js - Check server response of the uncompressed resources
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
- Third-Party-Impact-by-Domain.js - Rank third-party domains by render-blocking, main-thread time and size
- 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
- Speculation-Rules-Inspector.js - Inspect prefetch/prerender rules and prerender activation
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
- If server time dominates TTFB-Sub-Parts.js → Run Server-Timing-Early-Hints.js to see which backend phase is slow
After Server-Timing-Early-Hints.js
- If no
Server-Timingmetrics found → Recommend addingServer-Timingheaders for database, cache and render phases - If cross-origin resources look hidden → Recommend
Timing-Allow-Originon those responses - If no 103 Early Hints received and server time is high → Recommend Early Hints for the main stylesheet and LCP image
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 Compression-Audit.js
- If uncompressed CSS/JS found → Run Find-render-blocking-resources.js to see if they block rendering
- If estimated savings > 100KB → Recommend enabling gzip or brotli on the server or CDN
- If corsLimitedAnalysis is true → Report the result as a lower bound and suggest
Timing-Allow-Originon resources you control
After Third-Party-Impact-by-Domain.js
- If a domain is render-blocking → Recommend
async,defer, lazy loading or self-hosting; run Script-Loading.js for the loading strategy - If a domain's main-thread time > 250ms → Run Long-Animation-Frames-Script-Attribution.js (webperf-interaction) to find the functions responsible, and recommend delaying or removing the script
- If many domains with few requests each → Recommend auditing tags and removing unused ones
- If corsLimitedAnalysis is true → Report sizes as a lower bound; use First-And-Third-Party-Script-Timings.js fo
Truncated for display — read the full file on GitHub.
Related Skills
Agent-Reach
101.9kGive your AI agent eyes to see the entire internet. Read & search Twitter, Reddit, YouTube, GitHub, Bilibili, XiaoHongShu — one CLI, zero API fees.
Scrapling
89.6k🕷️ A Web Scraping framework that handles everything from a single request to a full-scale crawl! Don't be shy, join here: https://discord.gg/EMgGbDceNQ and follow here for daily tips and tricks: https://x.com/Scrapling_dev
ruflo
79.1k🌊 The original agent harness. Deploy intelligent multi-player swarms, coordinate autonomous workflows, and build conversational AI systems. Features adaptive memory, self-learning intelligence, federation, vector RAG integration, and native Claude Code / Codex / Hermes and many more Integrated
algorithmic-art
177.9kCreating algorithmic art using p5.js with seeded randomness and interactive parameter exploration. Use this when users request creating art using code, generative art, algorithmic art, flow fields, or particle systems.
Languages
Trust signals
From repository metadata: license, adoption, age and documentation. Not a code audit — see the Safety scan above for what the skill file itself contains.
