CLI tool
AvdLee/Xcode-Build-Optimization-Agent-Skill avatar
AvdLee/Xcode-Build-Optimization-Agent-Skill

Xcode Build Optimization Agent Skill: six skills that benchmark builds before they touch your project

An Agent Skill helping you to optimize Xcode incremental and clean builds by running benchmarks and optimizing build settings.

1,226 stars48 forksPythonMIT

At a glance

What is it?
A review of AvdLee's MIT-licensed Agent Skills package for Xcode build performance. It benchmarks clean and incremental builds, audits settings and compile hotspots, and writes an approval-gated plan to .build-benchmark/optimization-plan.md.
Who is it for?
Adopt it if you have an Xcode project with a slow incremental loop and you want a written, diffable plan before any file changes. Skip it if you need continuous measurement across machines or Xcode versions (Build Insights covers that) or if you expect the agent to edit your project unattended, because the workflow is recommend-first by design.
Can I use it commercially?
Yes. MIT is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
Is it still maintained?
Yes. The repository last received commits 2 days ago.
What is it written in?
Mainly Python, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on September 15, 2026, and from our analysis. They are not legal advice.

DEEP OPEN-SOURCE ANALYSIS

The problem is not that Xcode is slow, it is that nobody measured where

Build complaints usually arrive as a feeling. Someone says the project got slower, nobody has a number, and the fix becomes a guess about compiler flags. This repository targets that gap specifically: it is a set of Agent Skills that benchmark clean and incremental builds, run specialist analyzers over the project, and produce a prioritized plan rather than immediate edits. The audience named in the README is narrow and honest: iOS and macOS teams with slow local build loops, developers chasing a recent build-time regression, and teams that want evidence-backed optimization instead of guesswork. The README's own framing is that most projects have several seconds of easy wins hiding in build settings, script phases and compiler flags. Whether that holds for your project is exactly what the benchmark phase is meant to establish, so the tool is at least structured around its own claim. What it is not is a profiler for runtime performance, a CI dashboard, or a continuous monitor. It runs, it writes a plan, and it stops until you ask it to continue.

One orchestrator, five specialists, and a plan file as the handoff

The architecture is a coordinator over specialist skills. The README states that installing all six skills is required because the orchestrator depends on the specialists, and the flow diagram shows the orchestrator running a benchmark of clean and incremental builds, then handing results to three analyzers: compilation, project, and SPM. Those three feed an optimization plan, which is written to .build-benchmark/optimization-plan.md. At that point the flow stops at a human review step. The fixer skill only runs after you approve items, and it re-benchmarks to verify. Two design consequences follow. First, the plan file is the interface between phases, so it is also the evidence trail: the README describes it as shareable with teammates, reviewable in PRs, and diffable over time. Second, the approval step is a checkbox mechanism inside the plan rather than a command-line flag, which means the agent is reading your edits to a markdown file to decide what to change. That is a reasonable pattern for an agent workflow, but it puts weight on the plan file being well-formed. If the agent misreads which boxes you checked, the failure is silent until the re-benchmark phase, and the README does not describe what that verification does when a change makes things worse.

What the 40-plus checks actually cover

The repository points to OPTIMIZATION-CHECKS.md for the full list and gives a summary table in the README. The categories span build settings (compilation mode, optimization level, eager linking, compilation caching), script phase analysis (missing input and output declarations, scripts running unnecessarily, debug and simulator guards), compile hotspot detection (long type-checks, complex expressions, compiler diagnostic flags), zero-change build overhead from fixed-cost phases such as codesign, validation and scripts, target dependency review, and module variant detection for config drift that causes duplicate module builds. Further down the list are SPM graph analysis covering plugin overhead, branch pins, package layering and circular dependencies, Swift macro impact including cascading rebuilds and swift-syntax universal builds, SwiftUI view decomposition for monolithic body properties, asset catalog parallelism, access control optimization for missing final and overly broad visibility, and incremental build diagnostics around planning Swift module, SwiftEmitModule and task backtraces. The breadth is the point and also the risk. A check like missing final on a class is a source-level suggestion that can conflict with a library's public API intent, while a check on script phase inputs is purely mechanical. The README does not rank which checks are safe to apply automatically, so the approval step is doing real work rather than being a formality.

Installing it and running the two phases

Installation is a single command: npx skills add https://github.com/avdlee/xcode-build-optimization-agent-skill. The README notes that all six skills must be installed because the orchestrator needs the specialists. Phase one is triggered by asking the agent to use the /xcode-build-orchestrator skill to analyze build performance and produce a plan. The stated outputs are benchmarks of clean and incremental builds, a settings audit, compile hotspots, and the plan at .build-benchmark/optimization-plan.md, with no project files modified. Phase two is a separate prompt: implement the approved items from the optimization plan at .build-benchmark/optimization-plan.md, then re-benchmark to verify the improvements. Two things are worth flagging. The path is relative, so the agent needs to be working from the project root or the plan lands somewhere unexpected. And the workflow assumes an AI coding tool that supports Agent Skills and slash-style skill invocation; the README does not enumerate which tools qualify, so compatibility is something to confirm with your tool's documentation before you invest a run. The Python listed as the primary language is presumably the skill tooling, not something you invoke directly.

