Skip to the usage guide
slack-gif-creatorby Anthropic

Slack GIF Creator Skill.

A Claude Code and Codex skill for motion and video: animated GIFs that meet Slack's size and dimension limits.

  • Motion & Video
  • GIF
anthropics/skills · skills/slack-gif-creator/SKILL.mdSKILL.md
--- name: slack-gif-creator description: 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. --- ## Slack Requirements ## Core Workflow ## Drawing Graphics ## Available Utilities ## Animation Concepts ## Optimization Strategies
Front matter and section headings read from the upstream file on 2026-09-14 · 7,841 characters in full

01 What it does

What the slack-gif-creator Skill Does in Claude Code and Codex

Summary, workflow and outputs, all read from the skill's SKILL.md.

From the SKILL.mdRead 2026-09-14 · not a recorded run

In the Skill's Own Terms

A toolkit for creating animated GIFs optimized for Slack's size and dimension requirements. Provides a GIFBuilder for assembling frames, validators to check Slack compliance, easing functions for smooth motion, and frame helpers for common drawing tasks. Designed for emoji GIFs (128×128, under 3 seconds) and message GIFs (480×480).

Uses PIL ImageDraw primitives to create graphics from scratch or work with user-uploaded images. Includes animation concepts like bounce, pulse, spin, fade, and particle bursts. Focuses on producing polished, creative graphics with proper line weights, visual depth, and color contrast rather than basic placeholder shapes.

GIF
See the example prompt ↗

How It Works

  1. 01
    Create a GIFBuilder

    Initialize with target dimensions (128×128 for emoji or 480×480 for messages) and frame rate between 10-30 FPS, where lower rates produce smaller file sizes.

  2. 02
    Generate Frames with PIL Primitives

    Draw each frame using PIL's ImageDraw ellipses, polygons, lines and rectangles.

  3. 03
    Apply Easing Functions for Smooth Motion

    Use interpolate with easing curves like ease_out, bounce_out, elastic_out or back_out instead of linear motion to create natural-feeling animations.

  4. 04
    Add Frames to the Builder

    Call add_frame for each PIL Image or add_frames for a list. The builder accumulates all frames before export.

  5. 05
    Save with Slack Optimization

    Export with num_colors between 48-128 (fewer colors reduce file size), optimize_for_emoji=True for automatic optimization, and remove_duplicates=True to eliminate redundant frames.

  6. 06
    Validate Against Slack Requirements

    Use validate_gif for detailed feedback or is_slack_ready for a quick pass/fail check to confirm the GIF meets dimension, size and parameter constraints.

02 Find your fit

When to Use the slack-gif-creator Skill

Use the slack-gif-creator skill in Claude Code or Codex when the job is motion and video of this kind. Fit and limits below are taken from the skill's own file.

Good Fit

  • Building message GIFs at 480×480 with smooth motion using easing functions
  • Combining animation concepts like bouncing plus rotating or pulsing plus sliding
  • Working with user-uploaded images either directly or as inspiration for colors and style

Know the Boundaries

  • Expecting pre-packaged graphics or rigid animation templates built into the skill

What to Provide

  • Animation request with subject and actionA description like "make me a GIF of X doing Y for Slack" that specifies what to animate and the behavior, triggering the skill's use.
  • Optional user-uploaded imageAn image file to either animate directly or use as inspiration for colors and style, loaded with PIL Image.open.

03 Inside the skill

Rules the slack-gif-creator Skill Gives Claude Code and Codex

