What problem does it solve? Creating animated GIFs that meet Slack's strict dimension, file size, and color constraints requires manual trial and error with image tools, and this Skill provides the constraints, validation utilities, and animation guidance 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. - Slack Compliance Validation: Validators check dimensions, file size, frame count, and duration against Slack requirements, with a quick is_slack_ready check. - Animation Motion Toolkit: Easing functions (bounce, elastic, back, ease-in-out) plus frame helpers for gradients, stars, circles, and text enable smooth shake, pulse, spin, slide, and particle effects. - Use Case: A user asks for a bouncing star emoji GIF for their Slack workspace; the Skill generates 12 frames with PIL primitives, applies bounce easing, optimizes to 48 colors at 128x128, and validates the result before delivery. ## Quick Start Create a 128x128 animated GIF of a pulsing heart optimized for a Slack custom emoji.