Skip to content
Back to skills

Slack Gif Creator

ASecurity

Create animated GIFs optimized for Slack with proper dimensions, frame rates, and file sizes.

  • 7 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added June 6, 2026
designpythongo

Security analysis

A100/100

Pro scans all 2 files and shows the line behind each finding

Scanned June 6, 2026

npx -y skills add mediar-ai/skillhubz --skill slack-gif-creator --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Slack Gif Creator?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Slack Gif Creator
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/mediar-ai-slack-gif-creator/badge)](https://www.skillsdirectory.com/skills/mediar-ai-slack-gif-creator)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
# Slack GIF Creator

Create animated GIFs optimized for Slack with proper dimensions, frame rates, and file sizes.

## Prerequisites

- Python with Pillow, imageio, numpy
- Understanding of animation concepts

## Instructions

### Slack Requirements

| Type | Dimensions | FPS | Colors | Duration |
|------|------------|-----|--------|----------|
| Emoji | 128x128 | 10-30 | 48-128 | <3 sec |
| Message | 480x480 | 10-30 | 48-128 | flexible |

### Core Workflow

```python
from core.gif_builder import GIFBuilder
from PIL import Image, ImageDraw

builder = GIFBuilder(width=128, height=128, fps=10)

for i in range(12):
    frame = Image.new('RGB', (128, 128), (240, 248, 255))
    draw = ImageDraw.Draw(frame)
    # Draw animation using PIL primitives
    builder.add_frame(frame)

builder.save('output.gif', num_colors=48, optimize_for_emoji=True)
```

### Drawing Graphics

```python
draw = ImageDraw.Draw(frame)
draw.ellipse([x1, y1, x2, y2], fill=(r,g,b), width=3)  # Circles
draw.polygon(points, fill=(r,g,b), width=3)            # Polygons
draw.line([(x1,y1), (x2,y2)], fill=(r,g,b), width=5)  # Lines
draw.rectangle([x1,y1,x2,y2], fill=(r,g,b), width=3)  # Rectangles
```

### Animation Concepts

- **Shake**: Use `math.sin()`/`math.cos()` for oscillation
- **Pulse**: Scale size with sine wave (0.8 to 1.2)
- **Bounce**: Use `easing='bounce_out'` for landing
- **Spin**: `image.rotate(angle, resample=Image.BICUBIC)`
- **Fade**: Adjust alpha channel or use `Image.blend()`
- **Slide**: Move from off-screen with `easing='ease_out'`

### Making Graphics Look Good

- Use thicker lines (`width=2` or higher)
- Add visual depth with gradients
- Layer multiple shapes for complexity
- Use vibrant, complementary colors
- Add contrast (dark outlines on light shapes)

## Error Handling

- If file size too large, reduce colors/frames/dimensions
- Don't use emoji fonts (unreliable across platforms)
- Test GIF in Slack before finalizing

## Notes

- Utilities: GIFBuilder, validators, easing functions
- Easing options: linear, ease_in, ease_out, bounce_out, elastic_out
- Combine concepts: bouncing + rotating, pulsing + sliding

Source: anthropics/skills

Files in this skill

  • manifest.json310 B
  • skill.md2.1 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.