mcpbeat

Performance Investigation

sveltejs/performance-investigation

Investigate performance regressions and find opportunities for optimization

578 tokens
context cost
the whole folder, loaded on every use
1
files
instructions only
0
copies elsewhere
how many repositories repackaged it
87833
stars on the repo
on the repository, not the skill itself

Install

one command, takes just this skill from the repository
npx skills add https://github.com/sveltejs/svelte --skill performance-investigation

The instruction itself

7 sections, as written by the author

Quick start

  • Start from a branch you want to measure (for example foo).
  • Run:
pnpm bench:compare main foo

If you pass one branch, bench:compare automatically compares it to main.

Where outputs go

  • Summary report: benchmarking/compare/.results/report.txt
  • Raw benchmark numbers:
  • benchmarking/compare/.results/main.json
  • benchmarking/compare/.results/<your-branch>.json
  • CPU profiles (per benchmark, per branch):
  • benchmarking/compare/.profiles/main/*.cpuprofile
  • benchmarking/compare/.profiles/main/*.md
  • benchmarking/compare/.profiles/<your-branch>/*.cpuprofile
  • benchmarking/compare/.profiles/<your-branch>/*.md

The .md files are generated summaries of the CPU profile and are usually the fastest way to inspect hotspots.

Suggested investigation flow

  • Open benchmarking/compare/.results/report.txt and identify largest regressions first.
  • For each high-delta benchmark, compare:
  • benchmarking/compare/.profiles/main/<benchmark>.md
  • benchmarking/compare/.profiles/<branch>/<benchmark>.md
  • Look for changes in self/inclusive hotspot share in runtime internals (runtime.js, reactivity/batch.js, reactivity/deriveds.js, reactivity/sources.js).
  • Make one optimization change at a time, then re-run targeted benches before re-running full compare.

Fast benchmark loops

Run only selected reactivity benchmarks by substring:

pnpm bench kairo_mux kairo_deep kairo_broad kairo_triangle
pnpm bench repeated_deps sbench_create_signals mol_owned

Tests to run after perf changes

Runtime reactivity regressions are most likely in runes runtime tests:

pnpm test runtime-runes

Helpful script

For quick cpuprofile hotspot deltas between two branches:

node benchmarking/compare/profile-diff.mjs kairo_mux_owned main foo

This prints top function sample-share deltas for the selected benchmark.

Practical gotchas

  • bench:compare checks out branches while running. Avoid uncommitted changes (or stash them) so branch switching is safe.
  • Each bench:compare run rewrites benchmarking/compare/.results and benchmarking/compare/.profiles.

How to use it

Copy the folder

Take sveltejs/performance-investigation from the repository into ~/.claude/skills for personal use, or into .claude/skills inside a project.

Check the name does not clash

The agent identifies a skill by the name field in its header. Two skills with the same name cannot sit side by side — one of them will be ignored.