
Performance Profiler
FreeOptimize your applications with systematic performance profiling.
Free · Opens the source repo
What Performance Profiler does
Performance Profiler is a robust tool designed for developers working with Node.js, Python, and Go applications. It systematically identifies performance bottlenecks across CPU, memory, and I/O operations, allowing you to pinpoint issues that may be affecting your application's efficiency. With capabilities such as generating flamegraphs, analyzing bundle sizes, and optimizing database queries, this skill provides a comprehensive approach to performance engineering.
The profiler facilitates in-depth analysis by providing tools for CPU profiling using flamegraphs for Node.js, py-spy for Python, and pprof for Go. Memory profiling features include heap snapshots and garbage collection pressure detection, which are crucial for identifying memory leaks. Additionally, the skill supports bundle analysis through tools like webpack-bundle-analyzer, helping you understand the impact of dependencies on your application's size and load time.
For database optimization, the Performance Profiler employs techniques such as EXPLAIN ANALYZE and slow query logging, enabling you to detect N+1 query problems and improve overall database performance. It also integrates load testing capabilities using k6 and Artillery, allowing you to simulate traffic and assess how your application performs under stress. A key aspect of this tool is its emphasis on measurement; it advocates for establishing a performance baseline before and after optimizations to ensure that changes lead to tangible improvements.
This skill is particularly beneficial for developers facing slow application responses, high latency, or unexpected memory growth. It is also useful when preparing for traffic spikes or when database queries exceed acceptable response times. By providing a structured approach to performance profiling, the Performance Profiler empowers developers to enhance application performance effectively and efficiently.
When to use it
Use this tool when your application is experiencing slowdowns, high latency, or memory issues, especially during performance-critical phases of development.
When not to use it
This skill may not be suitable for applications that are already optimized or for scenarios where performance profiling is not a priority.
What you can build with it
Investigating Slow Endpoints
When an endpoint is slow, use the profiler to identify the specific bottleneck causing the delay.
Preparing for Traffic Spikes
Run load tests before a product launch to ensure your application can handle increased traffic.
Detecting Memory Leaks
Use memory profiling features to track down and resolve memory leaks that may degrade application performance.
How to install Performance Profiler
View source1. Install with the skills CLI
npx skills add alirezarezvani/claude-skills/performance-profiler --agent claude-code2. Or install it manually
Download the skill folder and drop it into ~/.claude/skills/ for all projects, or .claude/skills/ to scope it to one repo. Restart Claude Code so it picks up the new skill.
Anthropic's agentic coding CLI, and the reference implementation of Agent Skills. Drop a skill folder into ~/.claude/skills and Claude Code loads it automatically whenever a task matches the skill's description. Claude Code docs
Inside SKILL.md
Written by alirezarezvaniPerformance 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
Frequently asked questions about Performance Profiler
Similar skills
Heap Snapshot Analysis
Investigate V8 heap snapshots for memory issues.
VS Code Performance Workflow
Automate performance investigations in VS Code.
Memory Leak Audit
Prevent memory leaks with effective coding patterns.
CPU Profile Analysis
Analyze V8 and Chrome performance profiles for optimization.
Chat Performance Testing
Benchmark and validate chat UI performance in VS Code.
Vercel React Best Practices
Optimize your React and Next.js applications for performance.
