Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Generate retro pixel-text animated GIFs for Slack, Teams, or a PR comment — scrolling marquees, heartbeat pulses, confetti parties, twinkling sparkles — from a bundled pure-stdlib Python script (no PIL, no dependencies, byte-exact deterministic). Use when someone wants a celebration GIF, a 'ship it' GIF, a custom Slack GIF, a launch-day animation, or to make a team win feel like one. Produces a ready-to-drag .gif file.
.claude/skills/mohitagw15856-pixel-gif-maker/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-07 | ✗→✓ | ▲ Improved | 16% | 0% |
| case-08 | ✗→✓ | ▲ Improved | 36% | 0% |
| case-09 | ✗→✓ | ▲ Improved | -37% | 0% |
| case-10 | ✗→✓ | ▲ Improved | 27% | 0% |
| case-11 | ✗→✓ | ▲ Improved | -31% | 0% |
The most-reacted message in any Slack channel is never the status update — it's the GIF. This skill makes custom ones in a retro pixel style: your words, four animations, eight colors, and a file small enough to drag anywhere. The whole encoder is a bundled pure-stdlib Python script — this library's calculators are dependency-free and deterministic, and so is its confetti.
.gif file (GIF89a, looping) with the user's text in chunky 5×7 pixel typeparty (hue-cycling text + confetti), sparkle (twinkling stars)
Ask for (if not already provided):
("SHIP IT", "1000 STARS", "GG TEAM", "V63 IS LIVE"). Type * for a ♥.
party · announcement = scroll ·emphasis = pulse · appreciation = sparkle
night, plum, teal, mint, gold, coral, white, ink, violet)and --scale 1-4 (default 3)
bash python3 scripts/pixel_gif.py --text "SHIP IT" --mode party --out shipit.gif python3 scripts/pixel_gif.py --text "GG TEAM *" --mode sparkle --fg gold --bg night --out gg.gif python3 scripts/pixel_gif.py --self-test # verify all four modes, print hashes
characters become ? — warn the user rather than surprise them).
--seed → byte-identical file; change --seed toreshuffle confetti/star positions.
The .gif itself, plus:
🎉 shipit.gif — 159×57, 10 frames, party mode (confetti for a launch).
Drag it into Slack. Want it calmer (sparkle) or bigger (--scale 4)?(offer the punchline edit: "SHIPPED THE MIGRATION" → "SHIPPED IT")
when in doubt, sparkle
turned into ?
bundled encoder is zero dependencies and deterministic output
celebration tool, not a roast tool; decline and suggest the kind version
scroll mode and say why
custom emoji have their own size rules the user handles in Slack settings
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-01 | fail→fail | 157,936 | 17,858 | -89% | 1 | 1 | 0% | 8,268 | 1,168 | -86% | 0 | 0 | — |
case-02 | fail→fail | 49,331 | 17,817 | -64% | 1 | 1 | 0% | 8,256 | 1,235 | -85% | 0 | 0 | — |
case-03 | fail→fail | 50,597 | 12,348 | -76% | 1 | 1 | 0% | 8,248 | 1,065 | -87% | 0 | 0 | — |
case-04 | fail→fail | 17,592 | 18,118 | +3% | 1 | 1 | 0% | 2,142 | 1,273 | -41% | 0 | 0 | — |
case-05 | fail→fail | 17,172 | 23,589 | +37% | 1 | 1 | 0% | 2,225 | 1,442 | -35% | 0 | 0 | — |
case-06 | fail→fail | 26,428 | 20,169 | -24% | 1 | 1 | 0% | 2,999 | 1,270 | -58% | 0 | 0 | — |
case-07 | fail→pass | 21,583 | 14,791 | -31% | 1 | 1 | 0% | 2,087 | 2,416 | +16% | 0 | 0 | — |
case-08 | fail→pass | 13,916 | 11,796 | -15% | 1 | 1 | 0% | 1,220 | 1,655 | +36% | 0 | 0 | — |
case-09 | fail→pass | 21,027 | 9,431 | -55% | 1 | 1 | 0% | 2,158 | 1,362 | -37% | 0 | 0 | — |
case-10 | fail→pass | 26,006 | 1,745 | -93% | 1 | 1 | 0% | 840 | 1,066 | +27% | 0 | 0 | — |
case-11 | fail→pass | 90,893 | 15,686 | -83% | 1 | 1 | 0% | 1,859 | 1,277 | -31% | 0 | 0 | — |
case-12 | fail→pass | 16,114 | 3,085 | -81% | 1 | 1 | 0% | 1,814 | 1,302 | -28% | 0 | 0 | — |
case-13 | fail→pass | 20,250 | 9,355 | -54% | 1 | 1 | 0% | 2,511 | 1,421 | -43% | 0 | 0 | — |
case-14 | pass→pass | 17,681 | 7,754 | -56% | 1 | 1 | 0% | 1,928 | 1,215 | -37% | 0 | 0 | — |
case-15 | pass→pass | 16,594 | 6,383 | -62% | 1 | 1 | 0% | 1,678 | 1,772 | +6% | 0 | 0 | — |
case-16 | fail→pass | 20,965 | 10,657 | -49% | 1 | 1 | 0% | 2,145 | 1,555 | -28% | 0 | 0 | — |
case-17 | fail→pass | 13,345 | 7,792 | -42% | 1 | 1 | 0% | 1,294 | 1,120 | -13% | 0 | 0 | — |
case-18 | fail→pass | 13,697 | 13,307 | -3% | 1 | 1 | 0% | 1,325 | 1,885 | +42% | 0 | 0 | — |
case-19 | pass→fail | 17,009 | 19,123 | +12% | 1 | 1 | 0% | 1,776 | 1,312 | -26% | 0 | 0 | — |
case-20 | pass→pass | 24,158 | 18,978 | -21% | 1 | 1 | 0% | 2,494 | 2,912 | +17% | 0 | 0 | — |
case-21 | pass→pass | 29,167 | 38,052 | +30% | 1 | 1 | 0% | 4,363 | 4,192 | -4% | 0 | 0 | — |
case-22 | pass→pass | 124,222 | 35,177 | -72% | 1 | 1 | 0% | 4,366 | 3,635 | -17% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 22 cases were attempted, and 15 counted toward the lift figure. The other 7 produced results that are not comparable between the two arms, so they are excluded from the headline rather than averaged into it. The headline lift of +41 percentage points is the difference between those two pass rates over the 15 comparable cases. 2 cases got worse with the skill loaded, and they are included in that figure.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.