slack-gif-creator

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

2|Updated May 30, 2026
One-click install
npx skills add https://github.com/virahitvin8/crafty-gis --skill slack-gif-creator-virahitvin8
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: slack-gif-creator
Source: https://github.com/virahitvin8/crafty-gis/tree/main/GIT_STAR/assignment-generator/antigravity-skills-main/antigravity-skills-main/skills/slack-gif-creator
Command: npx skills add https://github.com/virahitvin8/crafty-gis --skill slack-gif-creator-virahitvin8

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 trial and error with image tools, and generic GIF makers often produce files too large or incorrectly sized for Slack emoji. ## Core Features & Use Cases - GIF Assembly and Optimization: The GIFBuilder class assembles PIL-generated frames into GIFs with global palette quantization, duplicate frame removal, and automatic emoji-mode resizing to 128x128. - Slack Validation: Built-in validators check dimensions, file size, frame count, and duration against Slack's emoji (128x128) and message GIF (480x480) requirements. - Animation Toolkit: Easing functions (bounce, elastic, back, quad), frame composition helpers (gradients, stars, circles, text), and documented animation 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, applies bounce easing, optimizes colors to 48, and validates the output is Slack-ready. ## Quick Start Create a 128x128 animated Slack emoji GIF of a pulsing heart using the slack-gif-creator skill.

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 add PIL Image frames, then call save() with your desired color count. Set optimize_for_emoji=True to automatically resize to 128x128 and reduce colors for Slack emoji requirements.

What size should a Slack emoji GIF be?

Slack emoji GIFs should be 128x128 pixels, with 64x64 to 128x128 being acceptable. Keep duration under 3 seconds, use 10-30 FPS, and limit colors to 48-128 to keep file size small.

How do I reduce GIF file size for Slack?

Lower the FPS to 10, reduce colors to 48 with num_colors, use smaller dimensions like 128x128, and enable remove_duplicates=True to drop near-identical frames. The optimize_for_emoji flag applies several of these automatically.

How do I check if my GIF meets Slack requirements?

Call validate_gif() with your file path and is_emoji=True for emoji GIFs. It returns whether the GIF passes plus details on dimensions, size, frame count, and duration. Use is_slack_ready() for a quick boolean check.

What easing functions are available for GIF animation?

The easing module provides linear, ease_in, ease_out, ease_in_out, bounce, elastic, and back variants. Use interpolate(start, end, t, easing) to compute smooth positions or scales between two values across frames.

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

Yes, load the uploaded image with PIL's 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.