Use when capturing or analyzing an iOS .memgraph, especially when the task mentions a memory leak, heap growth, persistent memory increase, ownership path, or matched-capture comparison with Apple CLI tools. Covers unambiguous Simulator capture, leaks/heap/vmmap/malloc_history evidence, raw artifact preservation, and same-flow verification. Use debugging-instruments for interactive Xcode Memory Graph, Instruments, generic retain-cycle inspection, or LLDB work.
SkillScore91Maintained
Automatic
◆Coding pack
Last verified 8/14/2026
What it changes
Passed 20 of 22 test cases with the skill, and 16 of 22 without it.
Without skill73%
With skill91%
Checks it passed that the model alone missed
Specifies combining --reference-tree with --group-by-type
Runs python3 scripts/summarize_memgraph.py with --artifact-dir and --app-image
Uses mkdir for the run directory in a way that fails if the directory already exists
and 3 more in the full report
4 fixed16 passed either way2 still failing0 broke
Pass-rate lift
+18 pp
Tokens
+63%
Agent turns
0%
Response time
-43%
Model gemini-3.6-flashMeasured 8/14/2026v120 of 22 cases passed with skill
Tokens, turns and time describe resource use, not a dollar price.
See it in action
One of 4 test cases the skill fixed. Same model, same prompt, with and without the skill.
1 of 4
Prompt
When running `summarize_memgraph.py`, I want top-down aggregate root paths grouped by type rather than evaluating individual address nodes. Which flag combination achieves this?
What was checked, without and with the skill
Checked
Without skill
With skill
Specifies combining --reference-tree with --group-by-type
Missed
Passed
case-17 · gemini-3.6-flash · 8/14/2026 · answers are capped and redacted
What's inside
The instructions your model reads when the skill loads.
SKILL.md196 lines4 filesincludes scripts
iOS Memgraph Analysis
Use memory graphs to prove why memory survives a defined lifetime boundary.
Separate unreachable leaks from reachable growth, preserve raw tool output, and
verify the same app-owned type and ownership path after a fix.
This skill owns .memgraph capture and command-line ownership/growth analysis.
Use the Memory Graph Debugger or Instruments when their interactive graph and
allocation timeline are the primary task. Use source review for a suspected
closure capture only after runtime evidence identifies the lifetime or path.
Evidence Model
Do not collapse these conditions:
Unreachable leak: allocated memory no longer has a path from a live root.
An isolated strong cycle can be unreachable and still consume memory.
Reachable but abandoned state: a live root still retains objects the user
flow no longer needs. leaks may correctly report zero.
Expected cache or pool: memory survives intentionally and must be judged by
its bound, eviction behavior, and pressure response.
Heap regression or fragmentation: footprint grows because more/larger
allocations persist or dirty pages are poorly utilized, without a leak.
Apple's leak scanner uses conservative pointer discovery and incomplete type
metadata. Counts can fluctuate, and a zero result does not prove the absence of
an ownership bug. Strong evidence identifies the expected lifetime, an
app-owned type or allocation, and a credible path or isolated reproduction.