A

slack-gif-creator

by anthropics

Create animated GIFs for Slack with practical guidance, Python utilities, and validation tools for sizing, timing, and optimization.

Stars0
Favorites0
Comments0
CategoryImage Editing
Install Command
npx skills add https://github.com/anthropics/skills --skill slack-gif-creator
Overview

Overview

What slack-gif-creator is

slack-gif-creator is a focused skill for creating animated GIFs that fit Slack-friendly constraints. In the repository, it is presented as a toolkit with practical knowledge plus Python utilities for assembling frames, controlling animation timing, and checking whether an output GIF is suitable for Slack use.

The included code supports a frame-based workflow built around Pillow, NumPy, and ImageIO. It also includes a validator for checking GIF dimensions, size details, frame count, and duration-related information.

What problems it helps solve

This skill is useful when you need to turn an idea, design, or uploaded image into an animated GIF that works well in Slack. It helps with common issues such as:

  • choosing sensible dimensions for Slack usage
  • keeping animation duration short enough for emoji-style GIFs
  • balancing frame rate against file size
  • reducing colors to keep GIFs lighter
  • resizing frames consistently before export
  • validating the finished file before sharing it

The repository guidance specifically calls out Slack-oriented targets such as 128x128 for emoji GIFs, 480x480 for message GIFs, frame rates in the 10-30 FPS range, and lower color counts to reduce file size.

Who this skill is for

slack-gif-creator is a good fit for:

  • agents or developers generating GIFs programmatically
  • teams making custom Slack emoji animations
  • users who want to animate shapes, text, or composited frames with Python
  • workflows that start from an uploaded image and then adapt or animate it

Because the implementation is code-based, it is especially practical for people comfortable with Python and image-processing libraries.

What is included in the repository

The skill directory includes a small but useful set of files:

  • SKILL.md for the core workflow and Slack-specific guidance
  • requirements.txt for Python dependencies
  • core/gif_builder.py for collecting frames and writing optimized GIFs
  • core/frame_composer.py for drawing and compositing frame elements
  • core/easing.py for animation timing functions
  • core/validators.py for checking finished GIFs against Slack-oriented requirements
  • LICENSE.txt for Apache License 2.0 terms

When slack-gif-creator is a good fit

Choose this skill when you want a reusable, code-driven GIF creation workflow rather than a one-off manual design process. It is well suited to repeatable generation tasks such as:

  • making animated Slack emoji from simple motion graphics
  • creating short looped status or reaction GIFs
  • building GIFs from programmatically generated frames
  • validating output before sending it into a Slack workflow

When it may not be the best fit

This skill may not be ideal if you need:

  • a no-code desktop design tool
  • advanced timeline editing like a full video editor
  • a complete text-to-image or text-to-video generation system
  • a Slack app or bot integration out of the box

The repository evidence supports a Python utility toolkit for GIF creation and optimization, not a packaged end-user app or hosted service.

How to Use

Install the skill

Install slack-gif-creator with:

npx skills add https://github.com/anthropics/skills --skill slack-gif-creator

After installation, open the local skill files and review SKILL.md first. That file gives the clearest high-level view of the intended workflow and Slack-specific constraints.

Install Python dependencies

The repository includes requirements.txt with these dependencies:

  • pillow>=10.0.0
  • imageio>=2.31.0
  • imageio-ffmpeg>=0.4.9
  • numpy>=1.24.0

Install them in your Python environment before running or adapting the utility modules.

For a fast evaluation, start in this order:

  1. SKILL.md
  2. requirements.txt
  3. core/gif_builder.py
  4. core/frame_composer.py
  5. core/validators.py
  6. core/easing.py

This sequence helps you understand the intended output constraints first, then the code you will actually reuse.

Understand the core workflow

The documented workflow in SKILL.md is straightforward:

  1. create a GIFBuilder
  2. generate or draw frames
  3. add frames to the builder
  4. save the GIF with optimization settings

The repository example uses Pillow primitives to draw on frames, then exports an optimized GIF. This makes slack-gif-creator a practical option for scripted animation pipelines.

Build GIFs from frames

