-
Notifications
You must be signed in to change notification settings - Fork 12.5k
Description
Problem Statement
Build a suite of Gemini CLI skills for common investigative workflows — memory dump analysis, profiling, and performance diagnostics — directly within the terminal. Rather than implementing full Debug Adapter Protocol (DAP) integration (which consumes many agent turns for stepping/breakpoints and is often slower than logging-based approaches), this project focuses on areas where LLM + tooling is uniquely powerful: interpreting complex, low-level diagnostic data like memory snapshots, heap profiles, and performance traces that humans historically struggle to parse.
The initial focus is Node.js memory analysis (directly applicable to diagnosing Gemini CLI's own memory bloat and leaks), outputting results in Perfetto trace format so the approach scales to Android and Flutter in the future.
Expected Outcomes
- Automated 3-Snapshot Technique skill: A skill that automatically captures three heap snapshots at defined intervals, diffs them, and identifies leaked objects and their retainer chains using the 3-snapshot technique
- Memory dump analysis tooling: Tools to ingest and summarize Node.js heap snapshots (.heapsnapshot), identifying suspicious growth patterns, large object clusters, and detached DOM nodes
- Perfetto trace integration: Output investigation results in Perfetto-compatible format (ui.perfetto.dev) for visual exploration, with a path to Android/Flutter profiling support
- CLI-based debugger skills: Skills wrapping scriptable debugger CLIs (e.g., GDB's batch/scripting mode, node --inspect + chrome-devtools-protocol) rather than DAP, minimizing agent turns by executing command sequences in bulk
- Performance profiling skills: Skills for common investigative workflows — CPU profiling, performance regression analysis, and binary size/linking analysis — across Node.js and extensible to other ecosystems
- Automated root-cause suggestions: LLM-driven analysis of raw memory/profiling data to surface probable root causes that would be difficult for humans to identify from raw dumps alone