Requirements
- Target platform
- OpenClaw
- Install method
- Manual import
- Extraction
- Extract archive
- Prerequisites
- OpenClaw
- Primary doc
- SKILL.md
Use when profiling native macOS or iOS apps with Instruments/xctrace. Covers correct binary selection, CLI arguments, exports, and common gotchas.
Use when profiling native macOS or iOS apps with Instruments/xctrace. Covers correct binary selection, CLI arguments, exports, and common gotchas.
Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.
I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete.
I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run.
Use this skill when the user wants performance profiling or stack analysis for native apps. Focus: Time Profiler, xctrace CLI, and picking the correct binary/app instance.
List templates: xcrun xctrace list templates Record Time Profiler (launch): xcrun xctrace record --template 'Time Profiler' --time-limit 60s --output /tmp/App.trace --launch -- /path/To/App.app Record Time Profiler (attach): Launch app yourself, get PID, then: xcrun xctrace record --template 'Time Profiler' --time-limit 60s --output /tmp/App.trace --attach <pid> Open trace in Instruments: open -a Instruments /tmp/App.trace Note: xcrun xctrace --help is not a valid subcommand. Use xcrun xctrace help record.
Gotcha: Instruments may profile the wrong app (e.g., one in /Applications) if LaunchServices resolves a different bundle. Use these rules: Prefer direct binary path for deterministic launch: xcrun xctrace record ... --launch -- /path/App.app/Contents/MacOS/App If launching .app, ensure itβs the intended bundle: open -n /path/App.app Verify with ps -p <pid> -o comm= -o command= If both /Applications/App.app and a local build exist, explicitly target the local build path. After launch, confirm the process path before trusting the trace.
--template 'Time Profiler': template name from xctrace list templates. --launch -- <cmd>: everything after -- is the target command (binary or app bundle). --attach <pid|name>: attach to running process. --output <path>: .trace output. If omitted, file saved in CWD. --time-limit 60s|5m: set capture duration. --device <name|UDID>: required for iOS device runs. --target-stdout -: stream launched process stdout to terminal (useful for CLI tools).
Inspect trace tables: xcrun xctrace export --input /tmp/App.trace --toc Export raw time-profile samples: xcrun xctrace export --input /tmp/App.trace --xpath '/trace-toc/run[@number="1"]/data/table[@schema="time-profile"]' --output /tmp/time-profile.xml Post-process in a script (Python/Rust) to aggregate stacks.
Template: Time Profiler Use βRecordβ and capture the slow path (startup vs steady-state) Call Tree tips: Hide System Libraries Invert Call Tree Separate by Thread Focus on hot frames and call counts
Wrong app profiled: LaunchServices resolves installed app instead of local build. Fix: use direct binary path or --attach with known PID. No samples / empty trace: App exits quickly or never hits work. Fix: longer capture, trigger workload during recording. Privacy prompts: xctrace may need Developer Tools permission. Fix: System Settings β Privacy & Security β Developer Tools β allow Terminal/Xcode. Large XML exports: time-profile exports are huge. Fix: filter with XPath and aggregate offline; donβt print to terminal.
Device: use xcrun xctrace list devices and --device <UDID>. Launch via Xcode if needed; attach with xctrace --attach. Ensure debug symbols for meaningful stacks.
Confirm trace process path matches target build. Confirm stacks show expected app frames. Capture covers the slow operation (startup/refresh). Export stacks for automated diffing if optimizing.
Code helpers, APIs, CLIs, browser automation, testing, and developer operations.
Largest current source with strong distribution and engagement signals.