MCPInstall

compare-bundles

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.

Installs
279
Last 24h
—
Trending rank
—
Security
Not audited

Install

Works with every agent the skills CLI supports.

npx skills add https://github.com/tuist/agent-skills --skill compare-bundles
  1. 01

    Install

    Run the command in your project. The CLI asks which agents to install for.

  2. 02

    Describe the task

    Ask your agent for something this skill covers. It loads compare-bundles automatically when relevant.

  3. 03

    Review the result

    The agent follows the SKILL.md steps, scripts and references bundled with the skill.

SKILL.md

The instructions your agent reads when the skill is triggered.

Compare Bundles

Quick Start

You'll typically receive two bundle identifiers. Follow these steps:

  1. Run tuist bundle list --json to find bundles on each branch.
  2. Run tuist bundle show <bundle-id> --json for both base and head bundles.
  3. Compare artifact trees with tuist bundle artifact list <bundle-id> --json.
  4. Compare install size, download size, and other metadata.
  5. 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> --json

If 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> --json

Then 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> --json

Match 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:

MetricWhat to check
install_sizeFlag if head is >5% larger
download_sizeFlag if head is >5% larger
versionNote version changes
supported_platformsNote platform changes
app_bundle_idShould 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%):

  1. Check if version changed, which might explain expected size growth.
  2. Check if supported_platforms changed (adding a platform increases size).
  3. Look at the artifacts field 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:

  1. Overall verdict: Size increased, decreased, or stable.
  2. Install size: Absolute and percentage change.
  3. Download size: Absolute and percentage change.
  4. Version: Note if version changed.
  5. Platforms: Note any platform changes.
  6. 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 bitcode

Done 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

FAQ

What does the compare-bundles skill do?

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.

How do I install compare-bundles?

Run npx skills add https://github.com/tuist/agent-skills --skill compare-bundles in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/compare-bundles/ (personal) or .claude/skills/compare-bundles/ (project).

Which AI agents can use compare-bundles?

Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.

Is compare-bundles safe to install?

No partner security audit is available yet. Skills can run commands and scripts, so read the SKILL.md and any bundled files before installing.

Who maintains compare-bundles?

It is published by tuist in tuist/agent-skills. It has 279 recorded installs.

More from tuist/agent-skills

View all →

Guides day-to-day work in Tuist-generated Xcode workspaces, including generation, build and test commands, and buildable folders. Use when working in a Tuist-generated project or when users mention tuist generate, xcodebuild test, or generated workspaces.

Testing & QA597 installs

debug-generated-project

tuist/agent-skills

Debugs issues users encounter with Tuist-generated projects by reproducing the scenario locally, building Tuist from source when needed, and triaging whether it is a bug, misconfiguration, or something that needs team input. Use when users report generation failures, build errors after generation, or unexpected project behavior.

fix-flaky-tests

tuist/agent-skills

Fixes flaky tests by analyzing failure patterns from Tuist test insights, identifying root causes, and applying targeted corrections. Can be invoked with a specific test case URL (e.g. https://tuist.dev/{account}/{project}/tests/test-cases/{id}) or without arguments to discover and fix all flaky tests in the project.

Testing & QA504 installs

Migrates existing Xcode projects to Tuist generated workspaces with build and run validation, external dependency mapping, and migration checklists. Use when adopting Tuist for an existing app or converting a hand-edited Xcode project to generated projects.

Mobile501 installs

compare-builds

tuist/agent-skills

Compares two Xcode build runs to identify duration regressions, cache changes, and new issues. Can be invoked with build IDs, dashboard URLs, or branch names (e.g. tuist compare-builds --base main --head feature-branch).

Data & Databases300 installs

analyze-selective-testing

tuist/agent-skills

Analyzes Xcode selective testing effectiveness for a test run, showing which test targets were skipped or ran, and diagnosing regressions in test selection. Can compare two test runs to identify what changed.

Testing & QA290 installs

Popular data & databases skills

View category →

Postgres best practices maintained by Supabase, for Postgres running anywhere. Load this skill BEFORE writing or changing anything that lives in a Postgres database: creating or altering tables and columns (including choosing column types), schema design, migrations and declarative schema files, RLS policies and the tests that verify them, indexes, triggers, database functions, queues and scheduled jobs (pgcron, pgmq), vector/semantic search (pgvector), and restoring dumps (pgrestore) or importing data. Also load it when diagnosing slow queries, high CPU, timeouts, EXPLAIN plans, connection exhaustion, locking, bloat, or rows visible to the wrong user or tenant. This is not just a performance guide — schema, migration, security, and SQL authoring tasks need these rules too, even for a one-column change or a single query.

OfficialData & Databases462.2K installs

prisma-client-api

prisma/skills

Prisma Client API reference covering model queries, filters, operators, and client methods. Use when writing database queries, using CRUD operations, filtering data, or configuring Prisma Client. Triggers on "prisma query", "findMany", "create", "update", "delete", "$transaction".

OfficialData & Databases393.5K installs

Deprecated compatibility name for prisma-orm-setup. Use only when a user or existing integration explicitly invokes prisma-database-setup; otherwise select prisma-orm-setup.

OfficialData & Databases392.3K installs

prisma-cli

prisma/skills

Prisma ORM 7 CLI reference for existing Prisma 7 applications or explicitly selected Prisma 7 workflows. Covers prisma init, generate, migrate, db, dev, studio, and mcp. For setup, connection repair, or Prisma 8, use prisma-orm-setup; not the Prisma Platform CLI.

OfficialData & Databases390.8K installs

prisma-postgres

prisma/skills

Deprecated compatibility name for prisma-postgres-setup. Use only when a user or existing integration explicitly invokes prisma-postgres; otherwise select prisma-postgres-setup.

OfficialData & Databases384.4K installs

Required reference for Prisma ORM 7 SQL driver adapter work. Use when implementing or modifying adapters, adding database drivers, or touching SqlDriverAdapter, Transaction, savepoint, result mapping, or DriverAdapterError behavior. Covers current transaction lifecycle, optional savepoint hooks, original database-error preservation, and verification.

OfficialData & Databases378.9K installs