Performance profiler
Systematic performance profiling for Node.js, Python, and Go applications.
How to use it
Claude Code
- Run the line below. It pulls the whole folder into
~/.claude/skills/performance-profiler, including the files SKILL.md points to. - Describe your job in plain words. Claude Code follows the skill from there.
npx degit alirezarezvani/claude-skills/engineering/skills/performance-profiler#main ~/.claude/skills/performance-profilerFor one project only, change the path to .claude/skills/performance-profiler. This skill also uses Node.js, Next.js — copying SKILL.md alone won't be enough. See the folder on GitHub.
Claude (web or desktop app)
- On this page open ⋯ → Download .md.
- Save it as SKILL.md in a folder, zip the folder, then Customize → Skills → + → Create skill → Upload a skill.
- Pick the file and Save. Claude shows the name and description and runs a security scan.
- Check the skill is switched on.
- Start a new chat and describe your job in plain words. The AI follows the skill from there.
ChatGPT or another app
- ChatGPT: make a Project and paste it into Instructions.
- Neither? Paste it at the top of a new chat — it works for that chat.
Not working?
- Check which app you pasted it into — the steps above name the right one.
- Some skills need the paid tier of Claude or ChatGPT.
Paste into Claude, ChatGPT or Cursor.
Source of Performance profiler
Show the full text75 lines
| name | description |
|---|---|
| performance-profiler | Systematic performance profiling for Node.js, Python, and Go applications. Identifies CPU, memory, and I/O bottlenecks, generates flamegraphs, analyzes bundle sizes, optimizes database queries, runs load tests with k6 and Artillery. Always measures before and after. Use when investigating a slow endpoint, planning a performance budget, or hunting a memory leak in production. |
Performance Profiler
Tier: POWERFUL
Category: Engineering
Domain: Performance Engineering
Overview
Systematic performance profiling for Node.js, Python, and Go applications. Identifies CPU, memory, and I/O bottlenecks; generates flamegraphs; analyzes bundle sizes; optimizes database queries; detects memory leaks; and runs load tests with k6 and Artillery. Always measures before and after.
Core Capabilities
- CPU profiling — flamegraphs for Node.js, py-spy for Python, pprof for Go
- Memory profiling — heap snapshots, leak detection, GC pressure
- Bundle analysis — webpack-bundle-analyzer, Next.js bundle analyzer
- Database optimization — EXPLAIN ANALYZE, slow query log, N+1 detection
- Load testing — k6 scripts, Artillery scenarios, ramp-up patterns
- Before/after measurement — establish baseline, profile, optimize, verify
When to Use
- App is slow and you don't know where the bottleneck is
- P99 latency exceeds SLA before a release
- Memory usage grows over time (suspected leak)
- Bundle size increased after adding dependencies
- Preparing for a traffic spike (load test before launch)
- Database queries taking >100ms
Quick Start
# Analyze a project for performance risk indicators
python3 scripts/performance_profiler.py /path/to/project
# JSON output for CI integration
python3 scripts/performance_profiler.py /path/to/project --json
# Custom large-file threshold
python3 scripts/performance_profiler.py /path/to/project --large-file-threshold-kb 256
Golden Rule: Measure First
# Establish baseline BEFORE any optimization
# Record: P50, P95, P99 latency | RPS | error rate | memory usage
# Wrong: "I think the N+1 query is slow, let me fix it"
# Right: Profile → confirm bottleneck → fix → measure again → verify improvement
Node.js Profiling
→ See references/profiling-recipes.md for details
References
- references/profiling-recipes.md — Node.js/Python/Go profiling commands, flamegraph generation, heap snapshots
- references/optimization-playbook.md — before/after measurement template, quick-win optimization checklist (DB/Node/bundle/API), common pitfalls, best practices
| 1 | |
| 2 | name "performance-profiler" |
| 3 | description "Systematic performance profiling for Node.js, Python, and Go applications. Identifies CPU, memory, and I/O bottlenecks, generates flamegraphs, analyzes bundle sizes, optimizes database queries, runs load tests with k6 and Artillery. Always measures before and after. Use when investigating a slow endpoint, planning a performance budget, or hunting a memory leak in production." |
| 4 | |
| 5 | |
| 6 | # Performance Profiler |
| 7 | |
| 8 | **Tier:** POWERFUL |
| 9 | **Category:** Engineering |
| 10 | **Domain:** Performance Engineering |
| 11 | |
| 12 | |
| 13 | |
| 14 | ## Overview |
| 15 | |
| 16 | Systematic performance profiling for Node.js, Python, and Go applications. Identifies CPU, memory, and I/O bottlenecks; generates flamegraphs; analyzes bundle sizes; optimizes database queries; detects memory leaks; and runs load tests with k6 and Artillery. Always measures before and after. |
| 17 | |
| 18 | ## Core Capabilities |
| 19 | |
| 20 | **CPU profiling** — flamegraphs for Node.js, py-spy for Python, pprof for Go |
| 21 | **Memory profiling** — heap snapshots, leak detection, GC pressure |
| 22 | **Bundle analysis** — webpack-bundle-analyzer, Next.js bundle analyzer |
| 23 | **Database optimization** — EXPLAIN ANALYZE, slow query log, N+1 detection |
| 24 | **Load testing** — k6 scripts, Artillery scenarios, ramp-up patterns |
| 25 | **Before/after measurement** — establish baseline, profile, optimize, verify |
| 26 | |
| 27 | |
| 28 | |
| 29 | ## When to Use |
| 30 | |
| 31 | App is slow and you don't know where the bottleneck is |
| 32 | P99 latency exceeds SLA before a release |
| 33 | Memory usage grows over time (suspected leak) |
| 34 | Bundle size increased after adding dependencies |
| 35 | Preparing for a traffic spike (load test before launch) |
| 36 | Database queries taking >100ms |
| 37 | |
| 38 | |
| 39 | |
| 40 | ## Quick Start |
| 41 | |
| 42 | |
| 43 | # Analyze a project for performance risk indicators |
| 44 | python3 scripts/performance_profiler.py /path/to/project |
| 45 | |
| 46 | # JSON output for CI integration |
| 47 | python3 scripts/performance_profiler.py /path/to/project --json |
| 48 | |
| 49 | # Custom large-file threshold |
| 50 | python3 scripts/performance_profiler.py /path/to/project --large-file-threshold-kb 256 |
| 51 | |
| 52 | |
| 53 | |
| 54 | |
| 55 | ## Golden Rule: Measure First |
| 56 | |
| 57 | |
| 58 | # Establish baseline BEFORE any optimization |
| 59 | # Record: P50, P95, P99 latency | RPS | error rate | memory usage |
| 60 | |
| 61 | # Wrong: "I think the N+1 query is slow, let me fix it" |
| 62 | # Right: Profile → confirm bottleneck → fix → measure again → verify improvement |
| 63 | |
| 64 | |
| 65 | |
| 66 | |
| 67 | ## Node.js Profiling |
| 68 | → See references/profiling-recipes.md for details |
| 69 | |
| 70 | ## References |
| 71 | |
| 72 | [references/profiling-recipes.md] — Node.js/Python/Go profiling commands, flamegraph generation, heap snapshots |
| 73 | [references/optimization-playbook.md] — before/after measurement template, quick-win optimization checklist (DB/Node/bundle/API), common pitfalls, best practices |
| 74 | |
| 75 |
Discussion
Browse more free Claude skills or everything in Development.