Logoclaudeskills文档

Slack GIF Creator

Agent Skill 指南:用于生成主题化 Slack GIF 包,涵盖提示管理、帧动画流水线与审核清单。

来源:基于 anthropics/skills(MIT)内容改写。

本工具包帮助创建满足 Slack 规范的动图,提供尺寸/大小验证器、可组合的动画原语以及若干辅助工具。可根据创意自由组合使用。

Slack GIF 要求

Slack 针对不同用途有严格限制:

消息 GIF:

  • 文件体积:约 ≤ 2MB
  • 建议尺寸:480×480
  • 推荐帧率:15–20 FPS
  • 色彩数量:128–256
  • 总时长:2–5 秒

表情 GIF:

  • 文件体积:≤ 64KB(硬性限制)
  • 建议尺寸:128×128
  • 推荐帧率:10–12 FPS
  • 色彩数量:32–48
  • 总时长:1–2 秒

表情 GIF 难度最高(64KB 严格限制),建议策略:

  • 总帧数控制在 10–15 帧
  • 色彩控制在 32–48 种
  • 设计保持简洁
  • 避免渐变
  • 频繁验证文件大小

工具包结构

本 Skill 提供三类工具:

  1. 验证器:检查 GIF 是否满足 Slack 限制
  2. 动画原语:可组合的运动模块(震动、弹跳、滑动、万花筒等)
  3. 辅助工具:可选函数(文本、配色、特效等)

创作方式完全自由。

核心验证器

用于确保 GIF 符合 Slack 要求:

from core.gif_builder import GIFBuilder

# 构建 GIF 后检查是否合规
builder = GIFBuilder(width=128, height=128, fps=10)
# ... 自行添加帧 ...

# 保存并检测体积
info = builder.save('emoji.gif', num_colors=48, optimize_for_emoji=True)

# save 方法会自动提示是否超限
# info 包含:size_kb, size_mb, frame_count, duration_seconds

文件大小验证:

from core.validators import check_slack_size

passes, info = check_slack_size('emoji.gif', is_emoji=True)

尺寸验证:

from core.validators import validate_dimensions

passes, info = validate_dimensions(128, 128, is_emoji=True)

完整验证:

from core.validators import validate_gif, is_slack_ready

all_pass, results = validate_gif('emoji.gif', is_emoji=True)

if is_slack_ready('emoji.gif', is_emoji=True):
    print("Ready to upload!")

动画原语

以下动画模块可自由组合,适用于任意对象:

Shake(震动)

from templates.shake import create_shake_animation

frames = create_shake_animation(
    object_type='emoji',
    object_data={'emoji': '', 'size': 80},
    num_frames=20,
    shake_intensity=15,
    direction='both'
)

Bounce(弹跳)

from templates.bounce import create_bounce_animation

frames = create_bounce_animation(
    object_type='circle',
    object_data={'radius': 40, 'color': (255, 100, 100)},
    num_frames=30,
    bounce_height=150
)

Spin / Rotate(旋转)

from templates.spin import create_spin_animation, create_loading_spinner

# 示例见原始脚本

此外还提供 slide、zoom、wiggle、kaleidoscope 等模板,可针对文本、图形、表情等对象生成动画。

辅助工具示例

  • 文字绘制:在帧中绘制多种字体/风格的文本
  • 配色工具:生成和谐的主题色、调色板
  • 效果函数:如闪烁、渐显、粒子、噪声等
  • 合成函数:组合多段动画、拼接帧序列

所有工具仅作参考,可根据需求自由调整。

GitHub 访问

在 GitHub 查看