asset-catalog-optimizer

Analyze and optimize Xcode asset catalogs - find unused assets, missing resolutions, compress images

$ Installieren

git clone https://github.com/paleoterra/PaleoRose /tmp/PaleoRose && cp -r /tmp/PaleoRose/.claude/skills/asset-catalog-optimizer ~/.claude/skills/PaleoRose

// tip: Run this command in your terminal to install the skill


name: asset-catalog-optimizer description: Analyze and optimize Xcode asset catalogs - find unused assets, missing resolutions, compress images type: skill language: python

Asset Catalog Optimizer

Analyze .xcassets folders to optimize image assets and find issues.

Capabilities

  • List all assets in catalogs
  • Find unused images (not referenced in code)
  • Check for missing @2x/@3x versions
  • Analyze image file sizes
  • Compress images losslessly
  • Detect duplicate images
  • Validate asset naming
  • Generate asset inventory
  • Calculate total asset size
  • Suggest optimizations

Tools Included

asset_optimizer.py

Python script for asset analysis and optimization

Commands:

# Analyze asset catalog
./asset_optimizer.py PaleoRose/Assets.xcassets analyze

# Find unused assets
./asset_optimizer.py PaleoRose/Assets.xcassets find-unused --source-dir PaleoRose

# Check missing resolutions
./asset_optimizer.py PaleoRose/Assets.xcassets check-resolutions

# Compress images
./asset_optimizer.py PaleoRose/Assets.xcassets compress --quality 85

# Generate report
./asset_optimizer.py PaleoRose/Assets.xcassets report --output report.html

# Calculate sizes
./asset_optimizer.py PaleoRose/Assets.xcassets sizes

Features

Unused Asset Detection

Searches Swift/ObjC code for asset references like:

  • NSImage(named: "icon")
  • UIImage(named: "logo")
  • Image("background")
  • [NSImage imageNamed:@"button"]

Resolution Checking

Verifies all imagesets have:

  • @1x (universal or Mac)
  • @2x (required for Retina)
  • @3x (iOS only, warns if missing)

Compression

  • PNG: lossless optimization with pngquant/optipng
  • JPEG: quality-based compression
  • Preserves transparency
  • Maintains color profiles

Usage

Run when:

  • App bundle is too large
  • Need to audit assets
  • Before App Store submission
  • Cleaning up old/unused assets
  • Optimizing performance

Output Examples

Asset Catalog Analysis: Assets.xcassets
========================================

Total Assets: 47
Total Size: 12.3 MB

Missing Resolutions (5):
  - icon.imageset: Missing @2x
  - logo.imageset: Missing @3x
  - background.imageset: Missing @2x, @3x

Unused Assets (8):
  - old-button.imageset (45 KB)
  - deprecated-icon.imageset (23 KB)
  - test-image.imageset (156 KB)

Potential Savings:
  - Compression: 3.2 MB (26%)
  - Remove unused: 1.8 MB (15%)
  - Total: 5.0 MB (41%)

Recommendations:
  1. Compress 23 PNG files to save 3.2 MB
  2. Remove 8 unused assets to save 1.8 MB
  3. Add missing @2x/@3x versions for 5 assets