Skill Market

memory leak debugging

Diagnoses and resolves memory leaks in JavaScript/Node.js applications. Use when a user reports high memory usage, OOM errors, or wants to analyze heapsnapshots or run memory leak detection tools like memlab.

GitHub
githubcommunitybrowserchromechrome-devtoolsdebuggingdevtoolsmcp
0.0
0 installs50.8K GitHub starsby ChromeDevTools

Skill Introduction

Overview
Diagnoses and resolves memory leaks in JavaScript/Node.js applications. Use when a user reports high memory usage, OOM errors, or wants to analyze heapsnapshots or run memory leak detection tools like memlab.

Core value

Turns reusable Debugging know-how into an installable skill, helping users complete github, community, browser, chrome work faster.

Target users

  • Developers, testers, and maintainers who handle Debugging tasks in Focus Code.
  • Teams that already trust workflows or content from ChromeDevTools.
  • Users who want standardized prompts, steps, or conventions instead of repeating setup work.

Best practices

  • Read the skill content first to confirm required inputs, expected outputs, and dependencies.
  • Try it on a small task before relying on it for critical work.
  • Add project-specific constraints such as coding style, target platform, test expectations, and delivery format.
  • For external sources, verify the source link, version, and recent maintenance activity.

Best use cases

  • Tasks related to github, community, browser, chrome that need a reusable execution flow.
  • Converting a community repo, team convention, or personal workflow into day-to-day assistance.
  • Starting from a proven skill instead of writing prompts or procedures from scratch.

Limits and boundaries

  • Results depend on the quality of the original skill content and may need human correction.
  • It does not replace code review, tests, security review, or professional judgment.
  • External tools, APIs, account permissions, and local dependencies still need separate setup.

Differentiation

  • Structured around Debugging, making it easier to discover and reuse than loose prompt snippets.
  • Marked as GitHub, which helps users judge trust and maintenance expectations.
  • Keeps the original source link available for repository, documentation, or discussion follow-up.
  • Tagged with github, community, browser, chrome, so it can be filtered by concrete task intent.

Install and use

Install
Copy Install Command
focus install memory-leak-debugging-bdfb41
View source

Detail Preview

SKILL.md

Primary filemarkdown3 KB

name: memory-leak-debugging description: Diagnoses and resolves memory leaks in JavaScript/Node.js applications. Use when a user reports high memory usage, OOM errors, or wants to analyze heapsnapshots or run memory leak detection tools like memlab.

Memory Leak Debugging

This skill provides expert guidance and workflows for finding, diagnosing, and fixing memory leaks in JavaScript and Node.js applications.

Core Principles

  • Prefer memlab: Do NOT attempt to read raw .heapsnapshot files directly, as they are extremely large and will consume too many tokens. Always recommend and use memlab to process snapshots and identify leak traces.
  • Isolate the Leak: Determine if the leak is in the browser (client-side) or Node.js (server-side).
  • Common Culprits: Look for detached DOM nodes, unhandled closures, global variables, event listeners not being removed, and caches growing unbounded. Note: Detached DOM nodes are sometimes intentional caches; always ask the user before nulling them.

Workflows

1. Capturing Snapshots

When investigating a frontend web application memory leak, utilize the chrome-devtools-mcp tools to interact with the application and take snapshots.

  • Use tools like click, navigate_page, fill, etc., to manipulate the page into the desired state.
  • Revert the page back to the original state after interactions to see if memory is released.
  • Repeat the same user interactions 10 times to amplify the leak.
  • Use take_memory_snapshot to save .heapsnapshot files to disk at baseline, target (after actions), and final (after reverting actions) states.

2. Using Memlab to Find Leaks (Recommended)

Once you have generated .heapsnapshot files using take_memory_snapshot, use memlab to automatically find memory leaks.

  • Read references/memlab.md for how to use memlab to analyze the generated heapsnapshots.
  • Do not read raw .heapsnapshot files using read_file or cat.

3. Identifying Common Leaks

When you have found a leak trace (e.g., via memlab output), you must identify the root cause in the code.

4. Fallback: Comparing Snapshots Manually

If memlab is not available, you MUST use the fallback script in the references directory to compare two .heapsnapshot files and identify the top growing objects and common leak types.

Run the script using Node.js:

node skills/memory-leak-debugging/references/compare_snapshots.js <baseline.heapsnapshot> <target.heapsnapshot>

The script will analyze and output the top growing objects by size and highlight the 3 most common types of memory leaks (e.g., Detached DOM nodes, closures, Contexts) if they are present.

Reviews

Overall rating

0.0
0.0

0 comments

No reviews yet