Agent skill · daymade
meme-creator
Creates video/GIF memes by overlaying images (logos, avatars, stickers) onto moving objects in a clip with frame-accurate tracking, then exports MP4 + GIF. Use whenever the user wants a meme, 梗图, 表情包, or reaction GIF from existing footage; to cover faces or heads in a video; to make a logo or avatar follow a moving person or object; to turn a video moment into a shareable GIF; or asks to 把 logo/头像贴到视频里跟着动. Handles source download (yt-dlp), segment picking via contact sheets, CSRT tracking with re-anchors and a manual-keyframe fallback, fades at frame edges and shot changes, and GIF size budgeting. Not for transcript-driven editing, programmatic scene generation, or subtitle work.
What it needs
About 5k tokens when loaded.
What this skill does
Meme Creator Turn a video clip into a meme: images (logos, avatars, stickers) glued onto moving objects so they follow the motion frame by frame, delivered as MP4 + GIF. The failure mode that ruins this is not tracking drift — it is gluing the wrong person's avatar on screen because a name was bound to the first plausible account found. So step 0 is identity, not tooling. For a static image meme, skip tracking entirely: put one manualkeys entry per target ([[1, [x, y, w, h]]]) in the overlays config and render just that frame — --tracks is optional when every position comes from keys. Requirements ffmpeg on PATH uv — all bundled Python scripts carry inline dependencies; run them with uv run <script> and deps resolve themselves yt-dlp only when downloading (uv run --with yt-dlp yt-dlp ...) Chrome/Chromium only when rasterizing an SVG logo (asset-binding.md) Script paths below are written scripts/… relative to this skill's bundle directory. Resolve the bundle path once (SKILLDIR=<path to this skill>) and run "$SKILLDIR"/scripts/makesheets.py … — your working directory is the scratch dir, not the bundle. Pipeline Work inside a scratch directory (/tmp/<meme-name>/ or similar), deliver only the final MP4 + GIF. 0. Bind identities before fetching assets When the user names who/what goes on screen ("Codex, Claude, and Tibo's avatar"), every ambiguous name must survive the disambiguation gate in references/asset-binding.md — enumerate candidates with a handle-free search, discriminate from the request context (the peer entities listed alongside are the strongest signal), and ask the user when context cannot decide. That file also covers logo/avatar sourcing, SVG→PNG with real transparency via headless Chrome, and badge styling. Fetch and eyeball every image before compositing it. 1. Acquire the source Local file: use it. URL: yt-dlp handles bilibili (incl. …
How to use it
Reference it in AdaL, Claude Code, Cursor or any coding agent — nothing to install:
@skills daymade/meme-creator