LLM Skills
HiggsfieldGenerate images and videos from a single promptTry HiggsfieldSponsored
~/catalog/video generation//SKILL
Video generationGitHub source

Slack GIF Creator

/SKILL

A toolkit providing utilities and knowledge for creating animated GIFs optimized for Slack.

anthropicsanthropics
★182.1k
May 29, 2026
// skill content

--- name: slack-gif-creator description: Knowledge and utilities for creating animated GIFs optimized for Slack. Provides guidelines, validation tools, and animation concepts. Use when users request animated GIFs for Slack, such as "make me a GIF of X doing Y for Slack." license: Full terms in LICENSE.txt --- # Slack GIF Creator A toolkit providing utilities and knowledge for creating animated GIFs optimized for Slack. ## Slack Requirements Dimensions: - Emoji GIFs: 128x128 (recommended) - Message GIFs: 480x480 Parameters: - FPS: 10:30 (lower FPS results in a smaller file size) - Colors: 48:128 (fewer colors result in a smaller file size) - Duration: Keep under 3 seconds for emoji GIFs ## Core Workflow ``python from core.gif_builder import GIFBuilder from PIL import Image, ImageDraw # 1. Create builder builder = GIFBuilder(width=128, height=128, fps=10) # 2. Generate frames for i in range(12): frame = Image.new('RGB', (128, 128), (240, 248, 255)) draw = ImageDraw.Draw(frame) # Draw your animation using PIL primitives # (circles, polygons, lines, etc.) builder.add_frame(frame) # 3. Save with optimization builder.save('output.gif', num_colors=48, optimize_for_emoji=True) ` ## Drawing Graphics ### Working with User-Uploaded Images If a user uploads an image, consider whether they want to: - **Use it directly** (e.g., "animate this", "split this into frames") - **Use it as inspiration** (e.g., "make something like this") Load and work with images using PIL: `python from PIL import Image uploaded = Image.open('file.png') # Use directly, or just as reference for colors/style ` ### Drawing from Scratch When drawing graphics from scratch, use PIL ImageDraw primitives: `python from PIL import ImageDraw draw = ImageDraw.Draw(frame) # Circles/ovals draw.ellipse([x1, y1, x2, y2], fill=(r, g, b), outline=(r, g, b), width=3) # Stars, triangles, any polygon points = [(x1, y1), (x2, y2), (x3, y3), ...] draw.polygon(points, fill=(r, g, b), outline=(r, g, b), width=3) # Lines draw.line([(x1, y1), (x2, y2)], fill=(r, g, b), width=5) # Rectangles draw.rectangle([x1, y1, x2, y2], fill=(r, g, b), outline=(r, g, b), width=3) ` **Don't use:** Emoji fonts (unreliable across platforms) or assume pre-packaged graphics exist in this skill. ### Making Graphics Look Good Graphics should look polished and creative, not basic. Here's how: **Use thicker lines** - Always set width=2 or higher for outlines and lines. Thin lines (width=1) look choppy and amateurish. **Add visual depth**: - Use gradients for backgrounds (creategradientbackground) - Layer multiple shapes for complexity (e.g., a star with a smaller star inside) **Make shapes more interesting**: - Don't just draw a plain circle - add highlights, rings, or patterns - Stars can have glows (draw larger, semi-transparent versions behind) - Combine multiple shapes (stars + sparkles, circles + rings) **Pay attention to colors**: - Use vibrant, complementary colors - Add contrast (dark outlines on light shapes, light outlines on dark shapes) - Consider the overall composition **For complex shapes** (hearts, snowflakes, etc.): - Use combinations of polygons and ellipses - Calculate points carefully for symmetry - Add details (a heart can have a highlight curve, snowflakes have intricate branches) Be creative and detailed! A good Slack GIF should look polished, not like placeholder graphics. ## Available Utilities ### GIFBuilder ( core. gif_builder) Assembles frames and optimizes for Slack: `python builder = GIFBuilder(width=128, height=128, fps=10) builder.add_frame(frame) # Add PIL Image builder.add_frames(frames) # Add list of frames builder.save('out.gif', num_colors=48, optimize_for_emoji=True, remove_duplicates=True) ` ### Validators ( core.validators ) Check if GIF meets Slack requirements: `python from core.validators import validate_gif, is_slack_ready # Detailed validation passes, info = validate_gif('my.gif', is_emoji=True, verbose=True) # Quick check if is_slack_ready('my.gif'): print("Ready!") ` ### Easing Functions ( core.easing ) Smooth motion instead of linear: ``python from core.easing import interpolate # Progress from

// original public source
anthropics/skills
/skills/slack-gif-creator/SKILL.md
License: License not specified. Review the repository before reusing it.
Independent project, not affiliated with Anthropic. This skill remains the property of its original author.
// install this skill
Paste this command in your terminal at the root of your project:
mkdir -p .claude/commands && curl -o ".claude/commands/SKILL.md" "https://raw.githubusercontent.com/anthropics/skills/main/skills/slack-gif-creator/SKILL.md"
Then in Claude Code, type /SKILL to activate it.
open_in_newOpen original source
// save
Save available after sign in.
loginSign in to save
// information
Creatoranthropics
Stars★ 182.1k
UpdatedMay 29, 2026
Format.md
AccessFree
HiggsfieldSponsored

One video, ten variants, zero reshoots

With Genjutsu, take an existing video and swap the character, the product or the set while keeping the motion and the edit. Perfect to scale an ad that works or adapt it to each market.

Discover Genjutsu
// similar

Skills Video generation

View allarrow_forward