Opus finding
Synchronous execFileSync blocks the Node.js event loop on every request
mediumperformancehigh
- dashboard/app/api/skills/[name]/run/route.ts:35
`execFileSync` is a blocking call inside an async route handler. Spawning `gh` and awaiting its completion (which performs network calls to api.github.com) blocks the Node event loop for hundreds of milliseconds to seconds per request, stalling all other requests on the same server process. In Next.js route handlers, asynchronous `execFile`/`spawn` with a Promise wrapper is the correct pattern.
Recommendation
Use `execFile` wrapped in a Promise (or `promisify(execFile)`) and `await` it; also consider a timeout to bound runtime.