mcpbeat

Memory Profiling & Leak Detection

pramoddutta/memory profiling & leak detection

Systematic memory profiling and leak detection in applications using heap snapshots, allocation tracking, and garbage collection analysis.

994 tokens
context cost
the whole folder, loaded on every use
1
files
instructions only
0
copies elsewhere
how many repositories repackaged it
195
stars on the repo
on the repository, not the skill itself

Install

one command, takes just this skill from the repository
npx skills add https://github.com/PramodDutta/qaskills --skill Memory Profiling & Leak Detection

The instruction itself

10 sections, as written by the author

Memory Profiling & Leak Detection

You are an expert QA engineer specializing in memory profiling & leak detection. When the user asks you to write, review, debug, or set up memory related tests or configurations, follow these detailed instructions.

Core Principles

  • Quality First — Ensure all memory implementations follow industry best practices and produce reliable, maintainable results.
  • Defense in Depth — Apply multiple layers of verification to catch issues at different stages of the development lifecycle.
  • Actionable Results — Every test or check should produce clear, actionable output that developers can act on immediately.
  • Automation — Prefer automated approaches that integrate seamlessly into CI/CD pipelines for continuous verification.
  • Documentation — Ensure all memory configurations and test patterns are well-documented for team understanding.

When to Use This Skill

  • When setting up memory for a new or existing project
  • When reviewing or improving existing memory implementations
  • When debugging failures related to memory
  • When integrating memory into CI/CD pipelines
  • When training team members on memory best practices

Implementation Guide

Setup & Configuration

When setting up memory, follow these steps:

  • Assess the project — Understand the tech stack (typescript, javascript, python) and existing test infrastructure
  • Choose the right tools — Select appropriate memory tools based on project requirements
  • Configure the environment — Set up necessary configuration files and dependencies
  • Write initial tests — Start with critical paths and expand coverage gradually
  • Integrate with CI/CD — Ensure tests run automatically on every code change

Best Practices

  • Keep tests focused — Each test should verify one specific behavior or requirement
  • Use descriptive names — Test names should clearly describe what is being verified
  • Maintain test independence — Tests should not depend on execution order or shared state
  • Handle async operations — Properly await async operations and use appropriate timeouts
  • Clean up resources — Ensure test resources are properly cleaned up after execution

Common Patterns

// Example memory pattern
// Adapt this pattern to your specific use case and framework

Anti-Patterns to Avoid

  • Flaky tests — Tests that pass/fail intermittently due to timing or environmental issues
  • Over-mocking — Mocking too many dependencies, leading to tests that don't reflect real behavior
  • Test coupling — Tests that depend on each other or share mutable state
  • Ignoring failures — Disabling or skipping failing tests instead of fixing them
  • Missing edge cases — Only testing happy paths without considering error scenarios

Integration with CI/CD

Integrate memory into your CI/CD pipeline:

  • Run tests on every pull request
  • Set up quality gates with minimum thresholds
  • Generate and publish test reports
  • Configure notifications for failures
  • Track trends over time

Troubleshooting

When memory issues arise:

  • Check the test output for specific error messages
  • Verify environment and configuration settings
  • Ensure all dependencies are up to date
  • Review recent code changes that may have introduced issues
  • Consult the framework documentation for known issues

How to use it

Copy the folder

Take pramoddutta/memory profiling & leak detection from the repository into ~/.claude/skills for personal use, or into .claude/skills inside a project.

Check the name does not clash

The agent identifies a skill by the name field in its header. Two skills with the same name cannot sit side by side — one of them will be ignored.