본문으로 건너뛰기
cccskills
무료GitHub에 공개한국어 소개

memory-leak-debugging

JavaScript 또는 Node.js 앱의 메모리 사용량 증가와 메모리 부족 오류를 조사합니다. Chrome DevTools MCP 메모리 도구로 힙 스냅샷을 수집하고 비교하며, 참조가 유지되는 객체를 추적해 누수 원인을 찾고 수정 단서를 정리합니다.

원문원문 설명 보기

Diagnoses and resolves memory leaks in JavaScript/Node.js applications. Use when a user reports high memory usage, OOM errors, or wants to capture, compare, or inspect heap snapshots with Chrome DevTools MCP memory tools.

asgeirtj/system_prompts_leaks스타 70,411(GitHub 70,411 + cccskills 0)

실행 점수 미검증

설치 방법 보기

이럴 때 유용합니다

  • 웹 앱의 메모리 증가 조사하기
  • Node.js 메모리 부족 오류 살펴보기
  • 작업 전후 힙 스냅샷 비교하기
  • 남아 있는 이벤트 리스너나 클로저 추적하기

한국어 소개

할 수 있는 일

이 스킬은 JavaScript와 Node.js 앱에서 메모리 사용량이 계속 증가하는 원인을 조사하고 수정에 참고할 단서를 정리합니다. Chrome DevTools MCP 메모리 도구로 힙 스냅샷을 수집하고 비교해 어떤 객체 유형이 늘었는지, 어떤 참조 경로 때문에 객체가 계속 남아 있는지 확인합니다. 브라우저 쪽 문제인지 Node.js 쪽 문제인지 구분하고, 분리된 DOM 요소, 제거되지 않은 이벤트 리스너, 클로저, 계속 커지는 캐시를 살펴봅니다. 조사를 마치면 불러온 스냅샷을 닫아 MCP 서버가 사용하던 메모리를 해제합니다.

이럴 때 유용합니다

앱의 메모리 사용량이 높거나, 같은 작업을 반복할수록 느려지거나, 메모리 부족 오류가 발생할 때 원인을 조사하는 데 쓸 수 있습니다. 작업 전후의 스냅샷을 비교해 어떤 객체가 남아 있는지 확인할 때도 유용합니다.

사용 예시

  • “이 화면을 여러 번 조작하면 메모리가 늘어나는 원인을 조사해 주세요.”
  • “힙 스냅샷을 비교해 증가한 객체를 찾아 주세요.”
  • “Node.js에서 발생한 메모리 부족 오류의 원인을 조사해 주세요.”

주의 사항

상세 스냅샷 비교 도구를 사용하려면 Chrome DevTools MCP 서버를 --memoryDebugging 플래그와 함께 시작해야 합니다.

이 소개문은 공개된 SKILL.md를 바탕으로 AI(OpenAI Codex)가 작성했습니다. 정확한 사양은 아래 원문을 확인하세요.

문서 점검

AI가 SKILL.md의 내용에서 주의가 필요한 작업과 도입 전제를 확인했습니다. 점수는 실제로 실행한 결과(실행 검증)만으로 매깁니다.

안전성전송·삭제·명령 실행 등을 명시하고 있는가
A양호분리된 DOM 요소를 비우기 전에 사용자에게 묻고 조사 후 스냅샷을 닫도록 합니다.
도입의 용이성필요한 도구나 API 키가 적고 적혀 있는가
B일부 부족Chrome DevTools MCP가 필요하며 상세 도구에는 시작 플래그가 추가로 필요합니다.

점수에는 넣지 않았습니다. 2026년 10월 30일 기준으로 AI(OpenAI Codex)가 판정했습니다. 참고용이므로 설치 전에 원문도 확인해 주세요.

평가가 다르다고 생각되면 재검토를 요청하기

어느 항목이 왜 다르다고 생각하는지 적어 주세요. 로그인은 필요 없습니다. SKILL.md와 대조해 평가를 다시 만들고 이곳에 반영합니다.

이 양식은 reCAPTCHA로 보호되며 Google 개인정보처리방침 및 서비스 약관이 적용됩니다.

포함된 파일(2)

  • SKILL.md4.2 KB
  • references/common-leaks.md1.8 KB

SKILL.md(원문)

설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.

Memory Leak Debugging

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

Prerequisites

Advanced memory debugging tools (compare_heapsnapshots, get_heapsnapshot_details, etc.) are only available when the server is started with the --memoryDebugging flag. First check if these tools are available; if not, try to read the MCP configuration file to check if --memoryDebugging is enabled.

Core Principles

  • Prefer MCP memory tools: Do NOT attempt to read raw .heapsnapshot files directly, as they are extremely large and will consume too many tokens. Use the Chrome DevTools MCP heap snapshot tools to summarize, compare, and inspect snapshots.
  • 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.
  • Close Loaded Snapshots: Heap snapshots can be large. After completing an investigation, use close_heapsnapshot for each loaded snapshot to release memory held by the MCP server.

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 page-scoped tools like click, navigate_page, fill, etc. (specifying pageId) 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_heapsnapshot (with pageId) to save .heapsnapshot files to disk at baseline, target (after actions), and final (after reverting actions) states.

2. Comparing Snapshots