The community results table, read carefully

The README includes a table of reported improvements with links to pull requests for several projects. The spread is wide and the table itself is candid about it. Helm for App Store Connect shows an incremental build going from 70s to 9s while clean build moved from 86s to 91s, which the README labels as within noise. Kickstarter iOS shows roughly no change on either metric. Dash shows a small incremental regression, also labeled within noise. Klivvr shows a large clean-build improvement (247s to 167s) and no incremental change. The README also carries a note explaining that a small clean-build increase is normal when compilation caching is enabled, because the first cold build populates the cache, and that the gains appear on cached clean builds and incremental builds. That note is doing a lot of explanatory work, and it is the kind of claim you should test on your own project before accepting. These are self-reported results from contributors, not controlled measurements, and the README invites developers to add their own rows via pull request. Treat the table as a set of hypotheses about where wins tend to appear, not as an expected outcome. A project with a fast incremental build and a heavy clean build may see the opposite pattern from Helm.

Where it stops being the right tool

The README is explicit that this skill is for local, one-off analysis runs. For long-term monitoring across days, machines, Xcode versions and teams, it points to RocketSim Build Insights and Team Build Insights, which are commercial products from the same author (the repository homepage is rocketsim.app). That is the honest boundary: the skill gives you a snapshot and a plan, not a time series. If your problem is that a build got slower three weeks ago and you need to know which commit did it, a single benchmark run today cannot answer that, because you have no baseline from before. The other limitation is the human-in-the-loop design. If you want an agent that finds a slow script phase and removes it in the same session, this workflow will feel like two steps where you expected one. And because the fixer re-benchmarks after applying changes, a change that improves incremental builds but slows clean builds will show up as a mixed result, with no stated policy in the README for how the agent resolves that trade-off. You resolve it.

Compared with just reading your build log

The obvious alternative is manual work: run xcodebuild with timing summaries, read the build log for the slowest compile steps, and check script phases by hand. That approach has no install cost and no dependency on an agent tool, and for a single suspected hotspot it is often faster than setting up six skills. The difference in approach is that the skill package encodes a fixed checklist of over 40 named checks in OPTIMIZATION-CHECKS.md and runs all of them, including categories that are easy to forget, such as module variant drift across targets or asset catalog parallelism. A manual pass tends to find what you already suspected. The skill also writes the plan to a file with an approval mechanism, which means the findings survive the session and can be reviewed by someone else. The trade-off is that the checklist is generic. It does not know that your project's slow build is caused by something outside the list, and it will still spend a benchmark run producing a plan that may rank a low-impact setting above the real problem. If you already know your bottleneck, the manual route is cheaper. If you do not, the checklist is the reason to use it.

Maintenance, licensing and what to check before adopting

The project is MIT licensed, which permits commercial use and modification, but note that the README directs teams needing ongoing monitoring to RocketSim's paid Build Insights products, so the open-source package and the commercial offering are complementary rather than substitutes. Licence text aside, the practical maintenance question is the skill definitions themselves: they encode Xcode build setting names and compiler flags, and those change with Xcode releases. The repository's last push is dated 2026-08-12 with releases 1.0.0 and 1.0.1 both landing on 2026-04-01, so the release cadence so far is a single initial pair rather than a track record. There is nothing in the supplied material describing a deprecation policy or a compatibility matrix against Xcode versions. Before adopting, verify three things: that your AI coding tool supports this Agent Skills format, that the checks in OPTIMIZATION-CHECKS.md match the parts of your build you actually care about, and that a baseline benchmark run on your project produces numbers you can reproduce by timing a build yourself. If the baseline does not match, the plan built on top of it is not worth acting on.

Editorial conclusion

Adopt it if you have an Xcode project with a slow incremental loop and you want a written, diffable plan before any file changes. Skip it if you need continuous measurement across machines or Xcode versions (Build Insights covers that) or if you expect the agent to edit your project unattended, because the workflow is recommend-first by design. Before trusting a run, verify the baseline numbers in .build-benchmark/optimization-plan.md against a build you timed yourself, and read OPTIMIZATION-CHECKS.md to confirm the specific checks you care about are in the list.

Official sources

  1. AvdLee/Xcode-Build-Optimization-Agent-Skill on GitHub
  2. License: MIT
  3. Project website
  4. README
  5. Releases
Community notes

Community notes