Anthropic / skills/slack-gif-creator/SKILL.md
Slack GIF Creator
A Python animation toolkit with drawing helpers, frame assembly and a lightweight validator. Useful for small custom animations; the validator's ready result covers dimensions rather than complete upload readiness.
Runtime probed · reviewed · A helper or bounded runtime behavior was probed. This does not establish model task effectiveness or comprehensive security.
01 / Task fit
Where it may help.
These are intended uses indicated by the upstream material. They are not measured outcomes.
- Small custom reactions and process illustrations drawn from known shapes
- Local animation drafts before an authorized upload or brand review
What it is
A skill for drawing animation frames and assembling them into GIF files intended for Slack messages or custom emoji. It supplies motion ideas, easing functions, a frame composer, a GIF builder and validation helpers. It does not upload files or provide a library of finished graphics.
Why you might use it
Use it for a small, controlled animation that needs specific shapes, colors or timing rather than a stock reaction image. Code-based frame creation makes it possible to adjust those details explicitly. The output still needs a visual check, format and size checks, and an actual destination test when an authorized workspace is available.
Put it in context.
Illustrative requests and outputs to review. These examples are separate from the recorded evaluation below.
Make a simple completion animation
Example request
Ask for a 128-by-128 animation that moves a check mark into place over twelve frames, using two approved brand colors and a transparent or deliberately chosen background.
What to look for. A local draft GIF and a short report of its actual frame count, dimensions, file bytes and playback duration.
Before you rely on it. The full GIF builder was not executed here; transparency and visual quality were not evaluated. The ready helper is not sufficient evidence of GIF format, duration or destination acceptance.
Show a small process transition
Example request
Create a 480-by-480 message animation with three labeled stages and a moving marker. Keep the labels readable, use uniform frame timing and inspect the complete loop before sharing.
What to look for. A locally generated animation draft that can be reviewed without a Slack account.
Before you rely on it. Only frame drawing and validation helpers were tested. Uneven frame durations were misreported, and a long or oversized file can still receive a true ready result. No upload was attempted.
02 / Setup & access
What it asks of your environment.
Requirements
- Python plus Pillow and numpy for the exercised frame and validator helpers; imageio for GIFBuilder.save. The requirements file also lists imageio-ffmpeg.
- An agent with local file/code execution access and an output folder. No Slack account is needed to create or inspect local files; uploading requires a workspace and appropriate permission.
- Synthetic or authorized source images and a visual reviewer. This pass used existing Pillow 12.3.0 and numpy 2.3.5; imageio was unavailable and no global dependency was installed.
Permissions & data access
- Read any supplied images and write local frame/GIF outputs through Python image libraries.
- A host agent can run generated drawing code and install dependencies if authorized. The skill itself has no Slack posting connector or account access; no upload occurred in this evaluation.
Instructions alone do not enforce a sandbox. The agent host, connected tools and approvals determine what the skill can actually read, change or send.
03 / Things to check
Security concerns & practical limits.
These concerns follow from the reviewed sources. They describe possible exposure or required review; they are not confirmed vulnerabilities.
Review before use
The ready result checks dimensions, not full readiness
The validator accepted a PNG, a four-second emoji GIF and a 6,291,967-byte padded GIF. The latter exceeds its five-MiB warning threshold, which does not affect the boolean. These are failed IonBin readiness expectations, not claims that the helper promises strict enforcement or that Slack accepted the files. Check format, bytes and duration separately.
Review before use
Uneven frame timing is reported incorrectly
A GIF with 100 ms and 900 ms frames lasts 1.0 second; the helper reported 1.8 seconds by using the final frame duration for both frames. Read each frame's timing when exact playback length matters.
Review before use
The full builder was not exercised
The existing runtime lacked imageio, so GIFBuilder.save, palette optimization and frame deduplication were not executed. The frame composer and validator ran on synthetic files created with Pillow. No Slack upload, workspace policy or display test was performed.
Review before use
Untrusted images still reach image decoders
Uploaded images are opened with Pillow. The checks here used tiny synthetic images and one padded file, not malicious codecs or decompression bombs. Keep dependencies current and cap input dimensions, frame counts and bytes in your own workflow.
Limits and nuances
- Eight local frame/validator expectations, with four failures retained. No GIFBuilder.save execution, Slack account, upload or actual destination compatibility check.
- No animation-quality benchmark, transparency check, motion-accessibility review, hostile-code containment or exhaustive image-decoder security audit.
04 / Review record
What we checked. What’s still open.
Recorded review scope
- Actual frame drawing and GIF validation against synthetic Pillow files; source inspection of the unexecuted GIF builder and dependencies.
- Pinned entrypoint, per-skill license and each file named in the report source manifest
Not tested or established
- Eight local frame/validator expectations, with four failures retained. No GIFBuilder.save execution, Slack account, upload or actual destination compatibility check.
- No animation-quality benchmark, transparency check, motion-accessibility review, hostile-code containment or exhaustive image-decoder security audit.
- One bounded pass at one pinned revision; no model-effectiveness baseline, repeated trials, security certification or assurance about future versions.
- No private files, credentials, authenticated accounts, paid requests or real customer workflows. Transitive dependencies and current vulnerability advisories were not audited.
- Review date
- Source revision
dbd4588f9e1033efb41dad4bef2f7947c8993d44- Our relationship
- Explored. Investigated through the recorded review. No use or replication is claimed.
Upstream content can change after review. A repository revision identifies source scope; it does not prove that every script, dependency or runtime behavior was tested. How freshness is handled.
Recorded evaluation / Helper probe
Results with their limits attached.
Eight local frame/validator checks: four met expectations and four exposed readiness or timing limits. The full GIF builder and Slack upload path were not run; all inputs were synthetic.
- Passed
- 4
- Failed
- 4
- Total recorded
- 8
These counts refer to the cases in this report. They are not a benchmark against other skills. A helper probe does not measure model task effectiveness or establish comprehensive security.
Read the evidence reportDownload the authored reproduction harness (JSON bundle) ↗
The report provides the case definitions, observations and baseline scope. Missing baselines or untested behaviors remain limitations.
Recorded environment
- Python 3.12.10 on Windows 11; synthetic files only
- Application-level no-network/no-child-process guards and isolated configuration; not an OS sandbox
- Existing Pillow 12.3.0 and numpy 2.3.5
Recorded commands (1)
Commands document this evaluation. They are not setup instructions for your environment.
python -B helper_probe.py --sources <retrieved-skills-directory> --runtime-libs <existing-bundled-site-packages>Findings from this evaluation
Needs attention
The ready result checks dimensions, not full readiness
The validator accepted a PNG, a four-second emoji GIF and a 6,291,967-byte padded GIF. The latter exceeds its five-MiB warning threshold, which does not affect the boolean. These are failed IonBin readiness expectations, not claims that the helper promises strict enforcement or that Slack accepted the files. Check format, bytes and duration separately.
Needs attention
Uneven frame timing is reported incorrectly
A GIF with 100 ms and 900 ms frames lasts 1.0 second; the helper reported 1.8 seconds by using the final frame duration for both frames. Read each frame's timing when exact playback length matters.
Needs attention
The full builder was not exercised
The existing runtime lacked imageio, so GIFBuilder.save, palette optimization and frame deduplication were not executed. The frame composer and validator ran on synthetic files created with Pillow. No Slack upload, workspace policy or display test was performed.
Evaluation limitations
- Eight local frame/validator expectations, with four failures retained. No GIFBuilder.save execution, Slack account, upload or actual destination compatibility check.
- No animation-quality benchmark, transparency check, motion-accessibility review, hostile-code containment or exhaustive image-decoder security audit.
- One bounded pass at one pinned revision; no model-effectiveness baseline, repeated trials, security certification or assurance about future versions.
- No private files, credentials, authenticated accounts, paid requests or real customer workflows. Transitive dependencies and current vulnerability advisories were not audited.
05 / Reuse & discovery
License, attribution & popularity.
Apache-2.0
The separate per-skill LICENSE.txt contains the Apache License 2.0. Dependency and third-party asset terms are separate.
Why it is in this collection
Selected from a widely followed repository and dated skills.sh directory observations. Installs are rounded directory displays, not independently verified users or evidence of quality, safety or growth.
182,031 repository stars
- Scope
- Entire anthropics/skills repository, not this individual skill
- Observed
- Time window
- Snapshot observed 2026-10-19
Popularity and inclusion do not establish quality, compatibility or security. Counts belong to their named metric and date; they are not a current ranking.
Dated discovery signal
Discovery snapshots.
73,800 skill installs on skills.sh · Page labels this Installs without stating a time window
Observed . Scope: Individual slack-gif-creator directory listing; rounded display.
Selection snapshot; displayed K value converted to an approximate integer. No rate, rank or measured trend is inferred.
Snapshot source ↗06 / Follow the evidence
Go to the original.
- Pinned skill instructions github.com
- Per-skill license github.com
- frame_composer.py inspected source github.com
- validators.py inspected source github.com
- gif_builder.py inspected source github.com
- requirements.txt inspected source github.com
- Dated directory interest signal www.skills.sh
IonBin’s source notes are independent assessments. Upstream authors retain their work and attribution. This page does not install or execute the skill.