Once you have generated .heapsnapshot files using take_heapsnapshot, compare them with Chrome DevTools MCP memory tools.

  • Start with get_heapsnapshot_summary for each snapshot to confirm that the files load and to compare high-level totals.
  • Use compare_heapsnapshots to compare baseline and target snapshots. Start without classIndex for the summary diff, then request detailed class diffs only for suspicious growth by specifying classIndex.
  • Use the summary output from compare_heapsnapshots before drilling into specific node IDs.

3. Inspecting Retainers and Dominator Chains

When a class or object type grows unexpectedly, inspect the retaining chain and dominators with the MCP tools before changing code.

  • Use get_heapsnapshot_class_nodes to list instances of the suspicious class.
  • Use get_heapsnapshot_retainers, get_heapsnapshot_retaining_paths, get_heapsnapshot_dominators, and get_heapsnapshot_edges to understand why representative nodes are still reachable.
  • Use get_heapsnapshot_object_details with a specific nodeId to retrieve detailed object metadata (size, type, distance, and DOM detachedness).
  • Use get_heapsnapshot_duplicate_strings when string growth dominates the diff.
  • Read references/common-leaks.md for examples of common memory leaks and how to fix them after the retaining path points at application code.

4. Advanced Analysis and Categorized Filters

Use built-in MCP memory tools and filters to pinpoint specific leak categories directly without external tools.

  • Use get_heapsnapshot_details or get_heapsnapshot_class_nodes with filterName to target common leak causes:
    • objectsRetainedByDetachedDomNodes: Identifies detached DOM elements retained in memory.
    • objectsRetainedByEventHandlers: Identifies objects kept alive by unremoved event listeners.
    • objectsRetainedByContexts: Identifies objects trapped in closures or execution contexts.
    • objectsRetainedByConsole: Identifies objects retained by console logging.

리뷰

아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.

댓글

로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.

아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.

보내면 바로 공개됩니다. 이메일 주소나 전화번호 같은 개인 정보는 쓰지 마세요. URL은 2개까지입니다.

0 / 1,000자

이 양식은 reCAPTCHA로 보호되며 Google 개인정보처리방침 및 서비스 약관이 적용됩니다.

같은 저장소의 스킬

3d-object

무료요약 있음

three.js로 입체 모델을 만들고 회전 가능한 뷰어에서 모든 각도로 확인합니다. OBJ + MTL이나 GLB로 저장해 다른 3D 제작 소프트웨어에서 사용할 수 있습니다.

  • 입체 모델을 만들고 모든 각도에서 확인하기
  • Blender에서 편집할 모델 만들기
  • 모델의 윤곽과 재질 표현 확인하기
asgeirtj/system_prompts_leaks7만2026년 10월 29일 업데이트

Audit web accessibility with Chrome DevTools MCP and Lighthouse. Inspect semantic structure, labels, keyboard focus, tap target size, and color contrast, then identify page elements that may need changes based on web.dev guidance.

한국어 요약은 준비 중입니다. 영어 요약을 표시하고 있습니다.

  • Finding missing labels or image alternatives
  • Checking heading structure and reading order
  • Testing keyboard navigation and modal focus
asgeirtj/system_prompts_leaks7만2026년 10월 29일 업데이트

action-items

무료요약 있음

개인 작업 목록에 할 일, 기한, 다음 단계, 답변을 기다리는 대상과 진행을 막는 이유를 기록합니다. 진행 상황과 의존 관계를 갱신하고 중복 및 완료 항목을 정리합니다.

  • 기한이 있는 작업과 약속 기록
  • 답변 대기와 진행을 막는 이유 정리
  • 선행 작업 완료 후 의존 관계 갱신
asgeirtj/system_prompts_leaks7만2026년 10월 29일 업데이트

agents

무료

Coordinate a task from a verifiable goal through completion. Handle work directly or split independent tasks across separate agent sessions, track progress, verify results, and arrange pull request merging when included in the goal.

한국어 요약은 준비 중입니다. 영어 요약을 표시하고 있습니다.

  • Split independent tasks across agents
  • Check progress across ongoing tasks
  • Resume a previously started project
asgeirtj/system_prompts_leaks7만2026년 10월 29일 업데이트

agy-customizations

무료요약 있음

Antigravity가 사용자 지정 항목을 발견하고 불러오는 위치와 우선순위를 알아봅니다. 에이전트 작업 흐름과 외부 도구 연결에 맞춰 스킬, 규칙, 플러그인, 훅, MCP 서버를 선택하고 만드는 방법을 안내합니다.

  • 사용자 지정 유형을 선택할 때
  • 설정 위치와 적용 우선순위를 확인할 때
  • 스킬이나 규칙을 만들 때
asgeirtj/system_prompts_leaks7만2026년 10월 29일 업데이트

animated-video

무료요약 있음

재생, 일시 정지, 시간 위치 지정이 가능한 HTML 애니메이션을 만듭니다. 장면 길이와 속도를 조절하고 가로형·세로형 영상 내보내기를 준비합니다.

  • 제품 조작 과정을 영상으로 제작
  • 글자와 도형으로 내용 설명
  • 세로형 애니메이션 제작
asgeirtj/system_prompts_leaks7만2026년 10월 29일 업데이트

asgeirtj의 스킬 모두 보기

이 스킬의 문제 신고