core/gif_builder.py provides the central builder class. Based on the source, it supports:

  • setting width, height, and FPS during initialization
  • adding frames as either PIL.Image objects or NumPy arrays
  • automatically converting image input to RGB
  • resizing frames to the configured dimensions if needed

That is useful when your source frames come from mixed inputs or inconsistent sizes.

Compose visuals programmatically

core/frame_composer.py includes helper functions for frame creation and drawing. The visible source confirms support for tasks such as:

  • creating a blank RGB frame
  • drawing circles
  • drawing text
  • working with Pillow image objects for compositing

If your workflow involves badges, emoji-style motion graphics, or simple geometric animation, this module is one of the most practical places to start.

Control timing and motion

core/easing.py contains easing functions for smoother animation timing. The source includes functions such as:

  • linear
  • ease_in_quad
  • ease_out_quad
  • ease_in_out_quad
  • ease_in_cubic
  • ease_out_cubic
  • ease_in_out_cubic
  • bounce easing variants

Use these functions when you want movement to feel more natural than a constant linear step between positions.

Work with uploaded images

The repository guidance explicitly mentions user-uploaded images. A practical way to use slack-gif-creator in that case is to decide whether the image should be:

  • used directly as animation input
  • split into frames or transformed
  • treated only as visual inspiration for a newly generated animation

The documented approach uses Pillow to open uploaded files, which makes it easy to combine source imagery with custom frame generation.

Validate output before sharing

core/validators.py is designed to check whether a generated GIF meets Slack-oriented expectations. The visible source shows validation for:

  • file existence
  • dimensions
  • file size details
  • frame count
  • duration and FPS calculations

This is one of the most valuable parts of slack-gif-creator for production workflows, because it helps catch problems before a GIF is uploaded or reused.

Practical Slack optimization tips from the repository

When adapting this skill, the repository guidance suggests these defaults and guardrails:

  • use 128x128 for emoji GIFs when possible
  • use 480x480 for larger message GIFs
  • stay in the 10-30 FPS range
  • reduce colors to around 48-128 to shrink files
  • keep emoji GIFs under about 3 seconds for better Slack usability

These are practical starting points for installation decisions too: if your use case depends on large, long, high-color animations, this skill may require tradeoffs.

Best way to test your first result

A sensible first run is:

  1. generate a very short loop at 128x128
  2. keep FPS modest, such as 10 or 12
  3. export with lower color counts
  4. run validation on the saved GIF
  5. inspect playback quality, size, and readability in Slack

This gives you a quick signal on whether slack-gif-creator fits your needs before you invest in a more complex animation pipeline.

FAQ

Is slack-gif-creator a Slack app or bot?

No. Based on the repository contents, slack-gif-creator is a skill and code toolkit for creating and validating GIFs intended for Slack. It does not appear to be a packaged Slack app, bot, or hosted service.

Do I need Python to use slack-gif-creator?

Yes, for the included utilities. The repository contains Python modules and a requirements.txt file with dependencies such as Pillow, ImageIO, ImageIO FFmpeg, and NumPy.

Can slack-gif-creator create GIFs from scratch?

Yes. The documented workflow shows programmatically generating frames and drawing graphics with Pillow before exporting them as a GIF.

Can I use an uploaded image as input?

Yes. SKILL.md explicitly discusses working with user-uploaded images and using Pillow to open files like file.png.

What dimensions should I use for Slack GIFs?

The repository guidance recommends 128x128 for emoji GIFs and 480x480 for message GIFs. Those are good defaults when using slack-gif-creator.

How does slack-gif-creator help reduce GIF size?

The documented guidance recommends lower FPS, fewer colors, and short durations. The builder is also described as saving with optimization settings, and the validator helps you inspect the output afterward.

Is this skill good for video editing?

Not in the sense of a full editing suite. It is better described as a programmatic animation and GIF optimization toolkit. It may support video-adjacent workflows through frame generation and the listed dependencies, but the repository evidence is centered on GIF creation for Slack.

What should I open first after installation?

Start with SKILL.md, then review core/gif_builder.py, core/frame_composer.py, and core/validators.py. That will give you the clearest path from installation to first output.

Ratings & Reviews

No ratings yet
Share your review
Sign in to leave a rating and comment for this skill.
G
0/10000
Latest reviews
Saving...