Looping Cover GIF
Turns a newsletter or blog cover into a seamless 896x640 looping GIF (180 frames at 20fps) where only one named element moves.
Image & VideoIntermediate★ 205⑂ 36AI score 9/10Last updated: Oct 11, 2026
What it does
- Takes a finished PNG cover or an HTML-built cover and produces a 896 x 640, 180-frame, 20fps (9 second) looping GIF.
- Animates only the one element you name (a lighthouse beam, a line drawing itself, a slow glow) by building a colour mask with a softened edge, so nothing outside the mask changes.
- Rotates the loop so frame 1 is the finished picture, because inboxes and link previews render the first frame as a still.
- Encodes with ffmpeg using
dither=noneto avoid per-frame flicker, then measures seam, excursion, frame count and file size with a short Python script so the loop is verified numerically, not by eye.
Who it's for
- Newsletter writers, bloggers and content marketers who want a cover that moves subtly in a feed
- Anyone frustrated that video models sneak in a camera push, who wants frame-accurate control in code
- Users comfortable with a terminal and with ffmpeg and python3 installed
Example uses
- "Make only the lighthouse beam in this cover pulse slowly" → masked loop GIF plus a measured seam of 0.1
- "Turn my HTML cover into an animated thumbnail" → adds
window.seek(seconds), captures 180 frames, encodes without dithering - "My GIF doesn't seem to move in the inbox" → shrinks to 240px to check visibility and verifies the uploaded link still ends in
.gif
· · · Install guide · · ·
Try it now, no install
Paste this into Claude to use the skill without installing anything.
Read the instructions in this file and follow them to help me: https://raw.githubusercontent.com/charlie947/motion-graphics-skills/HEAD/skills/loop-cover/SKILL.md What I want: (describe your task here)
If Claude can't open the link, open it yourself and paste the contents instead.
↓ If it works for you, download the ZIP below and install it. Then it runs on its own — no pasting each time.
Install in the Claude app (no terminal)
- Download the ZIP with the button below.
- In Claude, open Settings → Capabilities and turn on 'Code execution and file creation'. (one time)
- Go to Customize → Skills → + → 'Upload a skill' and upload the ZIP.
Install in Claude Code
Let Claude do it — paste this into Claude Code
Install the skill I found on Claude Skill Mart. Copy the skills/loop-cover folder from the GitHub repo charlie947/motion-graphics-skills into my ~/.claude/skills/loop-cover/. When it's done, tell me in one line what this skill can do.
Install with a command instead
git clone https://github.com/charlie947/motion-graphics-skills.git && mkdir -p ~/.claude/skills && cp -r motion-graphics-skills/skills/loop-cover ~/.claude/skills/⚠ This is a third-party skill. Check the source repository before installing.
- Open a terminal and run
ffmpeg -versionandpython3 --versionto confirm both tools exist. Install them first if needed (macOS:brew install ffmpeg python3). - Clone the repo:
git clone https://github.com/charlie947/motion-graphics-skills.git - Create the skills folder:
mkdir -p ~/.claude/skills - Copy the skill in:
cp -r motion-graphics-skills/skills/loop-cover ~/.claude/skills/ - Optional but recommended: put a
brand.md(hex codes, font, logo path) in your project folder, or run the repo'sbrand-intakeskill first so on-brand claims are grounded. - Restart Claude Code and ask something like "make this cover into a looping GIF" to trigger the skill.
View source on GitHub ↗License: MIT