Open-source agent skills for analyzing and reducing iOS release build size before App Store submission.
xcode-size-orchestratorxcode-size-benchmarkxcode-binary-size-analyzerxcode-resource-size-analyzerxcode-dependency-size-analyzerxcode-size-fixer
- Run the orchestrator to collect a release-size baseline in
.size-analysis/. - Review the generated
size-optimization-plan.md. - Approve only the items you want applied.
- Use the fixer to implement approved low-risk changes and re-measure.
Clone the repo, open it in your coding agent, and invoke the orchestrator-style workflow from the skill files under skills/. This is the most complete and best-supported path.
Typical entry points:
skills/xcode-size-orchestrator/SKILL.mdskills/xcode-size-benchmark/SKILL.mdskills/xcode-size-fixer/SKILL.md
The repository now includes a small Node CLI wrapper that delegates to the bundled Python scripts.
Use it locally from a clone:
npx --yes . --help
npx --yes . measure --workspace-root /path/to/app --project MyApp.xcodeproj --scheme MyApp --configuration Release --export-ipaAfter publishing this package to npm, the public form becomes:
npx xcode-release-size-optimization-agent-skill --helpHomebrew now requires third-party formulae to live in a tap, so the supported install path is through the dedicated tap repo at danglingP0inter/homebrew-tap.
brew tap danglingP0inter/tap
brew install --HEAD danglingP0inter/tap/xcode-release-size-optimization-agent-skillThe formula source is also kept in this repo under Formula/xcode-release-size-optimization-agent-skill.rb and mirrored into the tap. The tap currently tracks HEAD from main. A stable bottled formula should be added once the project starts shipping tagged releases.
Open the repository in an environment that supports repo instructions and project skills. Copilot-facing discovery files live under .github/skills/ and .github/copilot-instructions.md, so prompts about IPA size, archive size, stripping, thinning, or release-size optimization are more likely to route correctly.
Open the repository directly in Claude Code or another Claude-style agent that reads CLAUDE.md and .claude/skills/. This repo is Claude-friendly today, but it is not packaged as a separate installable Claude Code plugin.
Open the repository in Cursor. The rule file under .cursor/rules/ gives Cursor a focused operating procedure for release-size analysis and approval-gated fixes.
You can also run the deterministic analysis scripts directly:
python3 scripts/measure_release.py \
--workspace-root /path/to/app \
--project MyApp.xcodeproj \
--scheme MyApp \
--configuration Release \
--export-ipa
python3 scripts/render_report.py \
--artifacts-dir /path/to/app/.size-analysis \
--output /path/to/app/.size-analysis/size-optimization-plan.mdThe primary report is generated at .size-analysis/size-optimization-plan.md.
Not yet. The repository is Claude-friendly, but it is not packaged as a standalone Claude Code plugin. If Claude formalizes a stable public plugin packaging format for local repositories, this repo can be wrapped into that format later without changing the core workflow.
- First-class support targets iOS apps built with Xcode-native project settings and Swift Package Manager.
- CocoaPods, Carthage, and unusual multi-target packaging are detected and called out as limited-support cases instead of being silently ignored.
- Release-size fixes and export-oriented optimizations are intentionally scoped to
Release, notDebug.
This repo is set up to be discoverable by multiple AI coding agents:
- GitHub Copilot:
.github/skills/xcode-release-size-optimization/SKILL.md - Claude-style agents:
.claude/skills/xcode-release-size-optimization/SKILL.mdandCLAUDE.md - Cursor-style agents:
.cursor/rules/xcode-release-size-optimization.mdc - General agents:
AGENTS.md
There is no single universal auto-load standard across all agent products, but these files make the repo much more likely to be auto-routed correctly when a prompt mentions iOS app size, IPA size, archive bloat, stripping, thinning, or App Store submission size optimization.
A small validation project lives in examples/SizeValidationApp/ so agents and maintainers can test the workflow against a real iOS app.
Generated build output such as .size-analysis/, DerivedData/, .xcarchive, and .ipa files is intentionally ignored and should not be committed.