electron-flamegraph
Installation
SKILL.md
Electron Flamegraph: Setup & Analysis
Two-phase skill: give the user the exact command to profile their Electron app, do not run it, then analyze the .cpuprofile they return with.
The user is running the app on their own machine because (a) reproducing the slow behavior usually requires interaction they have to drive, and (b) their Electron app can't run in this environment anyway. Respect the boundary — don't try to execute the profiling command.
Phase 1 — Setup (before the user runs anything)
1.1 Inspect the repo
Read these before suggesting any command:
package.json—scripts,mainentry, and electron-related deps (electron,@electron-forge/*,electron-vite,electron-builder,vite,esbuild,tsx). This determines the launcher.- Any tooling config in the repo root:
forge.config.{js,ts,cjs,mjs},electron.vite.config.*,electron-builder.{yml,json,js},vite.config.*. - The main process entry file (from
package.json#mainor the forge/vite config). Note whether it's TypeScript or plain JS, and whether it's bundled before launch (affects source map usability).
The launcher matters because raw electron . takes Node flags directly, Electron Forge needs -- --flag passthrough, and electron-vite sometimes needs NODE_OPTIONS. Read references/setup-patterns.md for the exact invocation per launcher.