What problem does it solve? Creating animated GIFs that meet Slack's strict dimension, file size, and frame constraints requires manual tuning of colors, FPS, and resolution, which is tedious and error-prone. ## Core Features & Use Cases - GIF Assembly & Optimization: GIFBuilder combines PIL-generated frames, applies global palette quantization, deduplicates frames, and auto-resizes for emoji mode. - Slack Validation: Validators check dimensions, file size, frame count, and duration against Slack emoji (128x128) and message (480x480) requirements. - Animation Toolkit: Easing functions (bounce, elastic, back), frame helpers (gradients, stars, text), and documented concepts like shake, pulse, spin, and particle bursts. - Use Case: A user asks for a bouncing star emoji GIF; the skill generates 12 frames with easing-based motion, optimizes to 48 colors at 128x128, and validates the output is Slack-ready. ## Quick Start Create a 128x128 animated GIF of a pulsing heart optimized for a Slack custom emoji.