{"id":"c5ffb70d-218e-4647-ae7c-1256af4120bc","shortId":"Bjm4YK","kind":"skill","title":"xcode-project-analyzer","tagline":"Audit Xcode project configuration, build settings, scheme behavior, and script phases to find build-time improvements with explicit approval gates. Use when a developer wants project-level build analysis, slow incremental builds, guidance on target dependencies, build settings re","description":"# Xcode Project Analyzer\n\nUse this skill for project- and target-level build inefficiencies that are unlikely to be solved by source edits alone.\n\n## Core Rules\n\n- Recommendation-first by default.\n- Require explicit approval before changing project files, schemes, or build settings.\n- Prefer measured findings tied to timing summaries, build logs, or project configuration evidence.\n- Distinguish debug-only pain from release-only pain.\n\n## What To Review\n\n- scheme build order and target dependencies\n- debug vs release build settings against the [build settings best practices](references/build-settings-best-practices.md)\n- run script phases and dependency-analysis settings\n- derived-data churn or obviously invalidating custom steps\n- opportunities for parallelization\n- explicit module dependency settings and module-map readiness\n- \"Planning Swift module\" time in the Build Timing Summary -- if it dominates incremental builds, suspect unexpected input modification or macro-related invalidation\n- asset catalog compilation time, especially in targets with large or numerous catalogs\n- `ExtractAppIntentsMetadata` time in the Build Timing Summary -- if this phase consumes significant time, record it as `xcode-behavior` (report the cost and impact, but do not suggest a repo-local optimization unless there is explicit Apple guidance)\n- zero-change build overhead -- if a no-op rebuild exceeds a few seconds, investigate fixed-cost phases (script execution, codesign, validation, CopySwiftLibs)\n- CocoaPods usage -- if a `Podfile` or `Pods.xcodeproj` exists, CocoaPods is deprecated; recommend migrating to SPM and do not attempt CocoaPods-specific optimizations (see [project-audit-checks.md](references/project-audit-checks.md))\n- Task Backtraces (Xcode 16.4+: Scheme Editor > Build > Build Debugging) to diagnose why tasks re-run unexpectedly in incremental builds\n\n## Build Settings Best Practices Audit\n\nEvery project audit should include a build settings checklist comparing the project's Debug and Release configurations against the recommended values in [build-settings-best-practices.md](references/build-settings-best-practices.md). Present results using checkmark/cross indicators (`[x]`/`[ ]`). The scope is strictly build performance -- do not flag language-migration settings like `SWIFT_STRICT_CONCURRENCY` or `SWIFT_UPCOMING_FEATURE_*`.\n\n## Apple-Derived Checks\n\nReview these items in every audit:\n\n- target dependencies are accurate and not missing or inflated\n- schemes build in `Dependency Order`\n- run scripts declare inputs and outputs\n- `.xcfilelist` files are used when scripts have many inputs or outputs\n- `DEFINES_MODULE` is enabled where custom frameworks or libraries should expose module maps\n- headers are self-contained enough for module-map use\n- explicit module dependency settings are consistent for targets that should share modules\n\n## Typical Wins\n\n- skip debug-time scripts that only matter in release\n- add missing script guards or dependency-analysis metadata\n- remove accidental serial bottlenecks in schemes\n- align build settings that cause unnecessary module variants\n- fix stale project structure that forces broader rebuilds than necessary\n- identify linters or formatters that touch file timestamps without changing content, silently invalidating build inputs and forcing module replanning\n- split large asset catalogs into separate resource bundles across targets to parallelize compilation\n- use Task Backtraces to pinpoint the exact input change that triggers unnecessary incremental work\n\n## Reporting Format\n\nFor each issue, include:\n\n- evidence\n- likely scope\n- why it affects clean builds, incremental builds, or both\n- estimated impact\n- approval requirement\n\nIf the evidence points to package graph or build plugins, hand off to [`spm-build-analysis`](../spm-build-analysis/SKILL.md) by reading its SKILL.md and applying its workflow to the same project context.\n\n## Additional Resources\n\n- For the detailed audit checklist, see [references/project-audit-checks.md](references/project-audit-checks.md)\n- For build settings best practices, see [references/build-settings-best-practices.md](references/build-settings-best-practices.md)\n- For the shared recommendation structure, see [references/recommendation-format.md](references/recommendation-format.md)\n- For Apple-aligned source summaries, see [references/build-optimization-sources.md](references/build-optimization-sources.md)","tags":["xcode","project","analyzer","build","optimization","agent","skill","avdlee","agent-skills","ios","ios-development","skills"],"capabilities":["skill","source-avdlee","skill-xcode-project-analyzer","topic-agent","topic-agent-skills","topic-ios","topic-ios-development","topic-skills","topic-xcode"],"categories":["Xcode-Build-Optimization-Agent-Skill"],"synonyms":[],"warnings":[],"endpointUrl":"https://skills.sh/AvdLee/Xcode-Build-Optimization-Agent-Skill/xcode-project-analyzer","protocol":"skill","transport":"skills-sh","auth":{"type":"none","details":{"cli":"npx skills add AvdLee/Xcode-Build-Optimization-Agent-Skill","source_repo":"https://github.com/AvdLee/Xcode-Build-Optimization-Agent-Skill","install_from":"skills.sh"}},"qualityScore":"0.700","qualityRationale":"deterministic score 0.70 from registry signals: · indexed on github topic:agent-skills · 1014 github stars · SKILL.md body (4,447 chars)","verified":false,"liveness":"unknown","lastLivenessCheck":null,"agentReviews":{"count":0,"score_avg":null,"cost_usd_avg":null,"success_rate":null,"latency_p50_ms":null,"narrative_summary":null,"summary_updated_at":null},"enrichmentModel":"deterministic:skill-github:v1","enrichmentVersion":1,"enrichedAt":"2026-05-02T18:52:55.779Z","embedding":null,"createdAt":"2026-04-18T21:56:26.825Z","updatedAt":"2026-05-02T18:52:55.779Z","lastSeenAt":"2026-05-02T18:52:55.779Z","tsv":"'/spm-build-analysis/skill.md':569 '16.4':289 'accident':461 'accur':375 'across':511 'add':451 'addit':583 'affect':541 'align':466,612 'alon':69 'analysi':35,138,458,568 'analyz':4,48 'appl':233,363,611 'apple-align':610 'apple-deriv':362 'appli':575 'approv':24,79,550 'asset':184,505 'attempt':278 'audit':5,310,313,371,588 'backtrac':287,518 'behavior':12,214 'best':129,308,596 'bottleneck':463 'broader':480 'build':9,19,34,38,43,58,86,95,115,123,127,167,174,200,238,292,293,305,306,317,345,382,467,497,543,545,560,567,594 'build-settings-best-practices.md':333 'build-tim':18 'bundl':510 'catalog':185,195,506 'caus':470 'chang':81,237,493,524 'check':365 'checklist':319,589 'checkmark/cross':338 'churn':143 'clean':542 'cocoapod':260,268,280 'cocoapods-specif':279 'codesign':257 'compar':320 'compil':186,515 'concurr':357 'configur':8,99,327 'consist':432 'consum':206 'contain':420 'content':494 'context':582 'copyswiftlib':259 'core':70 'cost':217,253 'custom':147,408 'data':142 'debug':103,120,294,324,443 'debug-on':102 'debug-tim':442 'declar':388 'default':76 'defin':403 'depend':42,119,137,154,373,384,429,457 'dependency-analysi':136,456 'deprec':270 'deriv':141,364 'derived-data':140 'detail':587 'develop':29 'diagnos':296 'distinguish':101 'domin':172 'edit':68 'editor':291 'enabl':406 'enough':421 'especi':188 'estim':548 'everi':311,370 'evid':100,536,554 'exact':522 'exceed':246 'execut':256 'exist':267 'explicit':23,78,152,232,427 'expos':413 'extractappintentsmetadata':196 'featur':361 'file':83,393,490 'find':17,90 'first':74 'fix':252,474 'fixed-cost':251 'flag':349 'forc':479,500 'format':531 'formatt':487 'framework':409 'gate':25 'graph':558 'guard':454 'guidanc':39,234 'hand':562 'header':416 'identifi':484 'impact':219,549 'improv':21 'includ':315,535 'increment':37,173,304,528,544 'indic':339 'ineffici':59 'inflat':380 'input':177,389,400,498,523 'invalid':146,183,496 'investig':250 'issu':534 'item':368 'languag':351 'language-migr':350 'larg':192,504 'level':33,57 'librari':411 'like':354,537 'linter':485 'local':227 'log':96 'macro':181 'macro-rel':180 'mani':399 'map':159,415,425 'matter':448 'measur':89 'metadata':459 'migrat':272,352 'miss':378,452 'modif':178 'modul':153,158,163,404,414,424,428,438,472,501 'module-map':157,423 'necessari':483 'no-op':242 'numer':194 'obvious':145 'op':244 'opportun':149 'optim':228,282 'order':116,385 'output':391,402 'overhead':239 'packag':557 'pain':105,110 'parallel':151,514 'perform':346 'phase':15,134,205,254 'pinpoint':520 'plan':161 'plugin':561 'podfil':264 'pods.xcodeproj':266 'point':555 'practic':130,309,597 'prefer':88 'present':335 'project':3,7,32,47,53,82,98,312,322,476,581 'project-audit-checks.md':284 'project-level':31 're':45,300 're-run':299 'read':571 'readi':160 'rebuild':245,481 'recommend':73,271,330,604 'recommendation-first':72 'record':209 'references/build-optimization-sources.md':616,617 'references/build-settings-best-practices.md':131,334,599,600 'references/project-audit-checks.md':285,591,592 'references/recommendation-format.md':607,608 'relat':182 'releas':108,122,326,450 'release-on':107 'remov':460 'replan':502 'repo':226 'repo-loc':225 'report':215,530 'requir':77,551 'resourc':509,584 'result':336 'review':113,366 'rule':71 'run':132,301,386 'scheme':11,84,114,290,381,465 'scope':342,538 'script':14,133,255,387,397,445,453 'second':249 'see':283,590,598,606,615 'self':419 'self-contain':418 'separ':508 'serial':462 'set':10,44,87,124,128,139,155,307,318,353,430,468,595 'share':437,603 'signific':207 'silent':495 'skill':51 'skill-xcode-project-analyzer' 'skill.md':573 'skip':441 'slow':36 'solv':65 'sourc':67,613 'source-avdlee' 'specif':281 'split':503 'spm':274,566 'spm-build-analysi':565 'stale':475 'step':148 'strict':344,356 'structur':477,605 'suggest':223 'summari':94,169,202,614 'suspect':175 'swift':162,355,359 'target':41,56,118,190,372,434,512 'target-level':55 'task':286,298,517 'tie':91 'time':20,93,164,168,187,197,201,208,444 'timestamp':491 'topic-agent' 'topic-agent-skills' 'topic-ios' 'topic-ios-development' 'topic-skills' 'topic-xcode' 'touch':489 'trigger':526 'typic':439 'unexpect':176,302 'unless':229 'unlik':62 'unnecessari':471,527 'upcom':360 'usag':261 'use':26,49,337,395,426,516 'valid':258 'valu':331 'variant':473 'vs':121 'want':30 'win':440 'without':492 'work':529 'workflow':577 'x':340 'xcfilelist':392 'xcode':2,6,46,213,288 'xcode-behavior':212 'xcode-project-analyz':1 'zero':236 'zero-chang':235","prices":[{"id":"21936d0d-bec5-425e-81b9-d5858ba16e3f","listingId":"c5ffb70d-218e-4647-ae7c-1256af4120bc","amountUsd":"0","unit":"free","nativeCurrency":null,"nativeAmount":null,"chain":null,"payTo":null,"paymentMethod":"skill-free","isPrimary":true,"details":{"org":"AvdLee","category":"Xcode-Build-Optimization-Agent-Skill","install_from":"skills.sh"},"createdAt":"2026-04-18T21:56:26.825Z"}],"sources":[{"listingId":"c5ffb70d-218e-4647-ae7c-1256af4120bc","source":"github","sourceId":"AvdLee/Xcode-Build-Optimization-Agent-Skill/xcode-project-analyzer","sourceUrl":"https://github.com/AvdLee/Xcode-Build-Optimization-Agent-Skill/tree/main/skills/xcode-project-analyzer","isPrimary":false,"firstSeenAt":"2026-04-18T21:56:26.825Z","lastSeenAt":"2026-05-02T18:52:55.779Z"}],"details":{"listingId":"c5ffb70d-218e-4647-ae7c-1256af4120bc","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"AvdLee","slug":"xcode-project-analyzer","github":{"repo":"AvdLee/Xcode-Build-Optimization-Agent-Skill","stars":1014,"topics":["agent","agent-skills","ios","ios-development","skills","xcode"],"license":"mit","html_url":"https://github.com/AvdLee/Xcode-Build-Optimization-Agent-Skill","pushed_at":"2026-04-15T16:57:33Z","description":"An Agent Skill helping you to optimize Xcode incremental and clean builds by running benchmarks and optimizing build settings.","skill_md_sha":"329045474abc7a8b7bbbc921e396d9a1835047b9","skill_md_path":"skills/xcode-project-analyzer/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/AvdLee/Xcode-Build-Optimization-Agent-Skill/tree/main/skills/xcode-project-analyzer"},"layout":"multi","source":"github","category":"Xcode-Build-Optimization-Agent-Skill","frontmatter":{"name":"xcode-project-analyzer","description":"Audit Xcode project configuration, build settings, scheme behavior, and script phases to find build-time improvements with explicit approval gates. Use when a developer wants project-level build analysis, slow incremental builds, guidance on target dependencies, build settings review, run script phase analysis, parallelization improvements, or module-map and DEFINES_MODULE configuration."},"skills_sh_url":"https://skills.sh/AvdLee/Xcode-Build-Optimization-Agent-Skill/xcode-project-analyzer"},"updatedAt":"2026-05-02T18:52:55.779Z"}}