Agent skill · data analytics · erichowens

performance-profiling

Application performance profiling and bottleneck identification — Node.js profiling, Chrome DevTools, flame graphs, memory leak detection, CPU profiling, React rendering performance. Activate

Why this skill is useful

Provides specific commands and techniques for Node.js and browser profiling that enhance the AI's ability to diagnose performance issues.

What it needs

Requires chrome, node installed locally. About 9k tokens when loaded. Last updated 2026-07-14. 180 stars on the source repository.

What this skill does

Performance Profiling Find where your application actually spends time before touching a line of code. Covers the full stack: Node.js CPU and memory profiling, browser flame graphs, React render profiling, and database query analysis. The discipline here is profile first, optimize second — premature optimization is not a workflow, it is a guess. When to Use Use for: Diagnosing slow Node.js applications (CPU-bound, I/O-bound, memory pressure) Generating and reading flame graphs to find hot code paths Detecting memory leaks via heap snapshots and growth trends Profiling React component render performance with React Profiler Measuring browser rendering performance (Core Web Vitals, layout thrashing, long tasks) Database query profiling with EXPLAIN ANALYZE Measuring event loop utilization and latency NOT for: Infrastructure monitoring, distributed tracing, or log aggregation (use logging-observability) Load testing and capacity planning (a separate domain) Network latency analysis between services (use distributed tracing tools) Database schema design optimization (separate from query profiling) --- Core Decision: Where Is My App Slow? --- Node.js: CPU Profiling V8 Inspector (Built-in) Then open chrome://inspect in Chrome, click the target, go to the Profiler tab, and record while sending load to the server. 0x: Flame Graphs from the Terminal 0x generates an interactive HTML flame graph. The widest stacks are where time is spent. Look for: Functions that appear wide near the bottom (called frequently by everything) Unexpected width in library code (serialization, template engines, parsers) Idle / [idle] blocks — I/O wait, not CPU (look elsewhere for those) Clinic.js Suite Clinic Doctor gives you a triage view: CPU, memory, event loop, and handles. Start here when you do not know what kind of bottleneck you have. Event Loop Utilization (ELU) ELU above 80% means the event loop is saturated — CPU-bound work or sync blocking. …

How to use it

Reference it in AdaL, Claude Code, Cursor or any coding agent — nothing to install:

@skills erichowens/performance-profiling

View the source on GitHub

Browse the @skills marketplace