configure-plugin/skills/configure-memory-profiling/SKILL.md
Memory profiling with pytest-memray for Python. Use when setting up memory profiling, adding CI memory regression detection, or setting memory thresholds.
npx skillsauth add laurigates/claude-plugins configure-memory-profilingInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Check and configure memory profiling infrastructure for Python projects using pytest-memray.
| Use this skill when... | Use another approach when... |
|------------------------|------------------------------|
| Setting up memory profiling for a Python project from scratch | Project is not Python — memray/pytest-memray are Python-only |
| Adding pytest-memray integration for CI memory regression detection | Profiling CPU performance — use cProfile or py-spy instead |
| Configuring memory leak detection in test suites | Running load/stress tests — use /configure:load-tests |
| Setting memory thresholds and allocation benchmarks for CI | Quick one-off memory check — run uv run pytest --memray directly |
| Enabling native C extension stack tracking for deep profiling | Profiling production systems live — use memray standalone or Grafana |
pwdfind . -maxdepth 1 \( -name 'pyproject.toml' -o -name 'setup.py' \)find . -maxdepth 1 \( -name 'pyproject.toml' -o -name 'requirements*.txt' \) -exec grep 'pytest-memray' {} +find . -maxdepth 1 \( -name 'pyproject.toml' -o -name 'requirements*.txt' \) -exec grep 'memray' {} +find . -path '*/tests/*' -maxdepth 2 -name 'conftest.py' -exec grep -l 'memray' {} +find . -path '*/tests/*' -maxdepth 3 -name '*memory*' -o -name '*memray*'find . -path '*/tests/*' -maxdepth 3 -type d -name 'benchmarks'find . -path '*/.github/workflows/*' -maxdepth 3 -name '*memory*'find . -maxdepth 1 -type d -name 'memory-reports'Parse from $ARGUMENTS:
--check-only: Report memory profiling compliance status without modifications--fix: Apply all fixes automatically without prompting--threshold <mb>: Set default memory threshold in MB (default: 100)--native: Enable native stack tracking for C extensionsSupported tools:
| Tool | Best For | |------|----------| | pytest-memray (recommended) | Test-integrated profiling, CI/CD memory limits, leak detection | | memray standalone | Deep analysis, flame graphs, production profiling | | tracemalloc | Quick debugging, no dependencies, lightweight |
Execute this memory profiling configuration check:
Read the context values. If no pyproject.toml or setup.py is found, report "Not a Python project" and stop.
Use WebSearch or WebFetch to verify current versions:
Check for complete setup:
@pytest.mark.limit_memory--memray-leak-detection)--native flag)Print a compliance report covering:
End with overall issue count and recommendations.
If --check-only is set, stop here.
uv add --group dev pytest-memray--native: uv add --group dev pytest-memray[native]pyproject.toml with pytest configuration (markers, filterwarnings)memory-reports/ directorytests/conftest.py (reports dir setup, threshold fixture, data generator)tests/test_memory_example.py with example memory limit teststests/benchmarks/test_memory_benchmarks.py for trend trackingAdd memory profiling commands to Makefile or pyproject.toml:
test-memory: uv run pytest --memraytest-memory-report: Run with bin output + generate flame graphtest-memory-leaks: uv run pytest --memray --memray-leak-detectiontest-memory-native: uv run pytest --memray --nativeCreate .github/workflows/memory-profiling.yml with:
Update .project-standards.yaml:
components:
memory_profiling: "2025.1"
memory_profiling_tool: "pytest-memray"
memory_profiling_threshold_mb: 100
memory_profiling_leak_detection: true
memory_profiling_ci: true
memory_profiling_native: false
Print a summary of packages installed, configuration applied, test files created, commands available, CI/CD configured, and next steps for the user.
For detailed test templates, CI workflows, and standalone memray commands, see REFERENCE.md.
| Context | Command |
|---------|---------|
| Quick compliance check | /configure:memory-profiling --check-only |
| Auto-fix all issues | /configure:memory-profiling --fix |
| Run memory tests | uv run pytest --memray |
| Detect memory leaks | uv run pytest --memray --memray-leak-detection |
| Run with native tracking | uv run pytest --memray --native |
| Generate flamegraph | uv run memray flamegraph output.bin -o flamegraph.html |
| Flag | Description |
|------|-------------|
| --check-only | Report status without offering fixes |
| --fix | Apply all fixes automatically without prompting |
| --threshold <mb> | Set default memory threshold in MB (default: 100) |
| --native | Enable native stack tracking for C extensions |
# Check compliance and offer fixes
/configure:memory-profiling
# Check only, no modifications
/configure:memory-profiling --check-only
# Auto-fix with custom threshold
/configure:memory-profiling --fix --threshold 200
# Enable native tracking for C extensions
/configure:memory-profiling --fix --native
/configure:tests - Configure testing frameworks/configure:coverage - Code coverage configuration/configure:load-tests - Load and performance testing/configure:all - Run all compliance checksdevelopment
Debug HTTP APIs: trace requests, inspect headers. Use when a request fails: check status first.
documentation
Render architecture diagrams from text sources. Use when documenting system topology.
tools
Inspect JSON payloads and extract nested fields. Use when parsing API responses.
tools
--- name: no-description allowed-tools: Read --- # No Description This skill has no description and must be dropped with a warning.