webperf-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.
Install / Use
npx skills add nucliweb/webperf-snippets --skill webperf-resourcesInstalls into whichever agent you are using.
SKILL.md
Installable skill definition
Quality Score
Category
AutomationSupported Platforms
Our assessment of webperf-resources
webperf-resources scores 85/100 on our quality scale, 2029th of 2,916 Automation skills we index.
Its SKILL.md is 8.9 KB long, well organised into 14 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-resources 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-resources compared with similar skills
All 4 of these similar skills score higher than webperf-resources; compare them before choosing.
| Skill | Score | Stars | Updated | Format |
|---|---|---|---|---|
| webperf-resources (this skill)by nucliweb | 85 | 1.5k | 6d ago | SKILL.md |
| taste-skillby Leonxlnx | 100 | 102.1k | today | CLAUDE.md |
| Agent-Reachby Panniantong | 100 | 101.9k | today | CLAUDE.md |
| Scraplingby D4Vinci | 100 | 89.6k | 2d ago | MCP Server |
| LocalAIby mudler | 100 | 49.9k | today | MCP Server |
Frequently asked questions
- How do I install webperf-resources?
- Run
npx skills add nucliweb/webperf-snippets --skill webperf-resources. The install tabs above show the steps for each supported agent. - Which AI agents does webperf-resources 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-resources 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-resources still maintained?
- The repository was last updated 6 days ago, so webperf-resources is actively maintained.
Skill content
View source on GitHubname: webperf-resources description: 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. 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: Resources & Network
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/Network-Bandwidth-Connection-Quality.js— Network bandwidth & connection quality
Common Workflows
Network Quality Assessment
When the user asks about network performance, connection quality, or adaptive loading:
- Network-Bandwidth-Connection-Quality.js - Analyze network bandwidth, effective connection type, RTT, downlink, save-data mode
Adaptive Loading Strategy
When implementing adaptive loading or the user asks "how to optimize for slow connections":
- Network-Bandwidth-Connection-Quality.js - Detect connection quality
- Cross-reference with webperf-loading skill:
- TTFB.js (measure server response on slow connections)
- Find-render-blocking-resources.js (identify heavy resources to defer)
- Resource-Hints-Validation.js (optimize preconnect for slow networks)
- Cross-reference with webperf-media skill:
- Image-Element-Audit.js (implement responsive images based on connection)
- Video-Element-Audit.js (adjust video quality based on connection)
Save-Data Mode Detection
When the user asks about save-data or data-saving features:
- Network-Bandwidth-Connection-Quality.js - Check if save-data is enabled
- If save-data is enabled, recommend:
- Reducing image quality
- Disabling autoplay videos
- Deferring non-critical resources
- Using low-res thumbnails
Mobile/Slow Connection Optimization
When the user asks "optimize for mobile" or "slow connection users":
- Network-Bandwidth-Connection-Quality.js - Assess connection type
- Cross-reference with webperf-loading skill:
- TTFB.js (critical for slow connections)
- Find-render-blocking-resources.js (minimize blocking on slow networks)
- Critical-CSS-Detection.js (inline critical CSS to reduce RTT)
- Prefetch-Resource-Validation.js (avoid excessive prefetch on slow connections)
Decision Tree
Use this decision tree to automatically run follow-up snippets based on results:
After Network-Bandwidth-Connection-Quality.js
-
If effectiveType is "slow-2g" or "2g" → Very slow connection, recommend:
- Run webperf-loading:Critical-CSS-Detection.js (inline critical CSS)
- Run webperf-media:Image-Element-Audit.js (implement aggressive lazy loading)
- Run webperf-loading:Prefetch-Resource-Validation.js (remove prefetch to save bandwidth)
- Run webperf-core-web-vitals:LCP.js (LCP is heavily impacted by slow connections)
- Recommend minimal resource strategy
-
If effectiveType is "3g" → Moderate connection, recommend:
- Run webperf-loading:Find-render-blocking-resources.js (minimize blocking)
- Run webperf-media:Image-Element-Audit.js (responsive images)
- Run webperf-loading:Resource-Hints-Validation.js (optimize preconnect)
- Run webperf-core-web-vitals:INP.js (high latency can impact interaction responsiveness)
- Implement adaptive image quality
-
If effectiveType is "4g" or better → Good connection, recommend:
- Standard optimization practices
- Consider strategic prefetch for navigation
- Higher quality media is acceptable
-
If save-data is enabled → User explicitly wants to save data, recommend:
- Reduce image quality aggressively
- Disable autoplay videos
- Defer non-critical resources
- Remove prefetch/preload hints
- Show "high quality" toggle option
-
If RTT > 300ms → High latency, recommend:
- Run webperf-loading:TTFB.js (latency impacts TTFB)
- Run webperf-loading:TTFB-Sub-Parts.js (break down latency components)
- Run webperf-loading:Resource-Hints-Validation.js (preconnect critical for high RTT)
- Run webperf-loading:Service-Worker-Analysis.js (caching is critical for high latency)
- Minimize number of origins
- Use HTTP/2 or HTTP/3 for multiplexing
-
If downlink < 1 Mbps → Very limited bandwidth, recommend:
- Run webperf-media:Image-Element-Audit.js (aggressive compression)
- Run webperf-media:Video-Element-Audit.js (disable autoplay)
- Run webperf-loading:Prefetch-Resource-Validation.js (remove prefetch)
- Implement bandwidth-aware loading
-
If downlink > 10 Mbps → Good bandwidth, consider:
- Higher quality media
- Strategic prefetch
- Preloading next-page resources
Adaptive Loading Implementation Guide
Based on Network Information API results, implement these strategies:
For slow-2g / 2g (< 50 Kbps): (effectiveType: "slow-2g" or "2g")
- Serve low-res images (quality: 30-40)
- Disable autoplay videos
- Remove all prefetch hints
- Inline all critical CSS
- Defer all non-critical JavaScript
- Use system fonts (no webfonts)
- Aggressive lazy loading (load on scroll + buffer)
For 3g (50-700 Kbps): (effectiveType: "3g")
- Serve medium-res images (quality: 60-70)
- Disable autoplay videos
- Limited prefetch (critical only)
- Inline critical CSS only
- Defer non-critical JavaScript
- Preload 1-2 critical fonts
- Standard lazy loading
For 4g+ (> 700 Kbps): (effectiveType: "4g")
- Serve high-res images (quality: 80-90)
- Allow autoplay videos (muted)
- Strategic prefetch for navigation
- Standard CSS loading and JavaScript loading
- Preload critical fonts
- Standard lazy loading
For save-data mode: (navigator.connection.saveData === true)
- Override connection type, treat as worse than actual
- Show "Load high quality" toggle
- Disable autoplay entirely
- Minimal images, minimal quality
- No prefetch, no preload (except critical)
Performance Budget by Connection Type
Adjust performance budgets based on connection quality:
slow-2g / 2g:
- Total page weight: < 500KB
- Images: < 200KB total
- JavaScript: < 100KB total
- No videos
3g:
- Total page weight: < 1.5MB
- Images: < 800KB total
- JavaScript: < 300KB total
- Videos: < 3MB (only if critical)
4g+:
- Total page weight: < 3MB
- Images: < 2MB total
- JavaScript: < 1MB total
- Videos: < 10MB
Network Information API Limitations
Be aware of API limitations and fallbacks:
API not available:
- Safari does not support Network Information API
- Fallback: Use TTFB as proxy for connection quality
- Fallback: Device detection (mobile = assume slow)
- Fallback: User preference toggle
API values are estimates:
- effectiveType is based on recent observations
- Values can change during session
- Re-check periodically for long sessions
Privacy considerations:
- Some browsers limit precision for privacy
- Values may be rounded or capped
- Consider user privacy when making decisions
References
references/snippets.md— Descriptions and thresholds for each scriptreferences/schema.md— Return value schema for interpreting script output
Related Skills
taste-skill
102.1kAgent skills that give coding agents taste: art direction, reference images and a browser check instead of generic AI pages
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
LocalAI
49.9kLocalAI is the open-source AI engine. Run any model - LLMs, vision, voice, image, video - on any hardware. No GPU required.
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.
