Help us improve
Share bugs, ideas, or general feedback.
From xcode-build-skills
Analyzes SPM dependencies, plugins, module variants, and CI overhead slowing Xcode builds. Detects cycles, oversized modules, config drift, and graph issues hurting clean/incremental perf.
npx claudepluginhub avdlee/xcode-build-optimization-agent-skill --plugin xcode-build-skillsHow this skill is triggered — by the user, by Claude, or both
Slash command
/xcode-build-skills:spm-build-analysisThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Use this skill when package structure, plugins, or dependency configuration are likely contributing to slow Xcode builds.
Analyzes Swift Package Manager dependencies, plugins, module variants, branch pins, package graph shape, macros, binary targets, and CI/local build overhead that slow Xcode builds.
Audits Xcode projects for build performance issues in configurations, settings, schemes, scripts, dependencies, and parallelization with approval gates. For slow incremental builds and optimization.
Provides UI/UX resources: 50+ styles, color palettes, font pairings, guidelines, charts for web/mobile across React, Next.js, Vue, Svelte, Tailwind, React Native, Flutter. Aids planning, building, reviewing interfaces.
Share bugs, ideas, or general feedback.
Use this skill when package structure, plugins, or dependency configuration are likely contributing to slow Xcode builds.
Package.swift and Package.resolvedBefore including any local package in a recommendation, verify that it is actually part of the project's dependency graph. A Vendor/ directory may contain packages that are not linked to any target.
project.pbxproj for XCLocalSwiftPackageReference entries that reference the package path.XCSwiftPackageProductDependency entries to confirm the package's product is linked to at least one target.When recommending version pins for branch-tracked dependencies:
python3 scripts/check_spm_pins.py --project App.xcodeproj
This checks git ls-remote --tags for each branch-pinned package and reports which have tags available for pinning.@_exported import that create hidden dependency chainsswift-syntax building universally (all architectures) when no prebuilt binary is available, adding significant clean-build overheadSwiftCompile, SwiftEmitModule, and ScanDependencies tasksMigrating a dependency from a monolithic target to a modular multi-target SDK (e.g., replacing one umbrella library with separate Core, RUM, Logs, Trace modules) does not automatically reduce build time. Modular targets increase the number of SwiftCompile, SwiftEmitModule, and ScanDependencies tasks because each target must be compiled, scanned, and emit its module independently. The build-time trade-off depends on the project's parallelism headroom and how many of the modular targets are actually needed.
When considering a modular SDK migration:
SwiftCompile task count before and after.When the same module appears multiple times in timing output, investigate whether different package or target options are forcing extra module variants. Uniform options often matter more than shaving a small amount of source code.
For each finding, include:
If the main problem is not package-related, hand off to xcode-project-analyzer or xcode-compilation-analyzer by reading the target skill's SKILL.md and applying its workflow to the same project context.