Xcode Build Benchmark
Measures Xcode clean, cached-clean and incremental build times into a JSON artifact
Test report
- Verdict
- Works with setup
- Score
- Tested
- Jul 21, 2026
- Environment
- Claude Code 2.x (agent harness)
- Upstream re-checked
- Aug 10, 2026 · 32ff2f3
This machine has only Command Line Tools (`xcodebuild -version` errors: "requires Xcode"), so no real iOS build could be benchmarked — hence outputMeasured=false. To verify the machinery anyway I put a stub `xcodebuild` on PATH that emits a fake Build Timing Summary and ran `scripts/benchmark_builds.py` end to end: exit 0, 12 raw logs plus one timestamped JSON written to the output dir, cached-clean phase auto-detected from COMPILATION_CACHE_ENABLE_CACHING=YES, medians/min/max computed per build type, and the timing parser correctly split "SwiftCompile (412 tasks) | 128.412 seconds" into name/seconds/task_count. One concrete defect: the default run (no --touch-file) tags runs `build_type: "zero-change"`, which fails the skill's own schemas/build-benchmark.schema.json (enum is clean|cached-clean|incremental) — jsonschema rejected the generated artifact. Scripts are network-free with no curl|sh, base64 or injection text; the only footgun is `shutil.rmtree` on a user-supplied --derived-data-path during the cached-clean phase.
Scored on four weighted criteria — install, triggering, output vs. baseline, docs. How scoring works
- Installs cleanly 5/5
- Triggers reliably 5/5
- Output vs. baseline 5/10
- Docs & honesty 4/5
What Xcode Build Benchmark does
Runs repeatable xcodebuild benchmarks for a scheme — 3 clean builds, 3 zero-change builds, optional touch-file incremental builds, plus a cached-clean phase when COMPILATION_CACHE_ENABLE_CACHING is on — and writes timestamped JSON plus raw logs to .build-benchmark/. Reports medians, min/max and the dominant build-timing-summary categories instead of a single fastest run. Triggers when a developer asks to measure Xcode build times, wants a before/after baseline, or asks whether builds got faster or slower.
How to install Xcode Build Benchmark
git clone --depth 1 https://github.com/AvdLee/Xcode-Build-Optimization-Agent-Skill.git /tmp/xcode-build-benchmark-src
mkdir -p ~/.claude/skills
cp -R /tmp/xcode-build-benchmark-src/skills/xcode-build-benchmark ~/.claude/skills/xcode-build-benchmark
# Requires full Xcode (not just Command Line Tools) and an .xcodeproj/.xcworkspace.
# CLI instead: npx skills add https://github.com/AvdLee/Xcode-Build-Optimization-Agent-Skill --skill xcode-build-benchmark
# Plugin instead: /plugin marketplace add AvdLee/Xcode-Build-Optimization-Agent-Skill
# Run from the project directory:
# python3 ~/.claude/skills/xcode-build-benchmark/scripts/benchmark_builds.py \
# --workspace App.xcworkspace --scheme MyApp --configuration Debug \
# --destination "platform=iOS Simulator,name=iPhone 16" --output-dir .build-benchmark
Skills live in ~/.claude/skills/ (global) or .claude/skills/
(per-project). Restart Claude Code after installing.
Commands — how to trigger Xcode Build Benchmark
-
/xcode-build-benchmarkMeasures Xcode clean, cached-clean and incremental build times into a JSON artifact
It also activates on plain-language prompts like these:
-
Benchmark our current Xcode build time -
Compare build times before and after this change -
Measure how long incremental builds take now
Frequently asked questions
- Is the Xcode Build Benchmark skill free?
- Yes. The skill itself is free from AvdLee/Xcode-Build-Optimization-Agent-Skill. SkillProof publishes the install command and an independent test verdict at no cost.
- Does Xcode Build Benchmark work with Claude Code?
- We tested it with Claude Code 2.x (agent harness) on Jul 21, 2026. Verdict: Works with setup. This machine has only Command Line Tools (`xcodebuild -version` errors: "requires Xcode"), so no real iOS build could be benchmarked — hence outputMeasured=false. To verify the machinery anyway I put a stub `xcodebuild` on PATH that emits a fake Build Timing Summary and ran `scripts/benchmark_builds.py` end to end: exit 0, 12 raw logs plus one timestamped JSON written to the output dir, cached-clean phase auto-detected from COMPILATION_CACHE_ENABLE_CACHING=YES, medians/min/max computed per build type, and the timing parser correctly split "SwiftCompile (412 tasks) | 128.412 seconds" into name/seconds/task_count. One concrete defect: the default run (no --touch-file) tags runs `build_type: "zero-change"`, which fails the skill's own schemas/build-benchmark.schema.json (enum is clean|cached-clean|incremental) — jsonschema rejected the generated artifact. Scripts are network-free with no curl|sh, base64 or injection text; the only footgun is `shutil.rmtree` on a user-supplied --derived-data-path during the cached-clean phase.
- What is the Xcode Build Benchmark SkillProof Score?
- 7.6/10 — installs cleanly 5/5, triggers reliably 5/5, output vs. baseline 5/10, docs & honesty 4/5.
- How do I install Xcode Build Benchmark?
- Copy the install command from this page, run it in your terminal, and restart Claude Code. Skills live in ~/.claude/skills/ (global) or .claude/skills/ inside a project.
- Can I use Xcode Build Benchmark with Cursor, Copilot, Gemini CLI, Codex or other AI tools?
- The SKILL.md format is native to Claude (Claude Code, Desktop, claude.ai). The instructions inside adapt to other assistants: Cursor rules, GitHub Copilot instructions, Windsurf rules, Custom GPTs, AGENTS.md for OpenAI Codex, and GEMINI.md for Google Gemini CLI — our conversion guides cover each, and the free converter on the tools page does the wrapping for you.