Xcode Build Benchmark
Mierzy czasy kompilacji Xcode clean, cached-clean i przyrostowych do artefaktu JSON
Działa po konfiguracji
Co robi ten skill
Uruchamia powtarzalne benchmarki xcodebuild dla schematu — 3 czyste kompilacje, 3 kompilacje bez zmian, opcjonalne przyrostowe kompilacje z dotykaniem plików, plus faza cached-clean, gdy COMPILATION_CACHE_ENABLE_CACHING jest włączone — i zapisuje JSON z sygnaturą czasową oraz surowe logi do .build-benchmark/. Raportuje mediany, min/max i dominujące kategorie podsumowania czasu kompilacji zamiast pojedynczego najszybszego uruchomienia. Uruchamia się, gdy deweloper prosi o zmierzenie czasów kompilacji Xcode, chce punktu odniesienia przed/po, lub pyta, czy kompilacje stały się szybsze czy wolniejsze.
Raport z testu
Ta maszyna ma tylko Command Line Tools (`xcodebuild -version` błędy: "requires Xcode"), więc żadna rzeczywista kompilacja iOS nie mogła zostać poddana benchmarkowi — stąd outputMeasured=false. Aby mimo to zweryfikować mechanizm, umieściłem zaślepkę `xcodebuild` w PATH, która emituje fałszywe podsumowanie czasu kompilacji i uruchomiłem `scripts/benchmark_builds.py` od początku do końca: exit 0, 12 surowych logów plus jeden JSON z sygnaturą czasową zapisany do katalogu wyjściowego, faza cached-clean automatycznie wykryta z COMPILATION_CACHE_ENABLE_CACHING=YES, mediany/min/max obliczone dla każdego typu kompilacji, a parser czasu poprawnie podzielił "SwiftCompile (412 tasks) | 128.412 seconds" na name/seconds/task_count. Jedna konkretna wada: domyślne uruchomienie (bez --touch-file) oznacza uruchomienia `build_type: "zero-change"`, co powoduje błąd w schemacie umiejętności schemas/build-benchmark.schema.json (enum to clean|cached-clean|incremental) — jsonschema odrzuciło wygenerowany artefakt. Skrypty są wolne od sieci, bez curl|sh, base64 lub tekstu iniekcji; jedynym zagrożeniem jest `shutil.rmtree` na dostarczonej przez użytkownika ścieżce --derived-data-path podczas fazy cached-clean.
Testowano: 2026-07-21 · Claude Code 2.x (agent harness)
Instalacja
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
Komendy i przykładowe prompty
/xcode-build-benchmarkMierzy czasy kompilacji Xcode clean, cached-clean i przyrostowych do artefaktu JSON
Skille uruchamiają się na zwykłe polecenia — bez komend do zapamiętania. Po instalacji aktywują go prompty takie jak te (po angielsku):
Benchmark our current Xcode build timeCompare build times before and after this changeMeasure how long incremental builds take now