Spm Build Analysis

Audituje grafy Swift Package a pbxproj odkazy, aby zjistil, co skutečně zpomaluje sestavení Xcode

od AvdLee · AvdLee/Xcode-Build-Optimization-Agent-Skill

Otestováno · Funguje ★ 8.4/10

Spm Build Analysis — Audituje grafy Swift Package a pbxproj odkazy, aby zjistil, co skutečně zpomaluje sestavení Xcode

Co umí

Analyzuje grafy závislostí Swift Package Manager, balíčkové pluginy, branch piny a vrstvení modulů, aby vysvětlil, proč jsou čisté nebo inkrementální sestavení Xcode pomalé. Ověřuje, že každý balíček je skutečně propojen v project.pbxproj před doporučením změn, spouští přiložený skript, který kontroluje závislosti připnuté na větve pro dostupné git tagy, a hlásí zjištění s dopadem na reálný čas, akceschopností a požadavky na schválení. Spouští se, když vývojář zmíní pomalost SPM, čas řešení balíčků, režii build pluginů, kruhové nebo příliš velké moduly, kaskádování Swift makro rebuildů nebo modularizaci pro výkon sestavení.

Testovací report

Načteno skills/spm-build-analysis/SKILL.md (92 řádků, frontmatter se parsuje s name+description) a namátkově zkontrolovány všechny tři odkazované soubory plus skript — references/spm-analysis-checks.md, references/recommendation-format.md, scripts/check_spm_pins.py všechny HTTP 200; žádné curl|sh, base64 bloby, exfiltrace tajemství nebo injekční text nikde (skript pouze spouští `git ls-remote --tags` na URL čtených z vlastního pbxproj projektu). Vytvořil jsem syntetický fixture (Modules/Package.swift s @_exported-style umbrella targetem, porušení vrstvení FeatureProfile→FeatureFeed, TCA, iOS+watchOS platformy; App.xcodeproj/project.pbxproj s Alamofire branch=master vzdáleným odkazem; a nepropojený balíček Vendor/LegacyCharts na disku), napsal základní odpověď, pak jsem úkol znovu spustil podle těla dovednosti. Konkrétní rozdíly: základ doporučil jednat s Vendor/LegacyCharts (falešně pozitivní — nemá XCLocalSwiftPackageReference a nepřispívá k době sestavení), zatímco krok ověření pbxproj dovednosti ho explicitně vyloučil; spuštění přiloženého skriptu vygenerovalo skutečná data (`Alamofire: branch=master -> tags available (latest: 5.7.1 … 5.9.1)`), takže doporučení pinu se stalo "use a semver tag" namísto odhadu; a spuštění dovednosti zachytilo zjištění test-target-depends-on-umbrella a iOS/watchOS build-multiplication, které základ minul. Náklady: 596 slov vs 174. Neměřeno: žádný skutečný rozdíl v době sestavení — nemám zde Xcode/xcodebuild, takže všechna zjištění zůstala na benchmark_verification_status "Not yet verified", což je to, co dovednost sama nařizuje. Spouštěcí fráze posouzeny — MĚLO by se spustit: (1) "Our clean builds take 9 minutes and I think it's the SPM dependency graph, can you look at Package.swift?" (2) "Every tiny edit rebuilds half the app and we use TCA macros heavily — is our module structure to blame?" (3) "How should I split my 400-file Core module so incremental builds get faster?"; NEMĚLO by se spustit: (4) "swift build fails with 'no such module Alamofire' after I added the dependency" (chyba kompilace, ne výkon sestavení) (5) "Which networking package should I pick for a new iOS app, Alamofire or URLSession?" (výběr závislosti). Všech 5 posouzeno správně proti popisu. Dokumentace ztrácí jeden bod: nadpis instalace v README, tabulka 40 kontrol a "Community Results" výhry v době sestavení patří k šestidovednostnímu orchestrátor pluginu, nikoli pouze k tomuto analyzátoru, a banner odkazuje na komerční produkt.

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/spm-build-analysis-src
mkdir -p ~/.claude/skills
cp -R /tmp/spm-build-analysis-src/skills/spm-build-analysis ~/.claude/skills/spm-build-analysis
# CLI instead (installs all six skills): npx skills add https://github.com/AvdLee/Xcode-Build-Optimization-Agent-Skill
# Needs python3 and git for scripts/check_spm_pins.py.
# SKILL.md invokes it by relative path (python3 scripts/check_spm_pins.py --project App.xcodeproj),
# so run it from the skill directory or substitute the absolute install path.

Příkazy a ukázkové prompty

  • /spm-build-analysisAudituje grafy Swift Package a pbxproj odkazy, aby zjistil, co skutečně zpomaluje sestavení Xcode

Skilly se spouštějí běžnými požadavky — žádné příkazy k zapamatování. Po instalaci ho aktivují prompty jako tyto (anglicky):

  • Why is my Xcode build so slow with these packages
  • Find circular dependencies in our SPM package graph
  • Check for duplicate module builds from config drift