slack-gif-creator

Creates animated GIFs optimized for Slack emoji and message requirements using PIL.

6|1|Updated Sep 3, 2026
One-click install
npx skills add https://github.com/jasonzhu0922-sketch/agentloop --skill slack-gif-creator-jasonzhu0922-sketch
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: slack-gif-creator
Source: https://github.com/jasonzhu0922-sketch/agentloop/tree/main/packages/agentloop-skills/skills/slack-gif-creator
Command: npx skills add https://github.com/jasonzhu0922-sketch/agentloop --skill slack-gif-creator-jasonzhu0922-sketch

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires pillow, imageio, imageio-ffmpeg, numpy.

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.

Frequently Asked Questions about slack-gif-creator

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I create an animated GIF for Slack in Python?

Use the GIFBuilder class to assemble PIL Image frames, then call save with your target path. Set width and height to 128 for emoji or 480 for message GIFs, choose an FPS between 10 and 30, and enable optimize_for_emoji for automatic size reduction.

What size should a Slack emoji GIF be?

Slack emoji GIFs should be 128x128 pixels, with 64 to 128 pixels being acceptable. Message GIFs work best at 480x480. Keep emoji GIF durations under 3 seconds and use 48 to 128 colors to control file size.

How do I reduce the file size of an animated GIF?

Lower the FPS, reduce the color count to 48, shrink dimensions to 128x128, and enable remove_duplicates to drop near-identical frames. The optimize_for_emoji flag applies aggressive color and frame reduction automatically.

Can I animate an image a user uploads into a GIF?

Yes, load the uploaded image with PIL Image.open and either animate it directly or use it as visual reference for colors and style. Interpret the request to decide whether the user wants the image used directly or as inspiration.

Why does my GIF animation look choppy or unnatural?

Linear timing makes motion look mechanical. Apply easing functions like ease_out, bounce_out, or elastic_out through the interpolate helper so movement accelerates and decelerates naturally across frames.