asset-catalog-optimizer
Analyze and optimize Xcode asset catalogs - find unused assets, missing resolutions, compress images
- Category: discovered
- Tags: github, community
- Version: 1.0.0
- Author: walid
- Downloads: 0
- Updated: 2025-11-22
Download the latest version (v1.0.0) from this page.
SKILL.md
---
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:**
```bash
# 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
```