ios-ettrace-performance · dpearson2699 — Claude Code skill
This skill guides a focused iOS ETTrace capture from matching dSYMs to per-thread analysis. Use it when comparing a repeatable launch or runtime flow.
npx skills add dpearson2699/swift-ios-skills --skill ios-ettrace-performance -a claude-codeWhat ios-ettrace-performance does
The skill lays out an ETTrace workflow for one bounded iOS flow. It records capture conditions, gathers dSYMs by UUID from the final build, and keeps processed output_<threadId>.json files. It covers launch and runtime capture on a Simulator or a device.
It includes commands for installing ETTrace with Homebrew plus scripts/collect_dsyms.py and scripts/analyze_ettrace.py. The analyzer checks the v1.1.1 output shape, summarizes thread data, separates inclusive from exclusive time, and puts address-bearing frames in unresolved_frames. You need Python 3, ETTrace, and the ETTrace package linked to the app target being measured. Important app frames shown as <unknown> mean symbolication must be fixed before code changes are judged.
The workflow calls for repeating the same flow after the smallest supported change while holding capture conditions steady. For broad CPU, hitch, I/O, or concurrency investigation, it points to Instruments instead.
What it helps with
- collect dSYMs that match build UUIDs
- capture an iOS launch on a Simulator
- summarize per-thread ETTrace JSON files
- flag unresolved symbols and wrong binary attribution
- compare repeated captures of one flow
Example prompts for the agent
- “Capture an ETTrace profile for this iOS app launch on a Simulator and verify dSYM UUIDs.”
- “Analyze
output_*.jsonwithscripts/analyze_ettrace.pyand list hot frames.” - “Repeat the ETTrace capture after my change with the same capture contract.”
How to install ios-ettrace-performance
1Skills CLI (Vercel)
npx skills add dpearson2699/swift-ios-skills --skill ios-ettrace-performance -a claude-code2Manually: put the files in place
~/.claude/skills/ios-ettrace-performance/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/ios-ettrace-performance/
1Skills CLI (Vercel)
npx skills add dpearson2699/swift-ios-skills --skill ios-ettrace-performance -a codex2Manually: put the files in place
.agents/skills/ios-ettrace-performance/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add dpearson2699/swift-ios-skills --skill ios-ettrace-performance -a cursor2Manually: put the files in place
.cursor/skills/ios-ettrace-performance/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install dpearson2699/swift-ios-skills ios-ettrace-performance2Manually: put the files in place
.github/skills/ios-ettrace-performance/SKILL.md1Skills CLI (Vercel)
npx skills add dpearson2699/swift-ios-skills --skill ios-ettrace-performance -a gemini-cli2Platform CLI
gemini skills install https://github.com/dpearson2699/swift-ios-skills --path skills/ios-ettrace-performanceManually: put the files in place
.devin/skills/ios-ettrace-performance/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add dpearson2699/swift-ios-skills --skill ios-ettrace-performance -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
Step by step, with commands for each platform: How to install skills in Claude Code: five ways
Questions about ios-ettrace-performance
How do I install ios-ettrace-performance in Claude Code?
Run npx skills add dpearson2699/swift-ios-skills --skill ios-ettrace-performance -a claude-code, then run npx skills add dpearson2699/swift-ios-skills --skill ios-ettrace-performance -a claude-code again. Then use ~/.claude/skills/ios-ettrace-performance/SKILL.md.
What does ios-ettrace-performance do?
It guides focused ETTrace profiling for an iOS flow. The skill covers exact-build dSYM collection, symbolication checks, per-thread reports, and repeatable comparisons.
What is required to analyze an ETTrace profile?
You need the final instrumented build, dSYMs with matching UUIDs, and processed output_<threadId>.json files. Its scripts use Python 3, and ETTrace is installed with Homebrew.
Similar skills
Everything for Mobile →ios-ettrace-performance by other authors comes first.