perf-profile

Profile Rust, Python, and JavaScript code to resolve performance regressions.

2|Updated Apr 3, 2026
One-click install
npx skills add https://github.com/jscott3201/ai-agent-skills --skill perf-profile-jscott3201
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: perf-profile
Source: https://github.com/jscott3201/ai-agent-skills/tree/main/skills/perf-profile
Command: npx skills add https://github.com/jscott3201/ai-agent-skills --skill perf-profile-jscott3201

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Systematically investigate and resolve performance regressions and slow operations by establishing reproducible baselines, identifying hot spots with profilers, forming testable hypotheses, and verifying improvements without introducing regressions.

Core Features & Use Cases

  • Baseline measurement and tracking: Run benchmarks, record p50/p99, throughput, and memory characteristics for comparison over time.
  • Profiler recipes for Rust, Python, and JavaScript: Guidance for flamegraphs, allocation profiling, cProfile/py-spy, and Node profiling to find functions consuming significant resources.
  • Hypothesis-driven optimization workflow: Rank hypotheses by expected impact, test changes one at a time, and record outcomes; optionally persist findings to SeleneDB for cross-session traceability.
  • Regression verification and instrumentation guidance: Run full benchmark suites to detect regressions and add observability (tracing, spans, context fields) when requested.

Quick Start

Measure a baseline for the slow operation, profile the hottest functions, propose the top hypothesis to test, implement a single targeted change, and re-run the same benchmark to compare results.

Frequently Asked Questions about perf-profile

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I find and fix performance bottlenecks in my code?

To find performance bottlenecks, you establish reproducible baselines, identify hot spots using profilers to generate flamegraphs, form testable hypotheses, and verify improvements by re-running benchmarks without introducing regressions.

What's the best way to profile Rust, Python, and JavaScript services for slow operations?

Profiling Rust, Python, and JavaScript services requires targeted profiler recipes like cProfile, py-spy, and Node profiling to identify functions consuming significant resources and generate flamegraphs for allocation profiling.

How do I establish a performance baseline to track regressions over time?

Establishing a performance baseline involves running benchmarks to record p50/p99 latency, throughput, and memory characteristics, creating a measurable starting point to detect regressions and compare optimization results over time.

Can I persist profiling results and benchmark data for cross-session comparison?

Yes, you can persist profiling results and benchmark data for cross-session comparison using optional SeleneDB persistence, enabling traceability of hypothesis-driven optimization outcomes across multiple analysis sessions.

How does hypothesis-driven optimization work for resolving performance issues?

Hypothesis-driven optimization ranks potential fixes by expected impact, tests changes one at a time, and records outcomes to systematically resolve performance issues while ensuring no new regressions are introduced.

When do I need to add instrumentation and tracing to investigate performance?

You need to add instrumentation and tracing, such as spans and context fields, when requested to increase observability for performance issues, helping pinpoint slow operations and verify that optimizations resolve the bottlenecks.