What problem does it solve? Creating animated GIFs that meet Slack's strict dimension, file size, and frame constraints requires manual trial and error with image tools, and this Skill provides the constraints, utilities, and validation needed to produce compliant GIFs programmatically. ## Core Features & Use Cases - GIF Assembly and Optimization: The GIFBuilder class assembles PIL-generated frames, applies global palette color quantization, removes duplicate frames, and resizes output for Slack emoji (128x128) or message (480x480) formats. - Animation Motion Utilities: Easing functions (bounce, elastic, back, quad, cubic) and helpers for arcs, squash-and-stretch, gradients, stars, and text enable smooth motion effects like shake, pulse, spin, fade, and particle bursts. - Slack Compliance Validation: Validators check dimensions, file size, frame count, and duration against Slack requirements before upload. - Use Case: A user asks for an animated emoji of a bouncing star for their Slack workspace; the Skill generates frames with PIL primitives, applies bounce easing, optimizes to 48 colors at 128x128, and validates the result is Slack-ready. ## Quick Start Create a Slack emoji GIF of a pulsing heart at 128x128 with 12 frames and validate it meets Slack's requirements.