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 when done by hand. ## Core Features & Use Cases - GIF Assembly and Optimization: The GIFBuilder class assembles PIL frames into GIFs with global palette quantization, duplicate frame removal, and automatic 128x128 emoji resizing. - Slack Validation: Validators check dimensions, file size, frame count, and FPS against Slack emoji (128x128) and message GIF (480x480) requirements. - Animation Utilities: Easing functions (bounce, elastic, back), frame composers (gradients, stars, text), and documented motion concepts like shake, pulse, spin, and particle bursts. - 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, and saves an optimized 128x128 GIF validated for Slack upload. ## Quick Start Create an animated Slack emoji GIF of a pulsing heart at 128x128 pixels and validate it meets Slack's requirements.