Xcode Build Fixer
Aplikuje schválené opravy nastavení sestavení Xcode, fází skriptů a Swiftu, poté znovu provede benchmarky
Funguje s nastavením
Co umí
Implementuje dříve schválené změny výkonu sestavení Xcode – nastavení sestavení project.pbxproj, ochrany fází run-script a deklarace vstupů/výstupů, refaktoringy zdrojového kódu Swift, které snižují zátěž type-checkeru, a restrukturalizaci cílů SPM – jednu opravu po druhé, která je připravena k revizi. Poté znovu spustí přibalený benchmarkovací skript xcodebuild a nahlásí čisté, cached-clean a inkrementální rozdíly v reálném čase v pevné tabulce Execution Report, s explicitními pravidly pro to, kdy je pomalejší číslo skutečnou regresí oproti kompromisu v cachování. Spouští se, když vývojář požádá o aplikaci oprav sestavení z optimalizačního plánu, změnu nastavení sestavení Debug, ochranu fáze skriptu nebo zrychlení pomalu kompilujícího souboru Swift.
Testovací report
Nainstalováno do dočasného HOME (mktemp -d): frontmatter parsován přesně na name+description, všechny tři odkazované references/*.md plus scripts/benchmark_builds.py vrátily HTTP 200, skript --help běžel čistě na python3 stdlib a grep nenašel žádné curl|sh, base64, pevně zakódované cesty /Users ani injekční text. Pro výstup jsem sestavil pomalu typově kontrolovaný soubor Swift (zřetězená aritmetika v score/blend/normalize, swiftc -typecheck best-of-5 = 3.97s), napsal základní refaktor bez dovednosti (1.70s) a refaktor podle dovednosti dle references/fix-patterns.md (1.69s) — identické, takže polovina opravy zdroje nepřinesla žádný měřitelný zisk oproti mému vlastnímu instinktu; dodatečné úpravy final/private/explicit-closure-type dovednosti nic nezměnily v době kompilace. U druhého podúkolu, bloku Debug buildSettings, artefakt dovednosti přidal čtyři nastavení, která můj základní test vynechal (COMPILATION_CACHE_ENABLE_CACHING, EAGER_LINKING, SWIFT_USE_INTEGRATED_DRIVER, ENABLE_TESTABILITY) plus ochranu skriptu `[[ "$CONFIGURATION" != "Release" ]] && exit 0` — skutečná výhoda kontrolního seznamu, ale taková, kterou jsem nemohl ověřit jako rychlejší. Verdikt je „setup“, protože tento stroj má pouze Command Line Tools (chyby xcodebuild -version), takže hlavní smyčka dovednosti — xcodebuild verify plus benchmark_builds.py re-benchmark a rozdíly v Execution Report — nebyla nikdy provedena; to vyžaduje plný Xcode a skutečný .xcodeproj.
Testováno: 2026-07-21 · Claude Code 2.x (agent harness)
Instalace
git clone --depth 1 https://github.com/AvdLee/Xcode-Build-Optimization-Agent-Skill.git /tmp/xcode-build-fixer-src mkdir -p ~/.claude/skills cp -R /tmp/xcode-build-fixer-src/skills/xcode-build-fixer ~/.claude/skills/xcode-build-fixer # Requires macOS with FULL Xcode (not just Command Line Tools) — the verify/re-benchmark # step shells out to xcodebuild. Check with: xcodebuild -version # Benchmark script needs python3 (stdlib only, no pip deps): # python3 ~/.claude/skills/xcode-build-fixer/scripts/benchmark_builds.py \ # --project App.xcodeproj --scheme MyApp --configuration Debug \ # --destination "platform=iOS Simulator,name=iPhone 16" --output-dir .build-benchmark # SKILL.md's escalation links point at sibling skills (xcode-project-analyzer, # xcode-compilation-analyzer, spm-build-analysis) that are NOT installed by the above. # To get the whole set instead: # for s in xcode-build-fixer xcode-build-benchmark xcode-build-orchestrator \ # xcode-compilation-analyzer xcode-project-analyzer spm-build-analysis; do # cp -R /tmp/xcode-build-fixer-src/skills/$s ~/.claude/skills/$s; done # Plugin alternative: /plugin marketplace add AvdLee/Xcode-Build-Optimization-Agent-Skill # /plugin install xcode-build-skills@xcode-build-skills
Příkazy a ukázkové prompty
/xcode-build-fixerAplikuje schválené opravy nastavení sestavení Xcode, fází skriptů a Swiftu, poté znovu provede benchmarky
Skilly se spouštějí běžnými požadavky — žádné příkazy k zapamatování. Po instalaci ho aktivují prompty jako tyto (anglicky):
Apply the approved build optimization planFix the script phase causing slow buildsRe-benchmark after applying this build setting change