app-resizability
Use when an app's layout must adapt to a window that changes size while the app runs, or when…
Capture, inspect, compare, and root-cause iOS memory graph leaks using Apple's leaks and memgraph tools. Use when debugging leaked iOS objects, simulator memgraphs, retain-cycle suspicions, memory growth after navigation/logout/account changes, or when asked to prove an iOS leak
$ npx -y skills add omarshahine/HomeClaw --skill ios-memgraph-leaks --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/ios-memgraph-leaksContext preview
The summary Claude sees to decide when to auto-load this skill.
Capture, inspect, compare, and root-cause iOS memory graph leaks using Apple's leaks and memgraph tools. Use when debugging leaked iOS objects, simulator memgraphs, retain-cycle suspicions, memory growth after navigation/logout/account changes, or when asked to prove an iOS leak
name: ios-memgraph-leaks description: Capture, inspect, compare, and root-cause iOS memory graph leaks using Apple's leaks and memgraph tools. Use when debugging leaked iOS objects, simulator memgraphs, retain-cycle suspicions, memory growth after navigation/logout/account changes, or when asked to prove an iOS leak fix with before/after memgraph evidence.
Use this skill to prove iOS leaks from a live simulator process or an existing `.memgraph`. Pair it with `../ios-debugger-agent/SKILL.md` when the task also needs simulator build, install, launch, UI driving, logs, or screenshots.
1. Build, launch, and drive the exact flow that should release objects. 2. Capture a memgraph from the running simulator process with `scripts/capture_sim_memgraph.sh`. 3. Summarize leaks with `scripts/summarize_memgraph_leaks.py`. 4. For each app-owned leaked type, inspect ownership with `leaks --traceTree=<address> <file.memgraph>` and grouped leak evidence. 5. Make the smallest root-cause patch, then recapture the same flow on the same simulator when possible. 6. Report proof: before/after leak counts, disappeared root types, remaining leaks, memgraph paths, and test/build results.
Do not claim a leak fix from a smaller memgraph alone. A credible fix explains the ownership path that kept the object alive and shows that the same path or type disappears after the patch.
Prefer capturing from the simulator already used for the reproduction. Resolve the simulator UDID and app bundle identifier, then capture the running app:
SKILL_DIR="<absolute path to this loaded skill folder>"
SIM="<simulator-udid>"
BUNDLE_ID="<app.bundle.identifier>"
MEMGRAPH_DIR="$(mktemp -d "${TMPDIR:-/tmp}/codex-ios-memgraph.XXXXXX")"
"$SKILL_DIR/scripts/capture_sim_memgraph.sh" \
--udid "$SIM" \
--bundle-id "$BUNDLE_ID" \
--out-dir "$MEMGRAPH_DIR"Do not derive `SKILL_DIR` from the target app repo's `pwd`; installed plugins usually live outside the app being debugged. Store captures in a run-specific temp or user-chosen folder, not under `SKILL_DIR`.
If the process cannot be found, confirm the bundle identifier and use `xcrun simctl spawn "$SIM" launchctl list` to inspect running labels.
Summarize an existing memgraph:
"$SKILL_DIR/scripts/summarize_memgraph_leaks.py" \ /path/to/app.memgraph \ --trace-limit 5 \ --out /path/to/leak-summary.md
Use `--trace-limit` sparingly. Trace trees are useful root-cause evidence, but large memgraphs can produce noisy output. If a trace tree says `Found 0 roots referencing`, treat it as an unreachable/self-retained leak candidate and use the summary's grouped leak tree or `leaks --groupByType <file.memgraph>` to identify the retained fields and payload chain.
A useful leak report includes:
If the memgraph shows only framework/runtime noise, say that and recommend the next narrower capture rather than inventing an app leak.
HomeKit smart home control via MCP — lights, locks, thermostats, and scenes for Claude Desktop, Claude Code, and OpenClaw
Repo: omarshahine/HomeClaw
Use when an app's layout must adapt to a window that changes size while the app runs, or when…
Design and implement App Intents, app entities, and App Shortcuts for iOS apps so useful…
Use XcodeBuildMCP to build, run, launch, and debug the current iOS project on a booted…
Capture and interpret ETTrace profiles for iOS simulator apps, including symbolicated launch…
Analyze Swift Package Manager dependencies, package plugins, module variants, and CI-oriented…
Use when writing, reviewing, or refactoring SwiftUI code for iOS or macOS, including state…