Create Slack-ready animated GIFs or emoji animations from text descriptions.
The materials indicate an open-source, prompt/document-style GIF creation toolkit with no required secrets and no declared remote endpoints. Overall risk is low based on the available facts, though the README includes examples for local GIF generation and saving, so users should confirm whether it is truly prompt-only or ships executable components.
The material explicitly states that no keys or environment variables are required, and no OAuth, API token, or third-party account authorization is described, resulting in low credential exposure and abuse risk.
No remote endpoints or network dependencies are declared; the description focuses on local GIF generation and validation, with no evidence that user content is sent to external services.
The system marks it as prompt-only, and the materials read more like skill instructions and code snippets than something that requires spawning processes or running system commands; no elevated or dangerous execution capability is requested.
The materials only show saving generated GIFs as local files and validating size/dimensions, without indicating broad access to user files, system directories, or external resources; the apparent data access scope is narrow.
The source is an open-source GitHub repository with high community adoption (64.7k stars), which are strong risk-reducing signals; while the license is unspecified and maintenance status is unknown, the current materials show no red flags such as closed-source exfiltration, suspicious injection, or an untrustworthy origin.
Copy the install command and let the AI configure it · recommended for beginners
Please install the "slack-gif-creator" skill from askskill: 1. Download https://raw.githubusercontent.com/ComposioHQ/awesome-claude-skills/master/slack-gif-creator/SKILL.md 2. Save it as ~/.claude/skills/slack-gif-creator/SKILL.md 3. Reload skills and tell me it's ready
A toolkit for creating animated GIFs optimized for Slack. Provides validators for Slack's constraints, composable animation primitives, and optional helper utilities. Apply these tools however needed to achieve the creative vision.
Slack has specific requirements for GIFs based on their use:
Message GIFs:
Emoji GIFs:
Emoji GIFs are challenging - the 64KB limit is strict. Strategies that help:
This skill provides three types of tools:
Complete creative freedom is available in how these tools are applied.
To ensure a GIF meets Slack's constraints, use these validators:
from core.gif_builder import GIFBuilder
# After creating your GIF, check if it meets requirements
builder = GIFBuilder(width=128, height=128, fps=10)
# ... add your frames however you want ...
# Save and check size
info = builder.save('emoji.gif', num_colors=48, optimize_for_emoji=True)
# The save method automatically warns if file exceeds limits
# info dict contains: size_kb, size_mb, frame_count, duration_seconds
File size validator:
from core.validators import check_slack_size
# Check if GIF meets size limits
passes, info = check_slack_size('emoji.gif', is_emoji=True)
# Returns: (True/False, dict with size details)
Dimension validator:
from core.validators import validate_dimensions
# Check dimensions
passes, info = validate_dimensions(128, 128, is_emoji=True)
# Returns: (True/False, dict with dimension details)
Complete validation:
from core.validators import validate_gif, is_slack_ready
# Run all validations
all_pass, results = validate_gif('emoji.gif', is_emoji=True)
# Or quick check
if is_slack_ready('emoji.gif', is_emoji=True):
print("Ready to upload!")
These are composable building blocks for motion. Apply these to any object in any combination:
from templates.shake import create_shake_animation
# Shake an emoji
frames = create_shake_animation(
object_type='emoji',
object_data={'emoji': '😱', 'size': 80},
num_frames=20,
shake_intensity=15,
direction='both' # or 'horizontal', 'vertical'
)
from templates.bounce import create_bounce_animation
# Bounce a circle
frames = create_bounce_animation(
object_type='circle',
object_data={'radius': 40, 'color': (255, 100, 100)},
num_frames=30,
bounce_height=150
)
from templates.spin import create_spin_animation, create_loading_spinner
# Clockwise spin
frames = create_spin_animation(
object_type='emoji',
object_data={'emoji': '🔄', 'size': 100},
rotation_type='clockwise',
full_rotations=2
)
# Wobble rotation
frames = create_spin_animation(rotation_type='wobble', full_rotations=3)
# Loading spinner
frames = create_loading_spinner(spinner_type='dots')
from templates.pulse import create_pulse_animation, create_attention_pulse
# Smooth pulse
frames = create_pulse_animation(
object_data={'emoji': '❤️', 'size': 100},
pulse_type='smooth',
scale_range=(0.8, 1.2)
)
# Heartbeat (double-pump)
frames = create_pulse_animation(pulse_type='heartbeat')
# Attention pulse for emoji GIFs
…
Automate Dailybot check-ins, reminders, and team coordination via Rube MCP.
Automate DataRobot tasks through Rube MCP for faster model and data workflows.
Automate Deadline Funnel marketing tasks after checking current tool schemas first.
Automate dictionary API lookups and integrations through Rube MCP workflows.
Automate Front inbox conversations, contacts, and team workflows via Rube MCP.
Automate D2L Brightspace course and learning platform tasks through Rube MCP.
Create Slack-ready animated GIFs with optimized specs, validation, and animation guidance.
Create, refine, validate, and restructure AgentSkills and SKILL.md files.
Create, refine, and evaluate AI skills for better performance and triggering accuracy.
Create or update skills that extend Codex with knowledge, workflows, and tools.
Turn a repeated workflow into a reusable skill file from the current session.
Create or refine AI skills with scope, workflows, and tool integrations.