评分明细
适用场景
slack-gif-creator 快速入门
让 AI 直接给你生成”Slack 表情包”或”小动图”,团队群里活跃气氛 0 门槛。
这是什么?解决什么问题?
远程团队最缺的就是”梗”和”小表情”。但凡用过 Slack/Discord 的人都知道,真正能爆火的是那种几 KB、128x128、3 帧循环的小 GIF,做起来却要会 PS/AE/FFmpeg,门槛不低。
slack-gif-creator 是 Anthropic 官方 skills 仓库里的一个创意型 Skill,专门为 Slack 的限制做优化:
- 输出尺寸默认 128×128(Slack 自定义 emoji 推荐尺寸)
- 帧数控制在 5-15 帧,保证文件 < 256KB(Slack 上传限制)
- 调色板限制在 128 色内,用 GIF 调色板量化避免体积爆炸
- 支持文字、简单形状、缓动函数(easing),让小动图不”硬切”
AI 在生成时,会主动读取 SKILL.md 里的约束,直接给你一个能直接拖进 Slack 的 .gif 文件,顺便给一个建议的 emoji 短名。
适合:远程团队 admin、DevRel、社群运营。
准备工作
- Python ≥ 3.10
- ImageMagick(用于 GIF 调色板量化)
pip install pillow numpy(用于图像处理)- 一个支持 SKILL.md 的 agent
- 可选:ffmpeg,用于把视频转成帧再合成
3 步快速上手
第 1 步:克隆与软链
git clone https://github.com/anthropics/skills.git
ln -sf "$(pwd)/skills/slack-gif-creator" \
~/.claude/skills/slack-gif-creator
OpenCode 用户把目标路径改为 ~/.config/opencode/skills/。
第 2 步:验证依赖
python -c "import PIL, numpy; print('ok')"
magick -version | head -1
如果 ImageMagick 报”无法加载策略”,在 Windows 上以管理员执行一次 magick -configure 即可。Linux/macOS 用 brew install imagemagick 或 apt install imagemagick。
第 3 步:生成第一个 GIF 表情
在 agent 对话里说:
用 slack-gif-creator 给我做一个"PR 合并成功"主题的动画 emoji,
128x128,小于 100KB,适合 Slack 自定义 emoji。
AI 会按 SKILL.md 里的”PR 合并 → 绿色对勾 + 撒花”模板,生成一个 8 帧的小动图,落到本地(例如 output/pr_merged.gif)。你会拿到:
- 文件路径
- 体积(几 KB 到几十 KB)
- 建议的 emoji 短名
:pr-merged: - 一句话说明动画节奏(每帧 80ms,共 640ms 循环)
接下来你可以用 Slack 的 “Customize → Add Custom Emoji” 把这个文件传上去,贴 :pr-merged: 就能用。
常见踩坑
- 文件超过 256KB:Slack 自定义 emoji 限制 256KB,超了会拒绝上传。让 Skill 显式把帧数砍到 5-8。
- 动画看起来”硬切”:缺缓动,Skill 默认会加
ease-in-out,但如果你自己手改参数可能丢。 - 颜色断层:GIF 只支持 256 色,渐变背景容易出现明显色阶。Skill 默认会把背景纯色化或用 2-3 色过渡。
- 尺寸大于 128x128:Slack 实际接受 128x128,部分客户端会缩放,但 IM 客户端会强制要求 128。让 Skill 严格按这个尺寸出。
- 透明背景没生效:导出时没设
disposal=2或没保留 alpha 通道,贴到深色 Slack 上背景会发白。明确说”保留透明背景”。 - 循环不顺畅:首尾帧不一致导致”跳一下”,让 Skill 强制首帧 = 末帧,或在 SKILL.md 里加
loop_hint。
初级用法
- 节日小彩蛋:春节、双十一、Friday,做个应景的”庆祝”表情,贴团队群活跃气氛。
- 状态信号:做
:deploying:、:oncall-pager:这种状态 emoji,谁要 oncall 直接贴一个。
高级玩法
- 接入文字转 GIF:把”老板发话”那句金句转成有打字机动画的 GIF,直接做成”群梗”素材。
- 结合 Lottie 思路:复杂动画建议先输出 Lottie JSON,再转 GIF,质量更好但工作流更重。
- 批量生成家族表情:用 Skill 一次出”happy / sad / lol / mind-blown”一套,统一画风。
小技巧
- 浅色和深色 Slack 主题下表现差异大,导出后两种主题都看一眼。
- 帧率 12-15fps 在 128x128 下最舒服,再高会显得”卡顿感”(其实是 GIF 量化伪影)。
- 用
magick identify output.gif可以快速看帧数、尺寸、文件大小,初步校验。 - 给表情加 1-2 像素内边距(不要贴满),在 IM 客户端里更”透气”。
- 团队命名规范统一前缀(如
:team-、:ship-),方便自动补全。
常见问题 FAQ
Q1: 这个 Skill 跟 slack-gif-creator 有什么关系?必须装吗?
A: Skill 是给 AI Agent 用的”技能包”,能告诉 Agent 怎么按特定规范工作。不是必须装——如果你的项目规模小、要求不高,不装也能用。但装上能让 Agent 输出的质量更高、更符合最佳实践,推荐装。
Q2: 这个 Skill 适合哪些 AI Agent?Cursor?Claude Code?其他?
A: slack-gif-creator 来自 Anthropic,主要面向支持 Skill 机制的 Agent。常见兼容 Agent 包括 Claude Code、Cursor、OpenCode、Windsurf 等。具体兼容性请查 Skill 官方文档。
Q3: 装了这个 Skill 后,会拖慢 Agent 响应吗?
A: 会的——Skill 通常会增加 prompt 长度,导致响应变慢、token 消耗增加。但质量提升明显。建议:1) 只装项目必需的 Skill;2) 用 Skill 启动/加载/卸载机制按需加载;3) 定期清理不用的 Skill。
Q4: 怎么验证 Skill 装对了?
A: 在 Agent 中输入”列出已加载的 Skill”或类似命令。如果 Skill 出现在列表里,说明装对了。然后用 Skill 跑一个相关任务,看输出是否符合 Skill 规范。
Q5: 这个 Skill 有许可证吗?能商用吗?
A: 取决于 slack-gif-creator 的许可证。常见许可证包括 MIT(完全自由)、Apache-2.0(自由但有专利条款)、源可用(可看不能用)、GPL(强开源)。商用前请查仓库 LICENSE 文件。
参考链接
- 仓库主页
- slack-gif-creator 目录
- ImageMagick 文档
- Pillow 文档
- Slack 自定义 emoji 规范
- 相关 Skill:anthropic-brand-guidelines
实战建议
上手后可按以下优先级推进,避免一次性投入过多精力:
- 命名规范:团队 emoji 统一前缀(如
:team-ship::team-deploy:),方便 Slack 自动补全和搜索 - 批量产出:一次性生成 happy/sad/lol/celebrate 一套表情,保持画风统一
- 预览检查:导出后在浅色/深色 Slack 主题下各看一遍,确保透明背景和对比度正常
- 体积控制:目标 <100KB(而非 128KB 上限),预留 Slack 处理开销
本文基于官方文档和公开资料整理,AI辅助生成,MagicNetWorld 尚未完成独立实测。如有错误或过时信息,请通过 contact@magicnetworld.com 反馈。
slack-gif-creator Skill 多维度简评
类别:创意 / 动画 / 沟通增强 仓库:anthropics/skills 维护者:Anthropic 官方 技术栈:Pillow + imageio
一、核心定位与价值
slack-gif-creator 是 Anthropic 17 个 Skill 中**最”小而美”**的——专注于一件事:生成针对 Slack 优化的动画 GIF。在团队沟通中,合适的 emoji GIF / 消息 GIF 极大提升表达力:
- 🎉 庆祝时刻(上线完成、拿到 offer、合同签署)
- 🚀 高能时刻(发布、刷新纪录)
- 😅 尴尬时刻(prod 报错、PR 被拒)
- 👀 强调时刻(“看这里”)
关键洞见:Slack 对 GIF 有严格的尺寸 + 文件大小限制(emoji 128KB,消息 2MB),不是所有 GIF 都能直接用——这个 Skill 强制遵守 Slack 规范。
适用场景
- 团队 Slack 频道文化
- 庆祝 / 表情包制作
- 文档 / 教程插图
- 客户演示动效
- Bug 报告附加动图
不适用场景
- 复杂视频剪辑(用 ffmpeg / Premiere)
- 静态图片(用 canvas-design)
- 商业广告(用专业动效工具)
- 4K 高清视频
二、Slack GIF 规范
2.1 尺寸与文件大小限制
| 类型 | 尺寸 | 文件大小 | 用途 |
|---|---|---|---|
| Emoji GIF | 128×128 px | ≤ 128 KB | 自定义 emoji |
| 消息 GIF | 480×480 px | ≤ 2 MB | 直接在消息中显示 |
| 横幅 GIF | 480×270 px(16:9) | ≤ 2 MB | 较大场景 |
2.2 帧率与时长
| 参数 | 推荐值 | 原因 |
|---|---|---|
| FPS | 10-20 | 太高文件大,太低不流畅 |
| 时长 | 0.5-3 秒 | emoji 越短越好,消息图 2-3 秒 |
| 循环 | 无限循环 | GIF 默认;用 Pillow loop=0 |
| 颜色数 | 48-128 | 调色板小,文件小 |
2.3 Slack 兼容性
- ✅ 透明度支持(alpha 通道)
- ✅ 帧间优化(disposal method)
- ⚠️ 不支持 WebP(Slack 自动转)
- ⚠️ 某些 emoji 平台对大文件不友好
三、核心组件
3.1 GIFBuilder
主类:构建 GIF 帧序列。
from slack_gif_creator import GIFBuilder
builder = GIFBuilder(
width=128,
height=128,
fps=15,
num_frames=30,
loop=0, # 无限循环
)
# 添加帧
for t in range(30):
frame = render_rocket_launch(t) # 你的渲染函数
builder.add_frame(frame)
# 保存
builder.save("rocket.gif", optimize=True)
3.2 Validators
验证器:确保 GIF 符合 Slack 规范。
from slack_gif_creator.validators import validate_gif
result = validate_gif("rocket.gif")
# {
# "valid": True,
# "width": 128,
# "height": 128,
# "size_kb": 95,
# "fps": 15,
# "frames": 30,
# "duration_s": 2.0,
# "transparent": True
# }
3.3 Easing Functions
缓动函数:让动画更自然。
from slack_gif_creator.easing import (
linear, ease_in_quad, ease_out_quad,
ease_in_out_cubic, ease_in_back, ease_out_bounce
)
# 用法
progress = 0.5 # 0.0 到 1.0
eased = ease_out_bounce(progress)
y = lerp(start_y, end_y, eased)
| 缓动 | 效果 | 适用 |
|---|---|---|
| linear | 匀速 | 进度条 |
| ease_in_quad | 慢启动 | 加速场景 |
| ease_out_quad | 慢停止 | 减速场景 |
| ease_in_out_cubic | 慢-快-慢 | 通用 |
| ease_out_bounce | 反弹 | 弹跳物体 |
| ease_in_back | 回拉 | 强调起点 |
四、8 大动画概念
4.1 震动(Shake)
def render_shake(t, num_frames=20):
"""左右震动的 emoji"""
amplitude = 5
frequency = 2
offset = amplitude * math.sin(2 * math.pi * frequency * t / num_frames)
return render_emoji_with_offset(offset, 0)
适合:报错、惊讶、震惊。
4.2 脉冲(Pulse)
def render_pulse(t, num_frames=20):
"""缩放脉冲"""
scale = 1.0 + 0.2 * math.sin(2 * math.pi * t / num_frames)
return render_emoji_scaled(scale)
适合:提醒、关注、重要。
4.3 弹跳(Bounce)
def render_bounce(t, num_frames=30):
"""落地弹跳"""
g = 9.8
height = 100
duration = 1.0
y = -4 * g * (t/num_frames * duration)**2 + 4 * g * (t/num_frames * duration)
y = max(0, y)
return render_ball_at(0, height - y)
适合:庆祝、消息送达、完成。
4.4 旋转(Spin)
def render_spin(t, num_frames=30):
"""360 度旋转"""
angle = 360 * t / num_frames
return render_emoji_rotated(angle)
适合:加载、思考、循环。
4.5 淡入淡出(Fade)
def render_fade(t, num_frames=30):
"""淡入 + 淡出"""
half = num_frames / 2
if t < half:
alpha = t / half
else:
alpha = (num_frames - t) / half
return render_emoji_with_alpha(alpha)
适合:出现、消失、转场。
4.6 滑动(Slide)
def render_slide(t, num_frames=30):
"""从左滑入"""
x = -128 + (128 + 128) * t / num_frames
return render_emoji_at(x, 0)
适合:出现、推送、提示。
4.7 缩放(Zoom)
def render_zoom(t, num_frames=30):
"""从小变大"""
scale = t / num_frames
return render_emoji_scaled(scale)
适合:聚焦、放大、突出。
4.8 爆炸(Explode)
def render_explode(t, num_frames=30):
"""爆炸粒子向外飞"""
if t < 5:
return render_ball() # 初始球
progress = (t - 5) / (num_frames - 5)
particles = []
for i in range(20):
angle = 2 * math.pi * i / 20
dist = 100 * progress
x = 64 + dist * math.cos(angle)
y = 64 + dist * math.sin(angle)
particles.append((x, y))
return render_particles(particles, alpha=1-progress)
适合:完蛋、震惊、烟花。
五、完整实战示例
5.1 示例 1:火箭发射 🚀
from slack_gif_creator import GIFBuilder
from slack_gif_creator.easing import ease_in_cubic
import math
builder = GIFBuilder(128, 128, fps=20, num_frames=40)
for t in range(40):
frame = Image.new("RGBA", (128, 128), (0, 0, 0, 0))
draw = ImageDraw.Draw(frame)
# 火箭 Y 坐标
progress = t / 40
y_offset = -100 * ease_in_cubic(progress) # 从下飞到上
# 画火箭
draw.ellipse([54, int(60 + y_offset), 74, int(80 + y_offset)], fill="white")
# 画火焰
if progress < 0.8:
flame_y = int(82 + y_offset)
draw.polygon([
(60, flame_y), (68, flame_y + 15), (64, flame_y)
], fill="orange")
# 画星星背景
for i in range(5):
sx = (i * 31 + t) % 128
sy = (i * 17) % 128
draw.ellipse([sx, sy, sx+2, sy+2], fill="white")
builder.add_frame(frame)
builder.save("rocket-launch.gif", optimize=True)
5.2 示例 2:庆祝烟花 🎉
def render_celebration(t, num_frames=30):
frame = Image.new("RGBA", (128, 128), (0, 0, 0, 0))
draw = ImageDraw.Draw(frame)
if t < 10:
# 准备
return frame
progress = (t - 10) / 20
cx, cy = 64, 64
# 8 条射线
for i in range(8):
angle = 2 * math.pi * i / 8
dist = 50 * progress
x = cx + dist * math.cos(angle)
y = cy + dist * math.sin(angle)
color = ["red", "blue", "green", "yellow", "orange", "purple", "pink", "cyan"][i]
draw.ellipse([x-3, y-3, x+3, y+3], fill=color)
# 中心亮点
if t < 15:
draw.ellipse([60, 60, 68, 68], fill="white")
return frame
5.3 示例 3:失败甩头 😅
def render_shake_head(t, num_frames=24):
"""左右甩头 3 次"""
frame = Image.new("RGBA", (128, 128), (0, 0, 0, 0))
draw = ImageDraw.Draw(frame)
# 3 次甩动
frequency = 3
angle = 15 * math.sin(2 * math.pi * frequency * t / num_frames)
# 画脸
draw.ellipse([40, 40, 88, 88], fill="yellow", outline="black", width=2)
draw.ellipse([54, 60, 64, 70], fill="black") # 左眼
draw.ellipse([74, 60, 84, 70], fill="black") # 右眼
draw.arc([54, 74, 74, 88], 0, 180, fill="black", width=2) # 苦笑
# 应用旋转
return frame.rotate(angle, resample=Image.BICUBIC, center=(64, 64))
六、性能与文件大小优化
6.1 文件大小控制
# Pillow 优化
builder.save("output.gif",
optimize=True, # 启用优化
disposal=2, # 每帧独立
transparency=0) # 透明色索引
# 调色板量化(48 颜色)
from PIL import Image
img = Image.open("output.gif")
img = img.quantize(colors=48, method=Image.Quantize.MEDIANCUT)
img.save("output-small.gif", optimize=True)
6.2 文件大小 vs 质量
| 配置 | 文件大小 | 质量 |
|---|---|---|
| 256 色, 30 帧 | 200 KB | 高 |
| 128 色, 30 帧 | 120 KB | 良好 |
| 64 色, 20 帧 | 60 KB | 可接受 |
| 32 色, 15 帧 | 30 KB | emoji 风格 |
6.3 帧率 vs 时长
| 配置 | 时长 | 效果 |
|---|---|---|
| 15 FPS × 2 秒 | 30 帧 | 流畅 |
| 10 FPS × 2 秒 | 20 帧 | 良好 |
| 20 FPS × 1.5 秒 | 30 帧 | 快速 |
七、与其他 Skill 配合
| Skill | 配合方式 |
|---|---|
| canvas-design | 用 canvas-design 创作静态图,转 GIF |
| theme-factory | 应用品牌色到 GIF |
| brand-guidelines | 应用 Anthropic 品牌色 |
| frontend-design | 网页动态素材 |
| slack (MCP) | 直接上传到 Slack |
八、5 条反合理化
| 借口 | 反驳 |
|---|---|
| ”直接用现成 GIF” | 自己做的 = 团队文化 + 不侵权 |
| ”GIF 文件大不用” | emoji 128KB 就够 |
| ”GIF 已过时” | Slack 表情库 80% 是 GIF |
| ”我不会做动画” | Skill 提供 8 种现成动画模式 |
| ”视频比 GIF 清楚” | Slack 不支持视频,GIF 是事实标准 |
九、5 条实战技巧
- 统一调色板:用 Pillow quantize 减色,文件小 50%
- 透明度优化:用
disposal=2让每帧独立清屏 - 测试多设备:在手机 / PC / 平板都要看一遍
- 使用透明背景:emoji GIF 不要带白色底
- 命名规范:
team-action-style.gif(team-rocket-launch-v1.gif)
十、Q&A
Q: 必须用 Claude 吗? A: 工具本身(Pillow)任何 Python 环境都能跑。Skill 让 Claude 自动生成。
Q: 跟 FFmpeg 比? A: FFmpeg 处理视频;slack-gif-creator 专门做小尺寸 GIF。
Q: 支持 APNG 吗? A: 不直接支持。但 Pillow 可以用帧序列模拟。
Q: 中文 / emoji 字符? A: Pillow 用 truetype 加载字体,可写中文。
Q: WebP 替代? A: WebP 文件更小,但 Slack 兼容性不如 GIF 稳。
Q: 帧间压缩? A: Pillow 自动做 delta 编码,重复区域不存储。
Q: 商用版权? A: 自己做的 GIF 版权归你;现成的 GIPHY 有版权。
十一、Prompt 模板
模板 1:庆祝 GIF
[场景] 项目上线成功
[动画] 烟花 / 火箭 / 鼓掌
[时长] 1.5 秒
[风格] Anthropic 品牌色(橙 #d97757)
[输出] emoji 128×128, ≤128KB
模板 2:错误提示 GIF
[场景] 服务器 500
[动画] 震动 + 红色警告
[时长] 2 秒
[风格] 红色调
[输出] 消息 GIF 480×480
模板 3:加载动画
[场景] 数据加载中
[动画] 旋转的圆环
[时长] 1 秒(无限循环)
[风格] 蓝色调
[输出] 消息 GIF 480×480
十二、真实踩坑案例
案例 1:文件超过 128KB
现象:emoji 上传失败。 根因:颜色过多 + 帧数过多。 解决:
# 减少颜色到 48
img = img.quantize(colors=48)
# 减少帧数到 20
# 降低分辨率
案例 2:动画卡顿
现象:在 Slack 里看着一卡一卡。 根因:FPS 太低(< 10)。 解决:15-20 FPS 是甜点。
案例 3:白底不透明
现象:在深色 Slack 主题下,GIF 有白底方块。 根因:保存时没设透明。 解决:
img = Image.new("RGBA", (128, 128), (0, 0, 0, 0)) # 透明
img.save("out.gif", transparency=0)
案例 4:循环不连续
现象:GIF 跳一下。 根因:最后一帧和第一帧差异大。 解决:让最后一帧 = 第一帧的”前态”。
案例 5:颜色抖动(banding)
现象:渐变处有明显条纹。 根因:颜色量化导致。 解决:
# 抖动算法
img = img.quantize(colors=64, method=Image.Quantize.FASTOCTREE, dither=Image.Dither.FLOYDSTEINBERG)
案例 6:内存爆炸
现象:100 帧 × 480×480 内存爆。 根因:所有帧 load 在内存。 解决:
# 用 generator 流式
def frame_generator():
for t in range(100):
yield render(t)
builder.add_frames(frame_generator())
案例 7:上传到 Slack 失败
现象:文件 1.9MB,但 Slack 报超限。 根因:base64 编码后体积略增。 解决:保持 ≤ 1.5MB 更稳。
案例 8:emoji 平台不支持
现象:GIPHY 上传成功但 Slack 不显示。
根因:尺寸 / 帧率 / 透明度违规。
解决:用 validate_gif() 函数预检。
十三、安装
# Claude Code
/plugin marketplace add anthropics/skills
/plugin install example-skills@anthropic-agent-skills
# 通用
npx skills add anthropics/skills --skill slack-gif-creator
# 依赖
pip install pillow imageio
十四、总结
核心价值:
- Slack 优化动画 GIF
- 8 种现成动画模式
- 严格遵守 Slack 规范(128KB emoji, 2MB 消息)
- 与 Anthropic 品牌集成
适用人群:
- 团队 Slack 管理员
- 远程团队文化推动者
- 客户支持
- Bug 报告附加动图
投入产出比:⭐⭐⭐(3/5)—— 按需装。
何时不要用:
- 复杂视频
- 静态图(用 canvas-design)
- 没有 Slack 协作
- 不需要动画
参考资料
配套文档:canvas-design 海报 | theme-factory 主题 | internal-comms 沟通
📊 评分与标签
评分说明
总分 7.8/10 · S_入选
📊 可观测社区指标(数据核验日期:2026-07-23)
- 官方仓库与维护入口:anthropics/skills。GitHub API 核验时触发限流,未记录无法再次确认的 Stars/Forks 精确快照,避免用估算值替代事实。
📦 可安装性 1.9/2.5
- 官方来源提供可复制的 Skill、MCP 或 Markdown 目录;安装前仍需按 README 配置宿主客户端、运行时和最小权限凭据。
- 来源:官方仓库
- 与 Anthropic Skills、OpenCode Skills 对比,本项遵循开放目录思路,但插件命令、脚本依赖和更新方式并不完全统一。
🎯 实用性 2.0/2.5
- 生成适配 Slack 尺寸与体积的动画 GIF;这里只确认官方材料明确描述的范围,未把未经实测的准确率、性能或生产收益计入评分。
- 来源:官方功能说明
- 与 GitHub CLI、Zapier 等专用工具对比,Skill 更适合把操作步骤交给 Agent 复用,不能替代完整运行时、监控和人工验收。
📖 文档质量 1.5/2.0
- README、技能目录或官方参考页可核对安装、能力和约束;未发现统一的端到端性能基准,因此采用保守文档分。
- 来源:官方文档
- 与 Vercel Agent Skills、Obra Superpowers 对比,目标任务说明直接,但版本迁移、失败恢复和跨平台案例仍依赖上游维护。
👥 社区活跃 1.1/1.5
- 仓库公开提交历史、Issue 与 Pull Request 入口可追踪维护;因 API 限流未写入易变精确计数,社区分不依据未经复核的热度数字。
- 来源:官方维护入口
- 与 anthropics/skills、obra/superpowers 对比,具备公开协作入口,但不能据此推导响应时效、长期承诺或企业支持等级。
🔗 兼容性 1.3/1.5
- 可在能够读取 Skills/MCP 指令并具备相应工具权限的 Agent 环境使用;API、Token、浏览器和本地工具链会形成额外约束。
- 来源:官方兼容性依据
- 与 Claude Code、Codex、Cursor 的原生扩展对比,开放文件格式便于迁移,但触发、脚本执行和资源加载行为存在客户端差异。
评分依据可追溯至公开来源,每项分数均有明确理由和数据支撑。
🏷️ 标签说明
- 免费: 公开来源可访问;外部服务费用不计入 Skill 本身。来源:官方来源
- 设计: 核心能力与“生成适配 Slack 尺寸与体积的动画 GIF”直接对应。来源:官方来源
- Anthropic: 官方材料显示其面向该使用方式。来源:官方来源
局限说明:本次为官方仓库与文档核验,未执行跨客户端、跨操作系统端到端基准测试;外部 API 配额、授权和价格可能变化,应以上游最新说明为准。
📋 来源与核验记录
- ✅ 官方仓库页面已核验:https://github.com/anthropics/skills
- ✅ 官方文档或功能页已核验:https://github.com/anthropics/skills/tree/main/skills/slack-gif-creator
- ⚠️ 未验证(访问限制):GitHub REST API 于 2026-07-23 返回限流,未采用无法复核的精确 Stars/Forks 数值
- ⚠️ 间接来源(二手数据):未用于核心功能与维度评分
- ❌ 已删除死链:无