GPT-5 finding
Synchronous execFileSync blocks the event loop and lacks timeout/failure controls
- dashboard/app/api/skills/[name]/run/route.ts:36
execFileSync runs synchronously in the request handler, blocking the event loop. Under load or if gh is slow/hangs (e.g., waiting for auth, network slowness), this can stall the server and degrade availability. No timeout is configured, increasing the risk of long-running or stuck requests.
Recommendation
Use execFile (async) with a reasonable timeout and explicit error handling. Consider offloading to a background job/queue, or a worker thread/process pool. Ensure gh does not prompt (set non-interactive mode and require GH_TOKEN) and capture/limit stdout/stderr to avoid large buffers.