Borrowing it
Nothing to install: this file belongs to omarshahine/apple-pim. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.
curl -O https://raw.githubusercontent.com/omarshahine/apple-pim/main/.claude/skills/ios-ettrace-performance/SKILL.mdgit clone --depth 1 https://github.com/omarshahine/apple-pimWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/omarshahine/apple-pim/ios-ettrace-performance)<a href="https://agentmods.dev/skills/omarshahine/apple-pim/ios-ettrace-performance"><img src="https://agentmods.dev/badge/skills/omarshahine/apple-pim/ios-ettrace-performance/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/omarshahine/apple-pim/ios-ettrace-performance"><img src="https://agentmods.dev/badge/skills/omarshahine/apple-pim/ios-ettrace-performance.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00073 | $0.02230 |
| Opus 5 | $0.00036 | $0.01115 |
| Sonnet 5 | $0.00015 | $0.00446 |
| Haiku 4.5 | $0.00007 | $0.00223 |
Grade C, and why
ios-ettrace-performance scanned grade C with 1 finding against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 9d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Recursive force deletehighDestructive command
rm -rf with a variable or a broad path is one typo away from removing the wrong tree.
rm -rf "$RUN_DIR/ETTrace-iphonesimulator.xcarchive" "$RUN_DIR/ETTrace.xcframework" This is a copy
100% identical to ios-ettrace-performance — 0 lines differ, which has more behind it and is treated as the original. This page carries a canonical link to it rather than competing with it.
How it starts
The opening of the file, as written. The whole thing — 198 lines — stays where its author put it; the contents beside it link to each section on GitHub.
iOS ETTrace Performance
Use this skill to capture a focused, symbolicated ETTrace profile from an iOS simulator app. Pair it with ../ios-debugger-agent/SKILL.md when the task also needs simulator build, install, launch, UI driving, logs, or screenshots.
Core Workflow
- Pick one focused flow and write down the expected start and stop points.
- Build the exact simulator app that will be installed and profiled.
- Temporarily link ETTrace into that app target for simulator/debug profiling.
- Collect UUID-matched dSYMs for the app executable and embedded dynamic frameworks.
- Capture one launch or runtime trace.
- Preserve the processed flamegraph JSON immediately after the run.
- Analyze only the processed JSON and report the flow, artifacts, hotspots, and caveats.
Avoid broad "use the app for a while" captures. One trace should correspond to one user-visible flow.
Setup
Use a writable run folder for each profiling session:
if [ -z "${RUN_DIR:-}" ]; then
RUN_DIR="$(mktemp -d "${TMPDIR:-/tmp}/codex-ios-ettrace.XXXXXX")"
fi
mkdir -p "$RUN_DIR"
Install the ETTrace runner CLI if it is not already available:
brew install emergetools/homebrew-tap/ettrace
ettrace is the host-side macOS runner. The app must also link an ETTrace.xcframework for the iOS Simulator architecture.
This workflow is validated for ETTrace v1.1.0 processed output_<thread>.json files with top-level nodes.
Link ETTrace Into The App
Wire ETTrace into the exact app target being profiled. Keep the integration in a clearly temporary patch and remove it when the profiling task is done unless the user explicitly asks to keep it.
Preferred options:
- Reuse an existing simulator-compatible
ETTrace.xcframeworkif the repo already vendors one. - If none exists, build a simulator-only copy into
RUN_DIRfrom the upstream ETTrace package. - Link the framework directly into the app target, not only into tests, resources, data files, or a nested launcher target.
- Confirm launch logs print
Starting ETTrace. - Profile only one ETTrace-instrumented simulator app at a time because simulator mode listens on a fixed localhost port.
What ships with it
3 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 9d ago First seen · 198 lines · 73 tokens per session scan C a5ed95b19c3f
ios-ettrace-performance is a skill published in the GitHub repository omarshahine/apple-pim (52 stars, last pushed 2d ago), licensed MIT. It adds 73 tokens to every session and 2,230 once invoked, about $0.0004 per session on Opus 5. A static security scan graded it C with 1 finding (recursive force delete). It is 100% identical to ios-ettrace-performance, differing in 0 lines, and is treated as a copy.
Other skills, from other repositories
troubleshoot-tcc
A troubleshooting guide for macOS permissions that control access to Calendar and Reminders.
archive-event
Archive a meeting or event into Calendar from a narrative source — a meeting notice, an announcement, a message thread — deriving the time from the thread's authoritative correction, recording the source in the event notes, and labelling any value the source did not state. Use when the user hands over a notice…
calendar-management
Guide for effective use of che-ical-mcp for macOS Calendar & Reminders management. Use when user asks about calendar events, reminders, scheduling, or time management.
rem-cli
Create, list, update, complete, tag, and search macOS Reminders via the rem CLI. Use when the user wants to manage Apple Reminders from the terminal, automate reminder workflows, reference reminders in shell scripts, or schedule anything on macOS.
local-access
A guide for controlling a Mac through local applications such as Calendar, Contacts, Mail, Reminders, Finder, and a web browser. It describes the command format for requesting these actions.
swift-concurrency-pro
Reviews Swift code for concurrency correctness, modern API usage, and common async/await pitfalls. Use when reading, writing, or reviewing Swift concurrency code.