slack-gif-creator

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

Updated Aug 23, 2026
One-click install
npx skills add https://github.com/chhpt/skills --skill slack-gif-creator-chhpt
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: slack-gif-creator
Source: https://github.com/chhpt/skills/tree/main/skills/slack-gif-creator
Command: npx skills add https://github.com/chhpt/skills --skill slack-gif-creator-chhpt

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 color constraints requires manual tuning of frames, palettes, and timing, which is tedious and error-prone. ## 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 emoji-mode resizing to 128x128. - Slack Validation: Validators check dimensions, file size, frame count, and duration against Slack emoji and message GIF requirements. - Animation Toolkit: Easing functions (bounce, elastic, back), frame helpers (gradients, stars, text), and documented motion concepts like shake, pulse, spin, and particle bursts. - Use Case: A user asks for a bouncing star emoji 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 a Slack emoji GIF of a pulsing heart using the slack-gif-creator skill and save it as an optimized 128x128 GIF.

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 emoji in Python?

Use the GIFBuilder class to add PIL Image frames, then call save with optimize_for_emoji=True. This automatically resizes to 128x128, limits colors to 48, and reduces frame count for Slack's emoji requirements.

What are the Slack GIF size and dimension requirements?

Emoji GIFs should be 128x128 pixels with durations under 3 seconds, while message GIFs work best at 480x480. Use 10-30 FPS and 48-128 colors to keep file sizes small.

How do I reduce GIF file size for Slack?

Lower the FPS, reduce colors to 48 with num_colors, shrink dimensions to 128x128, and enable remove_duplicates=True to drop near-identical frames. The optimize_for_emoji flag applies several of these 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. The skill does not include pre-packaged graphics, so all drawing uses PIL primitives.

Why does my Slack GIF look choppy or amateurish?

Thin lines and plain shapes cause choppy results. Use outline widths of 2 or more, add gradients and layered shapes for depth, and apply easing functions like ease_out or bounce_out for smooth motion.