compare-bundles
Skill0 starsChanged 3 months agoMITView on GitHub
Compares two app bundles to identify size changes, new or removed artifacts, and platform differences. Can be invoked with bundle IDs, dashboard URLs, or branch names.
2 other projects use a version of this.
Adopted by
Steady: 0 new projects took it in the last 4 weeks, none the 4 weeks before.thin data
Most recently taken up by
- tuist/tuistword for word, first seen Oct 8, 2026
- tuist/agent-skillsword for word, first seen Mar 27, 2026
Other versions2 projects use a version of this.
Word for word · 2
- tuist/tuist★ 5.9k100% same
- tuist/agent-skills★ 35100% same
Edited · 0
None found.
Wrote their own version · 0
None found.
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository11 other files it gives its agents.
- analyze-selective-testingSkill
- compare-buildsSkill
- compare-cache-runsSkill
- compare-generationsSkill
- compare-gradle-buildsSkill
- compare-test-caseSkill
- compare-test-runsSkill
- debug-generated-projectSkill
- fix-flaky-testsSkill
- generated-projectsSkill
- migrateSkill
The file
We split this skill into the rules it gives an agent
10 rules. About 0 are common, 4 are distinctive, and 6 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈4
Distinctive · estimate
This author's own choices. Worth a look.
6
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 12
Run tuist bundle list --json to find bundles on each branch.
- Very specific: line 13
Run tuist bundle show <bundle-id> --json for both base and head bundles.
- Distinctive: line 42
If no base is provided, use the project's default branch (usually main).
- Distinctive: line 43
If no head is provided, detect the current git branch.
- Very specific: line 47
After fetching both bundles with tuist bundle show <id> --json, compare the individual artifacts:
- Distinctive: line 61
After fetching both bundles, compare:
- Distinctive: line 78
If size increased significantly (>5%):
- Very specific: line 80
Check if version changed, which might explain expected size growth.
- Very specific: line 81
Check if supported_platforms changed (adding a platform increases size).
- Very specific: line 82
Look at the artifacts field in the bundle details for individual artifact sizes.
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Compare Bundles
Quick Start
You'll typically receive two bundle identifiers. Follow these steps:
- Run
tuist bundle list --jsonto find bundles on each branch. - Run
tuist bundle show <bundle-id> --jsonfor both base and head bundles. - Compare artifact trees with
tuist bundle artifact list <bundle-id> --json. - Compare install size, download size, and other metadata.
- Summarize size changes with actionable recommendations.
Step 1: Resolve Bundles
If base/head are bundle IDs or dashboard URLs
Fetch each directly:
tuist bundle show <base-id> --json
tuist bundle show <head-id> --jsonIf base/head are branch names
List recent bundles on each branch and pick the latest:
tuist bundle list --git-branch <base-branch> --json
tuist bundle list --git-branch <head-branch> --jsonThen fetch full details with tuist bundle show <id> --json.
Defaults
- If no base is provided, use the project's default branch (usually
main). - If no head is provided, detect the current git branch.
Step 2: Compare Artifact Trees
After fetching both bundles with tuist bundle show <id> --json, compare the individual artifacts:
tuist bundle artifact list <base-id> --json
tuist bundle artifact list <head-id> --jsonMatch artifacts by name across both bundles. Look for:
- New artifacts added in the head bundle (potential size contributors)
- Removed artifacts (explain size decreases)
- Size changes in existing artifacts
Step 3: Compare Top-Level Metrics
After fetching both bundles, compare:
| Metric | What to check |
install_size | Flag if head is >5% larger |
download_size | Flag if head is >5% larger |
version | Note version changes |
supported_platforms | Note platform changes |
app_bundle_id | Should match between base and head |
Compute deltas:
- Install size delta:
head_install_size - base_install_size - Download size delta:
head_download_size - base_download_size - Percentage change:
delta / base_size * 100
Step 4: Analyze Size Changes
If size increased significantly (>5%):
- Check if
versionchanged, which might explain expected size growth. - Check if
supported_platformschanged (adding a platform increases size). - Look at the
artifactsfield in the bundle details for individual artifact sizes.
Common causes of size increases:
- New frameworks or libraries added
- Asset catalogs grew (new images, videos)
- Unoptimized resources (large PNGs instead of compressed formats)
- Debug symbols included in release builds
- New localizations added
Common causes of size decreases:
- Removed unused frameworks
- Optimized assets
- Tree shaking or dead code elimination improvements
- Moved functionality to on-demand resources
Summary Format
Produce a summary with:
- Overall verdict: Size increased, decreased, or stable.
- Install size: Absolute and percentage change.
- Download size: Absolute and percentage change.
- Version: Note if version changed.
- Platforms: Note any platform changes.
- Recommendations: Actionable next steps for size regressions.
Example:
Bundle Comparison: base (v2.1.0 on main) vs head (v2.2.0 on feature-x)
Install Size: 45.2 MB -> 52.8 MB (+16.8%) -- REGRESSION
Download Size: 28.1 MB -> 32.4 MB (+15.3%) -- REGRESSION
Version: 2.1.0 -> 2.2.0
Platforms: iOS, macOS (unchanged)
The install size increased by 7.6 MB. This is a significant increase
that may affect user download and storage experience.
Recommendations:
- Review new frameworks or assets added in this version
- Check for uncompressed resources or oversized image assets
- Consider using asset compression or on-demand resources
- Run `xcrun bitcode_strip` analysis to check for unnecessary bitcodeDone Checklist
- Resolved both base and head bundles
- Compared artifact trees using
tuist bundle artifact list - Compared install and download sizes
- Analyzed root causes of size changes
- Provided actionable recommendations
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