8 concrete instructions, defaults and limits the SKILL.md sets for the agent — the part of the file that changes the result.

  1. Emoji GIFs Must Be 128×128, Message GIFs 480×480

    Slack enforces specific dimensions: 128×128 recommended for emoji GIFs, 480×480 for message GIFs. These are hard requirements validated by the skill's validators.

  2. Keep Emoji GIF Duration Under 3 Seconds

    For emoji GIFs specifically, duration must stay below 3 seconds to meet Slack's requirements and maintain reasonable file size.

  3. Always Use Width=2 or Higher for Outlines

    Thin lines with width=1 look choppy and amateurish. Always set width=2 or higher for outlines and lines to achieve polished graphics.

  4. Do Not Use Emoji Fonts

    Emoji font rendering is unreliable across platforms and must not be used. Draw graphics using PIL primitives instead.

  5. FPS Defaults to 10-30 Range

    Frame rate should be between 10-30 FPS, where lower values produce smaller file sizes. This is the acceptable parameter range for Slack GIFs.

  6. Use 48-128 Colors, Fewer for Smaller Files

    Color palette should use between 48 and 128 colors. Fewer colors directly reduce file size; 48 colors is recommended for maximum optimization.

  7. Interpret User Image Uploads by Request Intent

    When a user uploads an image, determine whether they want it used directly in the animation or just as inspiration for colors and style before proceeding.

  8. Only Optimize When Explicitly Asked

    Apply optimization strategies like fewer frames, fewer colors, smaller dimensions or duplicate removal only when the user specifically requests smaller file size.

04 Put it to work

Install slack-gif-creator in Claude Code or Codex

One npx skills add command, then a first task in your agent and a checklist for the result.

Add slack-gif-creator to Claude Code, Codex or Your Agent

Run in your project; the installer asks which agent to add it to.

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

Generic skills CLI form for skills/slack-gif-creator/SKILL.md; the repository may document its own path.

Give the Skill a First Motion and Video Task

Written in the skill's own terms; replace the bracketed parts with your material.

Starter prompt
Make me an animated emoji GIF for Slack showing a yellow star rotating and pulsing, 128×128, with a gradient blue background. Keep it under 3 seconds and make the motion smooth with easing.

Source: written from the SKILL.md in the skill's own terms.

Check the First Result

What the SKILL.md itself says a correct result looks like:

  • Use is_slack_ready for a quick boolean check confirming the GIF meets all Slack requirements

In OpenDesign slack-gif-creator is bundled: Plugins → Skills, pick it in the top bar.

05 Open source, traceable

Source, License and Verification

Where this page's facts come from, and when they were last checked.

Author
Anthropic
Repository
github.com/anthropics/skills Branch main
Skill file
skills/slack-gif-creator/SKILL.md Content checksum recorded at verification; commit 34040c9
License
Apache-2.0 From skills/slack-gif-creator/LICENSE.txt; SKILL.md says “Complete terms in LICENSE.txt”.
Repository stars
176,183 GitHub snapshot taken 2026-09-14 for the whole anthropics/skills repository, which contains 7 skills in this catalog. Not a rating or usage count for slack-gif-creator.
Verified by OpenDesign
2026-09-14 Source file, path, license text and star count were checked. Bundled in OpenDesign main (checked 2026-08-28); a live run has not been recorded on this page.

Inside the SKILL.md

  1. Slack RequirementsDimension specs (128×128 emoji, 480×480 message), FPS range 10-30, color limits 48-128, 3-second emoji duration
  2. Core WorkflowThree-step process: create GIFBuilder, generate frames with PIL, save with optimization parameters
  3. Drawing GraphicsWorking with uploaded images, using PIL ImageDraw primitives, making graphics polished with thick lines and depth
  4. Available UtilitiesGIFBuilder for assembly, validators for Slack compliance, easing functions, frame composer helpers
  5. Animation ConceptsTechniques for shake, pulse, bounce, spin, fade, slide, zoom, particle burst effects
  6. Optimization StrategiesFive methods to reduce file size: fewer frames, fewer colors, smaller dimensions, duplicate removal, emoji mode
  7. PhilosophyProvides knowledge and utilities, not templates; encourages creativity combining concepts; no pre-packaged graphics
  8. DependenciesRequires pillow, imageio, numpy via pip install
The Skill's Own Description
“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.”

Front-matter description from SKILL.md. The full file is about 7,841 characters. Read the full file on GitHub.

Slack GIF Creator

Run slack-gif-creator on a Real Motion and Video Task.

The slack-gif-creator skill ships inside OpenDesign. Download the app, pick the skill in Plugins → Skills, paste the prompt above, and read the plan before the result.

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