What problem does it solve?
Manually creating GIFs that meet Slack's strict size and dimension requirements is time-consuming and frustrating. This skill automates the entire process, ensuring your GIFs are always optimized and ready to share.
Core Features & Use Cases
- Slack-Optimized GIFs: Automatically resizes, quantizes colors, and removes duplicate frames to meet Slack's 2MB (message) or 64KB (emoji) limits.
- Composable Animation Primitives: Build complex animations from simple blocks like shake, bounce, spin, fade, and zoom.
- Use Case: Quickly turn a text description like "make me a GIF for Slack of a rocket emoji zooming across the screen and then exploding" into a perfectly formatted, shareable GIF.
Quick Start
Example: Create a simple pulsing emoji GIF
from core.gif_builder import GIFBuilder
from templates.pulse import create_pulse_animation
builder = GIFBuilder(128, 128, 10)
frames = create_pulse_animation(
object_type='emoji',
object_data={'emoji': '😱', 'size': 80},
num_frames=12,
pulse_type='throb'
)
builder.add_frames(frames)
builder.save('reaction.gif', num_colors=40, optimize_for_emoji=True)