What problem does it solve? Compressing every PNG in an App project through online tools like TinyPNG is slow, quota-limited, and requires uploading images off your machine. This Skill runs the same class of compression locally: recursive batch processing, incremental caching, and automatic quality gates, so large projects can be compressed repeatedly without re-quantizing already-processed images. ## Core Features & Use Cases - Two-stage local pipeline: pngquant performs lossy color quantization (24/32-bit to 8-bit palette), then oxipng applies lossless DEFLATE recompression and metadata stripping. - Incremental caching and safety gates: Content-hash caching skips already-compressed files, while decode, dimension, alpha, PSNR/SSIM/MAE gates automatically keep the original when output degrades or grows larger. - Project-agnostic batch processing: Recursively scans any directory, skips Pods/build/DerivedData and APNG files, uses conservative quality for small icons, and parallelizes across CPU cores. - Use Case: Point it at an iOS project with 1,200 PNG assets; it compresses new and changed images in place, writes a shareable cache file, and reports total size savings. ## Quick Start Ask the agent to compress all PNG assets in your project directory, for example: compress the PNGs in /path/to/MyApp, optionally with a dry run first to preview the savings.