Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Performance profiling for Node.js, Python, and Go: CPU flamegraphs, memory leak detection, bundle analysis, query optimization, and k6 load testing. Use when diagnosing slow endpoints, memory growth, large bundles, or traffic spikes.
.claude/skills/borghei-performance-profiler/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-01 | ✗→✓ | ▲ Improved | 25% | 0% |
| case-04 | ✗→✓ | ▲ Improved | 18% | 0% |
| case-07 | ✗→✓ | ▲ Improved | 19% | 0% |
| case-08 | ✗→✓ | ▲ Improved | 66% | 0% |
| case-09 | ✗→✓ | ▲ Improved | -1% | 0% |
Systematic performance profiling for Node.js, Python, and Go applications. Identifies CPU bottlenecks with flamegraphs, detects memory leaks with heap snapshots, analyzes bundle sizes, optimizes database queries, detects N+1 patterns, and runs load tests with k6 and Artillery. Enforces a measure-first methodology: establish baseline, identify bottleneck, fix, and verify improvement.
Golden Rule — Measure First: Profile → Confirm bottleneck → Fix → Measure again → Verify improvement. Every optimization needs baseline metrics, profiler evidence, the fix, post-fix metrics, and a delta. Full rule in references/cpu-and-memory-profiling.md.
Before profiling, confirm these inputs. If any is unknown or vague, ASK — do not assume:
Stop rule: ask only the 2-3 that most change the output. If the user says "just draft it," proceed and list your assumptions at the top of the artifact.
| Tool | Purpose | Command | |------|---------|---------| | benchmark_reporter.py | Parse benchmark results and report regressions/improvements vs thresholds | python scripts/benchmark_reporter.py results.json --fail-on-regression | | bottleneck_detector.py | Analyze logs/traces to flag slow latency, queries, and spans | python scripts/bottleneck_detector.py trace.json --latency-threshold 200 | | resource_analyzer.py | Analyze CPU/memory/disk usage data and flag anomalies and trends | python scripts/resource_analyzer.py metrics.json --cpu-threshold 80 |
All three accept a file path or - for stdin and support --json.
Load the reference that matches the task — keep this file lean and pull detail on demand:
This skill covers:
This skill does NOT cover:
engineering/observability-designerengineering/senior-devopsengineering/senior-securityengineering/senior-mobile| Skill | Integration | Data Flow | |-------|-------------|-----------| | engineering/observability-designer | Performance profiling findings feed into observability dashboard design; alerting thresholds derived from profiling baselines | Profiler baselines and SLA thresholds → Prometheus/Grafana alert rules and dashboard panels | | engineering/ci-cd-pipeline-builder | k6 load tests and bundle size checks integrate as CI pipeline gates | k6 threshold configs and bundle budget scripts → CI pipeline stage definitions | | engineering/database-designer | Query optimization recommendations inform schema design decisions; index suggestions feed back to schema migrations | EXPLAIN ANALYZE findings and index recommendations → schema migration files and index definitions | | engineering/senior-backend | Backend architecture decisions incorporate profiling data; connection pool sizing and caching strategies validated by load tests | Profiling reports and load test results → architecture decision records and implementation guidance | | engineering/tech-debt-tracker | Performance regressions and unresolved bottlenecks are tracked as technical debt items with measured impact | Before/after measurement reports and unresolved findings → tech debt backlog with quantified cost | | engineering/senior-frontend | Bundle analysis results drive frontend optimization work; code-splitting and lazy-loading decisions backed by profiler data | Bundle analyzer output and Lighthouse scores → frontend optimization tasks and component refactoring plans |
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-02 | fail→fail | 19,233 | 18,659 | -3% | 1 | 1 | 0% | 3,054 | 4,494 | +47% | 0 | 0 | — |
case-01 | fail→pass | 22,395 | 18,939 | -15% | 1 | 1 | 0% | 3,761 | 4,712 | +25% | 0 | 0 | — |
case-03 | fail→fail | 13,826 | 19,110 | +38% | 1 | 1 | 0% | 2,287 | 4,831 | +111% | 0 | 0 | — |
case-04 | fail→pass | 15,406 | 10,641 | -31% | 1 | 1 | 0% | 2,664 | 3,134 | +18% | 0 | 0 | — |
case-05 | fail→fail | 21,904 | 19,771 | -10% | 1 | 1 | 0% | 3,616 | 4,661 | +29% | 0 | 0 | — |
case-06 | fail→fail | 19,402 | 6,255 | -68% | 1 | 1 | 0% | 2,921 | 2,549 | -13% | 0 | 0 | — |
case-07 | fail→pass | 19,357 | 14,148 | -27% | 1 | 1 | 0% | 2,992 | 3,553 | +19% | 0 | 0 | — |
case-08 | fail→pass | 6,924 | 2,675 | -61% | 1 | 1 | 0% | 1,112 | 1,842 | +66% | 0 | 0 | — |
case-09 | fail→pass | 12,052 | 2,662 | -78% | 1 | 1 | 0% | 1,904 | 1,887 | -1% | 0 | 0 | — |
case-10 | fail→pass | 7,967 | 2,829 | -64% | 1 | 1 | 0% | 1,370 | 1,798 | +31% | 0 | 0 | — |
case-11 | pass→pass | 13,022 | 11,955 | -8% | 1 | 1 | 0% | 1,968 | 3,264 | +66% | 0 | 0 | — |
case-12 | pass→pass | 10,381 | 10,192 | -2% | 1 | 1 | 0% | 1,734 | 3,017 | +74% | 0 | 0 | — |
case-13 | pass→pass | 17,325 | 14,616 | -16% | 1 | 1 | 0% | 2,494 | 3,499 | +40% | 0 | 0 | — |
case-14 | pass→pass | 9,123 | 8,789 | -4% | 1 | 1 | 0% | 1,426 | 2,907 | +104% | 0 | 0 | — |
case-15 | pass→pass | 15,221 | 15,241 | +0% | 1 | 1 | 0% | 2,426 | 3,946 | +63% | 0 | 0 | — |
case-16 | pass→pass | 3,998 | 4,373 | +9% | 1 | 1 | 0% | 610 | 2,136 | +250% | 0 | 0 | — |
case-17 | pass→pass | 8,900 | 9,693 | +9% | 1 | 1 | 0% | 1,646 | 2,999 | +82% | 0 | 0 | — |
case-18 | pass→pass | 15,181 | 16,186 | +7% | 1 | 1 | 0% | 2,473 | 3,930 | +59% | 0 | 0 | — |
case-19 | pass→pass | 16,105 | 11,540 | -28% | 1 | 1 | 0% | 2,559 | 3,228 | +26% | 0 | 0 | — |
case-20 | pass→pass | 6,507 | 6,171 | -5% | 1 | 1 | 0% | 979 | 2,354 | +140% | 0 | 0 | — |
case-21 | fail→pass | 8,781 | 2,252 | -74% | 1 | 1 | 0% | 1,293 | 1,755 | +36% | 0 | 0 | — |
case-22 | pass→pass | 12,226 | 4,742 | -61% | 1 | 1 | 0% | 1,824 | 2,150 | +18% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 22 cases were attempted. The headline lift of +32 percentage points is the difference between those two pass rates over the 22 comparable cases.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.