Install
GIFBuilder(width=128, height=128, fps=10)Who it's for
slack-gif-creator is for people who explicitly want “a GIF of so-and-so doing such-and-such for Slack.” It offers constraints, a validation tool, and animation ideas for Slack-optimized animated GIFs, not long video for any platform.
A closer fit: you can already name the subject and action in one sentence, and you accept 128x128 for emoji GIFs and 480x480 for message GIFs. The official example builds frames with GIFBuilder and PIL: GIFBuilder(width=128, height=128, fps=10). After you make it, use validate_gif to see whether it is Slack-ready.
It is not an installer. The docs give no install command and do not say that putting it in some directory makes it usable. If the current assistant cannot import these tools yet, the existing docs stop there; do not reverse-engineer an install path from the page URL. Do not assume the skill ships ready-made graphics, or that you should use emoji fonts.
First try in 3 minutes
The official first path is making a small practice GIF, not installing. The docs page is https://raw.githubusercontent.com/anthropics/skills/main/skills/slack-gif-creator/SKILL.md Follow only the constraints on that page. Do not invent an install sentence that never appears.
Prerequisites: the current assistant can already call GIFBuilder, PIL, and validate_gif via slack-gif-creator, and you only want a practice emoji GIF that will not go to an official channel. There is no install command, so the “location” is an output file such as this run’s my.gif, not a guessed skill directory.
Low-risk first task: ask for a 128x128 emoji GIF at about 10 fps, shorter than 3 seconds. First have the assistant create GIFBuilder(width=128, height=128, fps=10), draw simple geometric motion with PIL, do not use emoji fonts, and do not assume preset assets. Confirm the filename and directory before saving. Success signal: then running validate_gif('my.gif', is_emoji=True, verbose=True) passes, not that the file has already been sent into Slack.
Keep colors in the 48–128 range the docs state, and frame rate 10–30. The first time, use a lower frame rate and fewer colors so the file stays smaller. The docs do not write Slack upload steps, so stop when validation passes.
Use cases
Case 1: Make an emoji GIF and validate it. Recommended size is 128x128; keep duration under 3 seconds. Build frames with GIFBuilder, then run a detailed check with from core.validators import validate_gif, is_slack_ready: validate_gif('my.gif', is_emoji=True, verbose=True). This fits a short loop you want as a Slack emoji. The docs do not write every return field of is_slack_ready, so treat a pass from validate_gif as the authority. If validation fails, change size, frame rate, or color count first; do not switch to emoji fonts.
Case 2: Make a message-area GIF. The docs say message GIFs are 480x480, frame rate 10–30, colors 48–128. This fits a slightly larger loop in a message. The flow is still GIFBuilder + PIL frames, then validate. Do not use emoji fonts (unreliable across platforms), and do not assume the skill has ready-made graphics. The docs do not give complete sample code for the 480 size, so you can only enlarge the 128 construction by changing parameters, and you must treat that as a size inferred from the constraints, not another install path. The comparison page is https://raw.githubusercontent.com/anthropics/skills/main/skills/slack-gif-creator/SKILL.md
Limits
No install command: do not treat the page path as an installer. Size limit: emoji 128x128 (recommended) and under 3 seconds; message 480x480. Parameter limit: FPS 10–30, colors 48–128; lower means a smaller file. Tool limit: what you can check is GIFBuilder, PIL’s Image/ImageDraw, plus validate_gif and is_slack_ready. Forbidden: do not use emoji fonts; do not assume preset graphics exist. The docs do not write how to send to Slack, and they do not write equivalent limits for other chat tools.