Token导航 LogoToken导航TokenDH.com
前端设计只读github未标认证来源可访问许可证需确认审计通过

xcode-build-fixerXcode 构建 fixer

Agent Skill

xcode-build-fixer 用于处理 GitHub 仓库、Issue、Pull Request 和代码协作信息,适合在 Codex、Claude、Cursor、Gemini CLI 中需要围绕仓库状态、代码变更或协作事项进行整理时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

总安装

46,968

周安装

1,868

GitHub Stars

971

下载量

14,744
CodexClaudeCursorGemini CLI

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

unknown

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:xcode-build-fixer(Xcode 构建 fixer)
来源仓库:https://github.com/avdlee/xcode-build-optimization-agent-skill
仓库路径:skills/xcode-build-fixer
安装命令:
npx skills add https://github.com/avdlee/xcode-build-optimization-agent-skill --skill xcode-build-fixer
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 npx skills 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

skills.shnpx skills
npx skills add https://github.com/avdlee/xcode-build-optimization-agent-skill --skill xcode-build-fixer

简介

Xcode Build Fixer 实施经批准的构建优化变更,并通过基准测试验证效果。

  • 适用于 Xcode 项目编译耗时优化与增量构建改进场景。
  • 每次只应用一个逻辑修复,并报告文件改动与性能 delta。
  • 安装方式:npx skills add https://github.com/avdlee/xcode-build-optimization-agent-skill --skill xcode-build-fixer
  • 必须有 explicit developer approval 的优化计划方可执行

SKILL.md

Xcode Build Fixer

Use this skill to implement approved build optimization changes and verify them with a benchmark.

Core Rules

  • Only apply changes that have explicit developer approval.
  • Apply one logical fix at a time so changes are reviewable and reversible.
  • Re-benchmark after applying changes to verify improvement.
  • Report exactly what changed, which files were touched, and the measured delta.
  • If a change produces no improvement or causes a regression, flag it immediately.

Inputs

The fixer expects one of:

  • An approved optimization plan at .build-benchmark/optimization-plan.md with checked approval boxes.
  • An explicit developer instruction describing the fix to apply (e.g., "set DEBUG_INFORMATION_FORMAT to dwarf for Debug").

When working from an optimization plan, read the approval checklist and implement only the checked items.

Fix Categories

Build Settings

Change project.pbxproj values to match the recommendations in build-settings-best-practices.md.

Typical fixes:

  • Set DEBUG_INFORMATION_FORMAT = dwarf for Debug
  • Set SWIFT_COMPILATION_MODE = singlefile for Debug
  • Enable COMPILATION_CACHE_ENABLE_CACHING = YES
  • Enable EAGER_LINKING = YES for Debug
  • Align cross-target settings to eliminate module variants

When editing project.pbxproj, locate the correct buildSettings block by matching the target name and configuration name. Verify the change with xcodebuild -showBuildSettings after applying.

Script Phases

Fix run script phases that waste time during incremental or debug builds.

Typical fixes:

  • Add input and output file declarations so Xcode can skip unchanged scripts.
  • Add configuration guards: [["$CONFIGURATION"!= "Release"]] && exit 0 for release-only scripts.
  • Move input/output lists into .xcfilelist files when the list is long.
  • Enable Based on dependency analysis when inputs and outputs are declared.

Source-Level Compilation Fixes

Apply code changes that reduce type-checker and compiler overhead. See references/fix-patterns.md for before/after patterns.

Typical fixes:

  • Add explicit type annotations to complex expressions.
  • Break long chained or nested expressions into intermediate typed variables.
  • Mark classes final when they are not subclassed.
  • Tighten access control (private/fileprivate) for internal-only symbols.
  • Extract monolithic SwiftUI body properties into smaller composed subviews.
  • Replace deeply nested result-builder code with separate typed helpers.
  • Add explicit return types to closures passed to generic functions.

SPM Restructuring

Restructure Swift packages to improve build parallelism and reduce rebuild scope.

