slack-gif-creator

Create animated GIFs optimized for Slack message and emoji size constraints.

8|3|Updated Oct 20, 2025
One-click install
npx skills add https://github.com/chongdashu/claude-code-skills-demo --skill slack-gif-creator-chongdashu
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: slack-gif-creator
Source: https://github.com/chongdashu/claude-code-skills-demo/tree/main/.claude/skills/slack-gif-creator
Command: npx skills add https://github.com/chongdashu/claude-code-skills-demo --skill slack-gif-creator-chongdashu

SYSTEM DOCUMENTATION & REQUIREMENTS

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

What problem does it solve? Creating animated GIFs that fit Slack's strict size limits (2MB for messages, 64KB for emoji) requires tedious manual optimization of frames, colors, and dimensions, which this toolkit automates. ## Core Features & Use Cases - Slack Constraint Validators: Check file size, dimensions, and readiness against Slack's message and emoji GIF requirements before uploading. - Composable Animation Primitives: Build motion from reusable templates including shake, bounce, spin, pulse, fade, zoom, explode, wiggle, slide, flip, morph, move, and kaleidoscope effects. - Optimization Helpers: GIFBuilder handles color quantization, duplicate frame removal, and aggressive emoji-mode compression, plus utilities for text outlines, color palettes, easing functions, and particle effects. - Use Case: A user asks for a custom emoji reaction GIF of a party popper exploding. The skill generates 12 frames at 128x128 with 40 colors, validates the output is under 64KB, and produces a Slack-ready emoji GIF. ## Quick Start Create a Slack emoji GIF of a heart pulsing using the pulse animation template and validate it meets the 64KB emoji size limit.

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 frames at your target dimensions and FPS, then save with color quantization. Animation templates like bounce, shake, and pulse generate frames you add to the builder before saving.

What are Slack's size limits for custom emoji GIFs?

Slack emoji GIFs must be under 64KB, ideally 128x128 pixels at 10-12 FPS with 32-48 colors and 1-2 seconds duration. Message GIFs allow up to roughly 2MB at 480x480.

How do I reduce a GIF file size to fit Slack's 64KB emoji limit?

Limit the animation to 10-12 frames, use 32-40 colors maximum, avoid gradients in favor of solid colors, and enable optimize_for_emoji=True when saving. Validate frequently with check_slack_size during iteration.

Can I combine multiple animation effects in one GIF?

Yes, the animation primitives are composable. You can generate frames from templates like move and shake, then merge them per-frame using easing functions and frame composition utilities to build multi-phase animations.

Why does my Slack GIF look blurry or fail to upload?

Upload failures usually mean the file exceeds size limits or uses wrong dimensions. Blurriness often comes from too few colors or small text without outlines; use draw_text_with_outline and validate with validate_gif before uploading.