Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add jamesrochabrun/XcodeTraceMCP --skill xctrace-profilergit clone --depth 1 https://github.com/jamesrochabrun/XcodeTraceMCPWrote 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/jamesrochabrun/xcodetracemcp/xctrace-profiler)<a href="https://agentmods.dev/skills/jamesrochabrun/xcodetracemcp/xctrace-profiler"><img src="https://agentmods.dev/badge/skills/jamesrochabrun/xcodetracemcp/xctrace-profiler/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/jamesrochabrun/xcodetracemcp/xctrace-profiler"><img src="https://agentmods.dev/badge/skills/jamesrochabrun/xcodetracemcp/xctrace-profiler.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.00108 | $0.02280 |
| Opus 5.5 | $0.00043 | $0.00912 |
| Sonnet 5.5 | $0.00022 | $0.00456 |
| Haiku 4.5 | $0.00011 | $0.00228 |
Grade A, and why
xctrace-profiler scanned grade A with 0 findings 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 2mo 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.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 103 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Xcode Trace Profiler
Goal
Be the user-facing profiler for xctrace-analyzer. Users should ask in plain language; do not ask them to know MCP tool names or JSON. Choose the workflow, call the MCP execution tools, and report what xctrace could and could not export.
Simple Prompts
- "Profile this app."
- "Profile this app for hangs."
- "Find why this app is slow."
- "Check this build for leaks and allocation churn."
- "Analyze network activity."
- "Launch the app and profile startup."
- "Record my app on launch."
- "I will launch MyApp; record it for 60 seconds when it appears."
- "Analyze this trace."
- "Compare these two traces."
What It Can Track
- CPU and Time Profiler bottlenecks
- Hangs, freezes, stutters, microhangs, and severe hangs
- Top User-Code Frames that attribute samples to app binaries
- Leaks and allocation churn when Xcode exports usable rows
- Network requests, failures, transfer volume, and top hosts when HAR or CFNetwork data is exportable
- Energy / Power Profiler data where Xcode supports it, mainly iOS/iPadOS
- Existing
.tracefiles, optional dSYM symbolication, scopedtimeRangeMsanalysis, and Time Profiler regressions - Safe cleanup of generated
.tracebundles after the user is done inspecting them
Workflow
-
Classify the request.
- Cleanup / delete traces: call
cleanup_traces. - Existing
.trace: callanalyze_trace. - Baseline/current or regression: call
compare_traces. - Explicit single template such as Leaks, Allocations, Network, or Time Profiler: call
track_running_app. - Broad, vague, hangs, CPU, leaks, memory, allocations, network, energy, startup, or "profile this app": call
profile_running_app.
- Cleanup / delete traces: call
-
Establish the target.
- Inspect the project for obvious Xcode targets, schemes, bundle names, app products, or trace paths before asking.
- If shell access is available and the app may already be running, discover candidate PIDs and prefer the exact PID.
- For already-running apps, use attach-by-PID immediately, especially when several processes share a name. Do not ask launch-prep questions for active app profiling.
- Use launch mode only for explicit startup/cold-launch profiling.
- For launch or startup prompts such as "get ready, I will launch my app", "record my app on launch", "profile when I launch it", or "cold launch profile", first establish what process should be watched.
- If exactly one likely app target is discoverable, announce it and start manual-launch observation immediately: "I found MyApp. I'm watching for its PID now; launch it when ready."
- If the app identity is missing or ambiguous, ask one concise question for the app name, bundle id, app path, or scheme, and offer observation as the easy fallback: "I can also start observing now and you can launch it after I say I'm watching."
- Once manual launch observation starts, poll every 200-500 ms for up to 60 seconds while the user launches the app. As soon as one valid PID is visible, call the recording tool with
target: "attach",processNameset to that exact PID, anddurationSecondsset from the user's requested duration so recording starts as close to launch as possible. - While observing, a short status such as "I'm watching for MyApp now; launch it when ready." is enough. Keep polling after sending that status.
- If multiple matching PIDs appear during observation, prefer the newest app executable PID over helper processes. If ambiguity remains, keep observing briefly for a stable main-app PID; ask only if the candidates are still ambiguous.
- If no PID appears before the observation timeout, tell the user no launch was detected and ask them to relaunch or provide the exact app name, bundle id, or PID.
- If no target can be discovered, ask one concise question for the app path, scheme, bundle id, process name, or PID.
- Infer
userBinaryHintsfrom the app, scheme, executable, module, or bundle name.
What ships with it
2 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.
- 2mo ago First seen · 103 lines · 108 tokens per session scan A 5a24fe3af71b
xctrace-profiler is a skill published in the GitHub repository jamesrochabrun/XcodeTraceMCP (44 stars, last pushed 5mo ago), licensed MIT. It adds 108 tokens to every session and 2,280 once invoked, about $0.0004 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
xctrace-profiler compared with skills from other repositories
| Mod | Type | Stars | Last push | Licence | Scan | Tokens | Works with |
|---|---|---|---|---|---|---|---|
| xctrace-profilerjamesrochabrun/XcodeTraceMCP | Skill | 44 | 5mo ago | MIT | A | 108 | Codex |
| ios-fixgarrytan/gstack | Skill | 140k | yesterday | MIT | A | 15 | Claude Code |
| node-connectopenclaw/openclaw | Skill | 394k | yesterday | MIT | A | 39 | Claude Code, Codex |
| google-mobile-ads-validategoogle/skills | Skill | 22k | yesterday | Apache-2.0 | A | 84 | Claude Code, Codex |
| jetpack-compose-performanceandroid/skills | Skill | 10k | yesterday | Apache-2.0 | A | 41 | Claude Code |
| android-tombstone-symbolicationdotnet/skills | Skill | 5.8k | yesterday | MIT | A | 176 | Claude Code |
| swiftui-performance-auditsteipete/agent-scripts | Skill | 7.5k | 7d ago | MIT | A | 24 | Claude Code, Codex |