Get the FREE Ultimate OpenClaw Setup Guide →

performance-profiling

Scanned
npx machina-cli add skill vudovn/antigravity-kit/performance-profiling --openclaw
Files (1)
SKILL.md
3.0 KB

Performance Profiling

Measure, analyze, optimize - in that order.

🔧 Runtime Scripts

Execute these for automated profiling:

ScriptPurposeUsage
scripts/lighthouse_audit.pyLighthouse performance auditpython scripts/lighthouse_audit.py https://example.com

1. Core Web Vitals

Targets

MetricGoodPoorMeasures
LCP< 2.5s> 4.0sLoading
INP< 200ms> 500msInteractivity
CLS< 0.1> 0.25Stability

When to Measure

StageTool
DevelopmentLocal Lighthouse
CI/CDLighthouse CI
ProductionRUM (Real User Monitoring)

2. Profiling Workflow

The 4-Step Process

1. BASELINE → Measure current state
2. IDENTIFY → Find the bottleneck
3. FIX → Make targeted change
4. VALIDATE → Confirm improvement

Profiling Tool Selection

ProblemTool
Page loadLighthouse
Bundle sizeBundle analyzer
RuntimeDevTools Performance
MemoryDevTools Memory
NetworkDevTools Network

3. Bundle Analysis

What to Look For

IssueIndicator
Large dependenciesTop of bundle
Duplicate codeMultiple chunks
Unused codeLow coverage
Missing splitsSingle large chunk

Optimization Actions

FindingAction
Big libraryImport specific modules
Duplicate depsDedupe, update versions
Route in mainCode split
Unused exportsTree shake

4. Runtime Profiling

Performance Tab Analysis

PatternMeaning
Long tasks (>50ms)UI blocking
Many small tasksPossible batching opportunity
Layout/paintRendering bottleneck
ScriptJavaScript execution

Memory Tab Analysis

PatternMeaning
Growing heapPossible leak
Large retainedCheck references
Detached DOMNot cleaned up

5. Common Bottlenecks

By Symptom

SymptomLikely Cause
Slow initial loadLarge JS, render blocking
Slow interactionsHeavy event handlers
Jank during scrollLayout thrashing
Growing memoryLeaks, retained refs

6. Quick Win Priorities

PriorityActionImpact
1Enable compressionHigh
2Lazy load imagesHigh
3Code split routesHigh
4Cache static assetsMedium
5Optimize imagesMedium

7. Anti-Patterns

❌ Don't✅ Do
Guess at problemsProfile first
Micro-optimizeFix biggest issue
Optimize earlyOptimize when needed
Ignore real usersUse RUM data

Remember: The fastest code is code that doesn't run. Remove before optimizing.

Source

git clone https://github.com/vudovn/antigravity-kit/blob/main/.agent/skills/performance-profiling/SKILL.mdView on GitHub

Overview

Performance profiling provides a principled approach to measuring runtime performance, identifying bottlenecks, and applying targeted optimizations. It emphasizes Core Web Vitals, profiling workflows, bundle analysis, and runtime/memory profiling to improve user experience.

How This Skill Works

Start by baseline measurement of current state using automated scripts such as Lighthouse audits. Then identify bottlenecks with profiling tools like Lighthouse, bundle analyzer, and DevTools, implement targeted fixes, and finally validate improvements with performance data from Lighthouse or real user monitoring.

When to Use It

  • During feature development to establish a baseline with local Lighthouse measurements.
  • In CI/CD to enforce performance gates with Lighthouse CI.
  • In production to monitor real-user performance via Real User Monitoring.
  • When optimizing bundles or dependencies using bundle analysis and code splitting.
  • When diagnosing runtime or memory issues with DevTools Performance and Memory profiling.

Quick Start

  1. Step 1: Baseline — run a Lighthouse audit (e.g., python scripts/lighthouse_audit.py https://example.com) to measure current performance.
  2. Step 2: Identify — review results to locate bottlenecks (load, runtime, memory) and decide tools to use.
  3. Step 3: Fix & Validate — apply targeted changes (code splitting, lazy loading, compression) and re-run profiling to confirm improvements.

Best Practices

  • Baseline first: measure current state before making changes.
  • Profile with the right tool for the problem: Lighthouse for load, DevTools for runtime and memory, bundle analyzer for bundles.
  • Target the biggest bottlenecks identified, such as large libraries, render-blocking code, or memory leaks.
  • Implement concrete fixes (code splitting, lazy loading, compression, caching) and re-measure.
  • Validate improvements with consistent metrics (LCP, INP, CLS, task durations, memory growth).

Example Use Cases

  • Audit a homepage with Lighthouse to reduce load metrics like LCP and INP.
  • Identify and remove duplicate dependencies in the bundle using a bundle analyzer.
  • Split routes to improve initial load time and enable code splitting.
  • Enable compression and caching of static assets as a quick win.
  • Use DevTools Performance and Memory tabs to detect long tasks and memory leaks.

Frequently Asked Questions

Add this skill to your agents
Sponsor this space

Reach thousands of developers