slack-gif-creator

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

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

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 this Skill provides the constraints, validation utilities, and animation guidance to produce compliant GIFs programmatically. ## Core Features & Use Cases - GIF Assembly and Optimization: The GIFBuilder class assembles PIL-generated frames, applies global palette color quantization, removes duplicate frames, and resizes output for Slack emoji (128x128) or message (480x480) formats. - Slack Compliance Validation: Validators check dimensions, file size, frame count, and duration against Slack requirements, with a quick is_slack_ready check. - Animation Motion Toolkit: Easing functions (bounce, elastic, back, ease-in-out) plus frame helpers for gradients, stars, circles, and text enable smooth shake, pulse, spin, slide, and particle effects. - Use Case: A user asks for a bouncing star emoji GIF for their Slack workspace; the Skill generates 12 frames with PIL primitives, applies bounce easing, optimizes to 48 colors at 128x128, and validates the result before delivery. ## Quick Start Create a 128x128 animated GIF of a pulsing heart optimized for a Slack custom emoji.

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 target path. Set width and height to 128 for emoji or 480 for messages, choose an FPS between 10 and 30, and the builder handles color optimization and looping automatically.

What size should a Slack emoji GIF be?

Slack emoji GIFs should be 128x128 pixels, with 64x64 as the minimum acceptable square size. 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, reduce colors to 48 with num_colors, shrink dimensions to 128x128, and enable remove_duplicates and optimize_for_emoji in the save call. The emoji mode automatically resizes, caps colors, and trims frames.

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 a style reference. The Skill does not bundle pre-made graphics, so all drawing uses PIL primitives like ellipses, polygons, and lines.

How do I make GIF animation motion look smooth instead of linear?

Use the interpolate function from the easing module with options like ease_out, bounce_out, elastic_out, or back_out. Pass a progress value t from 0 to 1 to get eased positions, scales, or angles for natural motion.

Why does my GIF fail Slack validation?

Validation fails when dimensions are not square 64-128 pixels for emoji, or when message GIFs fall outside 320-640 pixels with aspect ratio above 2:1. Run validate_gif with verbose output to see the exact dimension, size, and frame issues.