Typical fixes:

  • Move shared types to a lower-layer module to eliminate circular or upward dependencies.
  • Split oversized modules (200+ files) by feature area.
  • Extract protocol definitions into lightweight interface modules.
  • Remove unnecessary @_exported import usage.
  • Align build options across targets that import the same packages to prevent module variant duplication.
  • Pin branch-tracked dependencies to tagged versions or commit hashes for deterministic resolution.

Before applying version pin changes:

  • Run git ls-remote --tags <url> to confirm tags exist. If the upstream has no tags, pin to a specific revision hash instead.
  • Verify the pinned version resolves successfully with xcodebuild -resolvePackageDependencies before proceeding.

Execution Workflow

  1. Read the approved optimization plan or developer instruction.
  2. For each approved item, identify the exact files and locations to change.
  3. Apply the change.
  4. Verify the change compiles: run a quick xcodebuild build to confirm no errors were introduced.
  5. After all approved changes are applied, re-benchmark using the same inputs from the original baseline: python3 scripts/benchmark_builds.py \ --project App.xcodeproj \ --scheme MyApp \ --configuration Debug \ --destination "platform=iOS Simulator,name=iPhone 16" \ --output-dir.build-benchmark
  6. Compare post-change medians to the baseline and report deltas.

Evaluating Regressions

Not every slower number is a true regression. The fixer must evaluate the full picture before recommending a revert.

Compilation caching trade-off

A change like COMPILATION_CACHE_ENABLE_CACHING = YES may make a standard clean build slightly slower (cache population overhead) while making cached clean builds significantly faster. Since cached clean builds reflect the realistic developer workflow (branch switching, pulling changes, Clean Build Folder with a warm cache), a slower standard clean build paired with a faster cached clean build is a net improvement, not a regression. The same logic applies to any change where the first-time cost is higher but subsequent builds benefit.

Compare all build types

Evaluate standard clean, cached clean (when available), and incremental builds together. A change is only a clear regression if it makes the metrics that matter to the developer's daily workflow worse. If only the cold-start clean build is slower but the developer rarely does truly cold builds, that may be acceptable.

Per-change vs. cumulative

A single change that regresses on its own may still be worth keeping if it enables a larger cumulative improvement (e.g., enabling compilation caching makes one build type slower but unlocks cache benefits for everything else).

Best-practice settings are not revert candidates

Some build settings are Apple's recommended modern defaults. These should be applied and kept regardless of whether the immediate benchmark shows a measurable improvement. They are not speculative optimizations -- they align the project with Apple's toolchain direction and will compound in value over future Xcode releases. The fixer must never recommend reverting these settings based on a single benchmark result.

Best-practice settings that should always be kept once applied:

  • COMPILATION_CACHE_ENABLE_CACHING = YES -- Apple is actively investing in this; the cache improves with each Xcode release and compounds across real workflows
  • EAGER_LINKING = YES (Debug) -- allows the linker to overlap with compilation
  • SWIFT_USE_INTEGRATED_DRIVER = YES -- eliminates inter-process scheduling overhead
  • DEBUG_INFORMATION_FORMAT = dwarf (Debug) -- avoids unnecessary dSYM generation
  • SWIFT_COMPILATION_MODE = singlefile (Debug) -- incremental recompilation
  • ONLY_ACTIVE_ARCH = YES (Debug) -- no reason to build all architectures locally

When reporting on these settings, use language like: "Applied recommended build setting. No immediate benchmark improvement measured, but this aligns with Apple's recommended configuration and positions the project for future Xcode improvements."

When to recommend revert (speculative changes only)

