Kipt

Slack GIF creator skill: animated emoji and GIFs with Claude

Anthropic's slack gif creator skill gives Claude Python helpers and Slack size rules for animated emoji and message GIFs. What's inside and how to install it.

By the Kipt team · Updated 24 October 2026

Source: anthropics/skills · Maintainer: Anthropic · License: Apache 2.0 · Checked: 24 October 2026

What is the slack-gif-creator skill?

The slack-gif-creator skill lets Claude draw and animate a GIF in Python and save it at a size that works as a Slack emoji or a message GIF. It is one of Anthropic's example skills in anthropics/skills, and a compact model of a skill that bundles both knowledge and working code.

The description in its SKILL.md reads: "Knowledge and utilities for creating animated GIFs optimized for Slack. Provides constraints, validation tools, and animation concepts. Use when users request animated GIFs for Slack like "make me a GIF of X doing Y for Slack.""

Its skills.sh page listed 75.2K installs (snapshot, 24 October 2026).

What does the slack-gif-creator skill do?

Claude can load it automatically when you ask for a GIF for Slack. The skill gives Claude three things: target numbers, a workflow, and helper modules.

What numbers does it target?

The SKILL.md lists these Slack requirements:

Setting Emoji GIF Message GIF
Dimensions 128x128 (recommended) 480x480
Frame rate 10 to 30 FPS 10 to 30 FPS
Colors 48 to 128 48 to 128
Duration Under 3 seconds Not specified

Lower frame rates and fewer colors mean smaller files. These are the skill's own guidelines; check Slack's current upload rules if a file is rejected.

What is the workflow?

  1. Create a GIFBuilder with a width, height and frame rate.
  2. Draw each frame with Pillow's ImageDraw primitives: ellipses, polygons, lines and rectangles.
  3. Add frames to the builder and save with a color limit, optionally in emoji mode.

The skill tells Claude not to rely on emoji fonts, which it calls unreliable across platforms, and not to assume pre-packaged graphics exist. It pushes for polish: outlines at width=2 or more, gradient backgrounds, layered shapes, glows behind stars, and contrasting colors.

What animation ideas does it include?

Shake, pulse and heartbeat, bounce, spin and wobble, fade in and out, slide (with overshoot), zoom, and particle bursts. Each comes with a short recipe, such as using math.sin() on the frame index for a shake, or bounce_out easing for a landing.

What is in the folder?

  • SKILL.md: requirements, workflow, drawing advice and animation concepts.
  • core/gif_builder.py: the GIFBuilder class. It reduces colors to a global palette, can remove nearly identical frames, and in emoji mode resizes anything larger to 128x128, caps colors at 48 and drops frames from animations longer than 12 frames, aiming for about 12.
  • core/validators.py: validate_gif() and is_slack_ready(), which check dimensions and report file size, frame count and frame rate.
  • core/easing.py: interpolate() with easing curves including ease_in, ease_out, bounce_out, elastic_out and back_out.
  • core/frame_composer.py: helpers for blank frames, vertical gradients, circles, text and five-pointed stars.
  • requirements.txt: pillow, imageio, imageio-ffmpeg and numpy with minimum versions.
  • LICENSE.txt: Apache License 2.0.

How do you install the slack-gif-creator skill?

Claude Code plugin. From the repo README, in a Claude Code session:

/plugin marketplace add anthropics/skills
/plugin install example-skills@anthropic-agent-skills

The example-skills plugin includes slack-gif-creator plus Anthropic's other example skills. Per the Claude Code skills docs, plugin skills are namespaced, so it is also /example-skills:slack-gif-creator.

Just this skill. The command on skills.sh:

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

Add -g for all projects. In Claude Code, a personal copy sits at ~/.claude/skills/slack-gif-creator/. Codex and Cursor read the same SKILL.md format; see Codex skills and Cursor skills.

Then install the Python packages. The SKILL.md gives:

pip install pillow imageio numpy

requirements.txt also lists imageio-ffmpeg, so pip install -r requirements.txt from the skill folder covers everything it names.

Claude.ai. The README says the example skills are already available on paid Claude.ai plans, where Claude runs the code in its own sandbox. Custom copies go in as a ZIP under Customize > Skills, per Use skills in Claude, which requires code execution to be on.

How do you use it?

Say what moves, how, and whether it is an emoji or a message GIF. Mentioning Slack helps the skill trigger.

Example prompts (suggestions, not from the repo):

  • Make me a Slack emoji GIF of a rocket launching and bouncing back down.
  • Make a 480x480 GIF for Slack: our logo slides in from the left and pulses twice. (attach the logo)
  • Create an emoji of a spinning pineapple with sparkles and a soft glow.
  • That GIF is too big for an emoji. Make the file smaller.

The last one matches a rule in the skill: only when asked to shrink the file does Claude apply optimizations such as fewer frames, fewer colors, smaller dimensions, duplicate removal or emoji mode.

What do you need?

Python with the packages above. The helper modules use the X | Y type hint syntax in function signatures, so plan on Python 3.10 or later. No API keys and no Slack access are needed.

Tips and limits

  • Emoji mode changes your animation. With optimize_for_emoji=True, the builder shrinks larger frames to 128x128 and thins longer animations toward about 12 frames, so fast motion can look choppy. Design emoji animations around short loops.
  • The validator checks dimensions, not file size. validate_gif() passes or fails on dimensions only; it prints the size and adds a note above 5 MB. Judge size yourself against Slack's current limits.
  • Text uses Pillow's default font. draw_text calls ImageFont.load_default(), and the skill steers away from emoji fonts. Edit the helper if you need a brand typeface.
  • Scripts run locally. In Claude Code or Codex, the agent runs Python on your machine and writes GIF files to your project. Review the commands it proposes as you would any other.
  • Audit and license. On 24 October 2026, skills.sh showed Pass from Gen Agent Trust Hub, Socket and Snyk. The Apache 2.0 license lets you copy and change the skill if you keep the notice.

Save it in your Kipt library

Your team's emoji style, preferred sizes or brand colors can live in your own copy of this skill. In Kipt, open Skills and paste https://github.com/anthropics/skills/tree/main/skills/slack-gif-creator into the import box; Kipt reads the SKILL.md along with the core/ modules and requirements.txt. Kipt keeps skills in a private GitHub repo you own and installs them into Claude Code or Codex with one command:

npx skills add https://github.com/<you>/<repo>.git --all -g

Kipt is not affiliated with Anthropic or Slack.

Similar skills

Questions

What is the slack-gif-creator skill?

slack-gif-creator is an Agent Skill in Anthropic's anthropics/skills repo for making animated GIFs sized for Slack. It pairs instructions on dimensions, frame rates and animation ideas with a small Python toolkit for building frames, easing motion, optimizing the GIF and checking it before you upload.

How do I install the slack-gif-creator skill?

In Claude Code, run /plugin marketplace add anthropics/skills and then /plugin install example-skills@anthropic-agent-skills. For this skill alone, run npx skills add https://github.com/anthropics/skills --skill slack-gif-creator. Then install its Python dependencies with pip install pillow imageio numpy.

What size should a Slack emoji GIF be?

The skill recommends 128x128 for emoji GIFs and 480x480 for message GIFs, 10 to 30 frames per second, 48 to 128 colors, and under 3 seconds for emoji. Its validator accepts square emoji from 64 to 128 pixels, with 128x128 marked optimal.

Does the skill post the GIF to Slack?

No. It writes a GIF file on your machine or in Claude's sandbox. You upload it to Slack yourself, as a custom emoji or in a message. The skill has no Slack connection or API calls.

Can it animate an image I upload?

Yes. The SKILL.md tells Claude to decide whether you want the uploaded image used directly, for example split into frames, or only as inspiration for colors and style, and to load it with Pillow either way. The skill ships no pre-made graphics of its own.

More in Skill directory

All guides

Keep your prompts and skills in one place, in your own GitHub. Install every skill with one command.

Get started

Kipt is an independent product, not affiliated with or endorsed by Anthropic, OpenAI, Cursor or GitHub. Claude, ChatGPT, Codex, Cursor and GitHub are trademarks of their owners.