For changes that are not best-practice settings (e.g., source refactors, linkage experiments, script phase modifications, dependency restructuring):

  • If the cumulative pass shows wall-clock regression across all measured build types (standard clean, cached clean, and incremental are all slower), recommend reverting all speculative changes unless the developer explicitly asks to keep specific items for non-performance reasons.
  • For each individual speculative change: if it shows no median improvement and no cached/incremental benefit either, flag it with Recommend revert and the measured delta.
  • Distinguish between "outlier reduction only" (improved worst-case but not median) and "median improvement" (improved typical developer wait).
  • When a change trades off one build type for another (e.g., slower standard clean but faster cached clean), present both numbers clearly and let the developer decide. Frame it as: "Standard clean builds are X.Xs slower, but cached clean builds (the realistic daily workflow) are Y.Ys faster."

Reporting

Lead with the wall-clock result in plain language:

"Your clean build now takes X.Xs (was Y.Ys) -- Z.Zs faster." "Your incremental build now takes X.Xs (was Y.Ys) -- Z.Zs faster."

Then include:

  • Post-change clean build wall-clock median
  • Post-change incremental build wall-clock median
  • Absolute and percentage wall-clock deltas for both
  • Confidence notes if benchmark noise is high
  • List of files modified per fix
  • Any deviations from the original recommendation

If cumulative task metrics improved but wall-clock did not, say plainly: "Compiler workload decreased but build wait time did not improve. This is expected when Xcode runs these tasks in parallel with other equally long work."

If a fix produced no measurable wall-time improvement, note No measurable wall-time improvement and suggest whether to keep (e.g. for code quality) or revert.

For changes valuable for non-benchmark reasons (deterministic package resolution, branch-switch caching), label them: "No wait-time improvement expected from this change. The benefit is [deterministic builds / faster branch switching / reduced CI cost]."

Note: COMPILATION_CACHE_ENABLE_CACHING has been measured at 5-14% faster clean builds across tested projects (87 to 1,991 Swift files). The benefit compounds in real developer workflows where the cache persists between builds -- branch switching, pulling changes, and CI with persistent DerivedData. The benchmark script auto-detects this setting and runs a cached clean phase for validation.

Execution Report

After the optimization pass is complete, produce a structured execution report. This gives the developer a clear summary of what was attempted, what worked, and what the final state is.

Structure:

## Execution Report

### Baseline
- Clean build median: X.Xs
- Cached clean build median: X.Xs (if applicable)
- Incremental build median: X.Xs

### Changes Applied

| # | Change | Actionability | Measured Result | Status |
|---|--------|---------------|-----------------|--------|
| 1 | Description | repo-local | Clean: X.Xs→Y.Ys, Incr: X.Xs→Y.Ys | Kept / Reverted / Blocked |
| 2 | ... | ... | ... | ... |

### Final Cumulative Result
- Clean build median: X.Xs (was Y.Ys) -- Z.Zs faster/slower
- Cached clean build median: X.Xs (was Y.Ys) -- Z.Zs faster/slower
- Incremental build median: X.Xs (was Y.Ys) -- Z.Zs faster/slower
- **Net result:** Faster / Slower / Unchanged

### Blocked or Non-Actionable Findings
- Finding: reason it could not be addressed from the repo

Status values:

  • Kept -- Change improved or maintained build times and was kept.
  • Kept (best practice) -- Change is a recommended build setting; kept regardless of immediate benchmark result.
  • Reverted -- Change regressed build times and was reverted.
  • Blocked -- Change could not be applied due to project structure, Xcode behavior, or external constraints.
  • No improvement -- Change compiled but showed no measurable wall-time benefit. Include whether it was kept (for non-performance reasons) or reverted.

Escalation

If during implementation you discover issues outside this skill's scope:

Additional Resources

适合场景

01

用户想查找某类 Agent Skill 时

02

需要根据任务场景推荐可安装能力包时

03

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

Codex

38.43%
按下载量换算5,666

Claude

30.68%
按下载量换算4,523

Cursor

17.21%
按下载量换算2,537

Gemini CLI

9.92%
按下载量换算1,463

安全审计

Gen Agent Trust Hub

通过

Socket

通过

Snyk

通过

权限和风险

只读

该 Skill 主要提供规则、说明或参考内容,本身偏只读;真正读写文件、联网或执行命令仍取决于宿主 Agent 的任务。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills