Agent skill

Pixel Art Video Engine

by edenfunf in edenfunf/reelmimic

Makes animated pixel-art videos in an indie-game style: a 480×270 canvas upscaled four times, limited palettes with dithering, procedural characters and dialogue captions, encoded as MP4.

MITAuto-check passedMedia & Creative

Install Pixel Art Video Engine

skills CLI
$ npx skills add edenfunf/reelmimic --skill pixel-art -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install edenfunf/reelmimic pixel-art --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/edenfunf/reelmimic.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/pixel-art .claude/skills/pixel-art && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
pixel-art
GitHub stars
1.7k
Token cost
~1.4k tokens
SKILL.md length
626 words
Files
20 (incl. scripts)
Skills in repo
9
Repo updated
First seen
Licence
MIT

At a glance

Makes animated pixel-art videos in an indie-game style: a 480×270 canvas upscaled four times, limited palettes with dithering, procedural characters and dialogue captions, encoded as MP4.

  • Works in 5 steps: Scaffold: bash… → Storyboard with reads per shot (as in… → Build one file per shot in src/scenes/,… → …
  • Producing a retro or JRPG-style pixel-art animated video
  • SKILL.md covers Workflow, API in one screen (details in…, Rules that matter most and Engine gotchas
  • Runs JavaScript and Shell scripts from its folder; calls node and bash

What it does

The skill is a code-driven pixel-art animation engine. Every frame is a pure function of time: shots draw into a 480×270 software framebuffer, the engine upscales it ×4 to 1920×1080 with nearest-neighbour scaling, and an overlay hook draws crisp pixel captions at full resolution. Drawing runs as Canvas 2D in headless Chrome and the frames are encoded with ffmpeg.

The workflow starts with scripts/new_project.sh, which scaffolds a project from the bundled template, then reading GUIDE.md in full. The agent storyboards each shot with a day, dusk or night palette and writes one scene file per shot in src/scenes. It reviews every shot using contact sheets, strips of actions and crops of faces made with render.mjs, then renders frames with parallel workers and encodes an MP4, optionally with audio.

The library covers camera and parallax layers, palette ramps and dithering, drawing primitives, world pieces such as skies, hills, forests and towns, light and weather effects, emote bubbles, and auto-outlined procedural characters with 16 expressions, walk cycles and jumps. Transitions include dither, diamond, iris and block, and captions support Latin and CJK text.

When your agent uses it

  • Producing a retro or JRPG-style pixel-art animated video
  • Recreating a reference video's look in 8-bit or 16-bit pixel art
  • Making a cozy-game style scene with dithered light and weather
  • Adding dialogue-box captions to a pixel-art animation

Example prompts

  • “Make a short pixel-art video of a fox walking through a forest at dusk, with dialogue-box captions.”
  • “Scaffold a new pixel-art project in ./videos/harbor-town and storyboard three night shots.”
  • “Render my pixel-art project to MP4, but give me a contact sheet of each shot to review first.”

Requirements

  • Node, to run render.mjs
  • Headless Chrome and ffmpeg
  • bash, for the scaffold script

Workflow steps

5 steps, taken from the first numbered list in SKILL.md.

  1. Scaffold: bash .claude/skills/pixel-art/scripts/new_project.sh [--keep-demo], then **read
  2. Storyboard with reads per shot (as in painted-animation). Pick a palette per shot (pal('day'|'dusk'|'night'))
  3. Build one file per shot in src/scenes/, IIFE-wrapped, ending with shots([[t0, fn], ...]); add a in
  4. Review every shot (sheet, strips of every action and transition, crops of faces), fix, repeat
  5. Render: node render.mjs --frames --workers=4 && node render.mjs --encode --out=out/video.mp4 [--audio=...].

What it can do on your machine

Read from SKILL.md and the folder at commit 73492b0. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Ships 1 file in scripts/ (JavaScript and Shell, from the files we listed), which the agent can run.

    Shell commands in SKILL.md call:

    • node
    • bash

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Pixel Art Video Engine loads about 1.4k tokens when it runs. Until then it costs about 192 tokens; SKILL.md has 626 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~192
When it runs · the whole SKILL.md, loaded when a task matches
~1.4k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.

SKILL.md

The full file from edenfunf/reelmimic at commit 73492b0, republished under its MIT licence (© edenfunf). 626 words, ~1,446 tokens.

Download SKILL.mdSave it as .claude/skills/pixel-art/SKILL.md (or your agent's skills folder). This skill also uses 19 other files; get the full folder from GitHub.
name
pixel-art
description
Make modern, polished pixel-art animated videos (MP4) with code — indie-game look (Celeste / Eastward / Stardew-level scenes, original), 480×270 art upscaled ×4 with nearest-neighbour, limited palettes (day / dusk / night) with Bayer dithering, parallax skies, hills, forests and towns, dithered light and weather, auto-outlined procedural pixel characters with 16 expressions, walk cycles, jumps and held props, emote bubbles, dither / diamond / iris / block transitions and crisp RPG dialogue-box captions (Latin + CJK). Canvas 2D in headless Chrome, encoded with ffmpeg. Use when a reference video or brief calls for pixel art, 8-bit / 16-bit, retro game, JRPG, cozy-game or 像素風 / 像素動畫 / 點陣 looks, or when the video-clone router picks the pixel-art style.

Pixel art engine

Every frame is a pure function of t. Shots draw into a 480×270 software framebuffer (world unit = one art pixel), ENGINE.end upscales it ×4 to 1920×1080 with nearest-neighbour, and window.overlayHook draws crisp pixel captions on top at full res. Same render contract and render.mjs CLI as painted-animation.

Workflow

  1. Scaffold: bash .claude/skills/pixel-art/scripts/new_project.sh <project-dir> [--keep-demo], then read GUIDE.md in full (look rules, full API, character system, review loop). Look at docs/model-faces.png, docs/model-views.png, docs/kit-sheet.png, docs/demo-sheet.jpg.
  2. Storyboard with reads per shot (as in painted-animation). Pick a palette per shot (pal('day'|'dusk'|'night')) and a colour arc.
  3. Build one file per shot in src/scenes/, IIFE-wrapped, ending with shots([[t0, fn], ...]); add a <script> in studio.html (replace the demo). Scenes call only the library + cast; never redraw a character's body.
  4. Review every shot (sheet, strips of every action and transition, crops of faces), fix, repeat:
    bash
    node render.mjs --sheet=0.5,1,1.5,2 --cols=4 --w=480 --out=out/check/a.jpg
    node render.mjs --strip=3.3:4.3 --cols=6 --w=320 --out=out/check/jump.jpg
    node render.mjs --sheet=4.5 --crop=780,380,700,560 --w=700 --out=out/check/face.jpg
    node render.mjs --loop=faces --stills=0.5 --out=out/sheets          # model sheets: faces | views | kit | wipes
  5. Render: node render.mjs --frames --workers=4 && node render.mjs --encode --out=out/video.mp4 [--audio=...].

API in one screen (details in GUIDE.md)

  • Camera/layers: camAt(cx, cy) (snapped), layer(f) parallax, screenSpace(), punch(2, x, y) integer punch-in (medium shots), shake(t, amt), clip()/noclip(), measure(fn) (dry-run a draw to get positions).
  • Colour: pal(name) → P (ramps: sky cloud far mid grass earth stone wood light sun accent cool, ink paper rim), shade(c, ±k) walks the ramp (hue-shifted beyond it), regRamp([...]), dith(x,y,d), qd(d).
  • Primitives: px rect line(w) pline curve disc oval ring poly ball sprite(rows,map,x,y) tile tilemap tinyText, all with optional dither density d. Outlines: beginSpr(); part(); … endSpr({tint,z,flash}) or outlined(fn).
  • World: sky sunDisc stars clouds hills forest city ground tree bush; light: glow light shadowAt vignette; weather/fx: rain snow sparkles fireflies birds petals puff; emote(kind, x, y, {age}).
  • Transitions (call last, screen space): dissolve(k), iris(k, x, y, {shape}), diamonds(k, {dir}), blocks(k, {dir}), crossDither(k, drawA, drawB).
  • Captions (overlay): say(c, t, t0, t1, text, { name }) RPG box + typewriter; pxText(c, text, x, y); declare strings with useText('…') at load.
  • Cast: pip(x, y, o) (round, 40 px), juno(x, y, o) (tall, 65 px); o = { t, face, view, flip, look, sq, dy, arm, bend, hold, walk, air, drag, wind, emote, emoteAge, emoteSide, tint, z } → { head, top, hands, face }. act(t, keys) acted expression changes, walkTo() foot-planted walks, st(t) 12 fps sprite time, vel(f, t), PROP.kite/spool/lantern/flower/balloon/mug/letter/star/umbrella, ARM.down/low/out/up/high, footShadow().
Show full SKILL.md (263 more words)Show less

Rules that matter most

  1. Pixel discipline. Everything goes through the library (it snaps to whole art pixels). Never draw with G/Canvas paths, never scale by non-integers, no anti-aliasing, no gradients except dithered ones, colours from P/CR ramps.
  2. Motion on steps: poses, walk frames, blinks, weather use st(t) (12 fps); positions and camera may move every frame (snapped). Squash/stretch, jump anticipation, follow-through (drag via vel) as in any cartoon.
  3. Big enough to read: wide shots at 1× for establishing; do the acting in punch(2) medium shots (characters ≈ half the frame height). Cut to a punch on an action or a take, never mid-stillness.
  4. Transitions at every seam — dither dissolve in/out, diamond wipe, iris, blocks; wipe-in direction continues the wipe-out direction.
  5. Text only via the overlay caption box (one line at a time, typewriter), or tinyText for in-world signs/SFX.

Engine gotchas

  • Don't declare globals that clash with kit.js or pixel.js names (W H G P C st px rect line …): wrap scenes in IIFEs.
  • act(...) overrides use 'emote' in over, so { emote: null } removes an expression's default emote.
  • Transitions/punch are post-effects on the low-res buffer: call punch() before transitions in the shot.
  • Held props: draw via hold: [fnBack, fnFront] so they join the character outline; in side view an arm raised above ~0.6 rad crosses the face — do reaches in front view (hands go beside the head).
  • The dialogue caption box sits over the bottom ~20 % of frame: keep feet/props above it while it's up.
  • Speed: 3–40 ms/frame; a full 10 s demo renders in ~10 s with 4 workers.

© edenfunf, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 19 other files (scripts) in .claude/skills/pixel-art of edenfunf/reelmimic.

  • SKILL.md
  • GUIDE.md
  • docs/demo-sheet.jpg
  • docs/kit-sheet.png
  • docs/model-faces.png
  • docs/model-views.png
  • scripts/new_project.sh
  • template/.gitignore
  • template/LICENSE-render.mjs.txt
  • template/package-lock.json
  • template/package.json
  • template/render.mjs
  • template/src/cast.js
  • template/src/config.js
  • template/src/kit.js
  • template/src/pixel.js
  • template/src/scenes
  • … and 3 more

Open the folder on GitHubat commit 73492b0

Compare with similar skills

Pixel Art Video Engine next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Pixel Art Video Engine compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Pixel Art Video Engine this skilledenfunf/reelmimic1.7k—~1.4kAutomated safety check: PassMIT
HyperFrames Video Entry Pointheygen-com/hyperframes59k3 repos~5.2kAutomated safety check: PassApache-2.0
Cut Silencesnateherkai/hyperframes-student-kit1.2k—~1.2kAutomated safety check: PassCustom licence
p5 Paint Animationheygen-com/hyperframes-community-skills178—~1.8kAutomated safety check: PassApache-2.0
DoctorKumarSashank/motiscope122—~736Automated safety check: NotesMIT
Cut Mistakesnateherkai/hyperframes-student-kit1.2k—~1.1kAutomated safety check: PassCustom licence

Similar skills

  • HyperFrames Video Entry Point

    heygen-com/hyperframes

    Entry point for making, editing and rendering videos from HTML compositions with HyperFrames, routing each request to the right workflow.

    59k GitHub starsUsed in 3 repos~5.2k tokens
    Media & CreativeAuto-check passed
  • Cut Silences

    nateherkai/hyperframes-student-kit

    Agent 1 of the video editing pipeline. An agent skill from nateherkai/hyperframes-student-kit.

    1.2k GitHub stars~1.2k tokensUpdated 10 days ago
    Media & CreativeAuto-check passed
  • p5 Paint Animation

    heygen-com/hyperframes-community-skills

    Turns a text prompt, photo or short video into hand-made looking p5.js animation: self-writing handwriting, brushstroke repaints and living paintings rendered offline.

    178 GitHub stars~1.8k tokensUpdated 10 days ago
    Media & CreativeAuto-check passed
  • Doctor

    KumarSashank/motiscope

    Check and configure motiscope — verify ffmpeg/ffprobe are installed and scaffold the API-key config used for optional (stubbed) asset generation.

    122 GitHub stars~736 tokensUpdated 2 mo ago
    Media & CreativeAuto-check: notes
  • Cut Mistakes

    nateherkai/hyperframes-student-kit

    Agent 2 of the video editing pipeline. An agent skill from nateherkai/hyperframes-student-kit.

    1.2k GitHub stars~1.1k tokensUpdated 10 days ago
    Media & CreativeAuto-check passed
  • Color Grading

    notivn/AIEV

    Color grading video in the AI Edit Video system - delog/tonemap HDR-HLG-log footage, apply the color preset the user approved in the UI, and the visual verification workflow.

    126 GitHub stars~932 tokensUpdated yesterday
    Media & CreativeAuto-check passed

More from edenfunf/reelmimic

All 9 skills in this repo
  • Media Use

    edenfunf/reelmimic

    Agent Media OS, the single skill for every media need in a HyperFrames project.

    1.7k GitHub starsUsed in 2 repos~2k tokens
    Auto-check passed
  • Takes a reference video and a short brief, analyzes its cutting and visual style, then plans and builds a new MP4 in a matching style.

    1.7k GitHub stars~1.7k tokensUpdated 2 days ago
    Auto-check passed
  • Anime Cel Video Maker

    edenfunf/reelmimic

    Builds Japanese TV-anime style MP4 videos in code, with cel-shaded characters, painted backgrounds and staging effects, rendered in headless Chrome and encoded with ffmpeg.

    1.7k GitHub stars~1.6k tokensUpdated 2 days ago
    Auto-check passed
  • Blender Product Film

    edenfunf/reelmimic

    Renders premium 3D product films in headless Blender from JSON shot specs, building the product from a photo or procedurally, then finishing titles, music and cuts.

    1.7k GitHub stars~2.6k tokensUpdated 2 days ago
    Auto-check passed
  • Crayon Storybook Animation

    edenfunf/reelmimic

    Builds children's picture-book MP4 animations drawn in crayon, colored pencil and pastel, rendered frame by frame with p5.js and encoded with ffmpeg.

    1.7k GitHub stars~1.7k tokensUpdated 2 days ago
    Auto-check passed
  • Paper Cut-out Animation

    edenfunf/reelmimic

    Builds paper cut-out, stop-motion style MP4 videos in code, with jointed paper puppets, torn or scissor-cut edges and soft shadows, rendered frame by frame in headless Chrome.

    1.7k GitHub stars~1.5k tokensUpdated 2 days ago
    Auto-check passed

Works with

Questions about Pixel Art Video Engine

What does Pixel Art Video Engine do?

Makes animated pixel-art videos in an indie-game style: a 480×270 canvas upscaled four times, limited palettes with dithering, procedural characters and dialogue captions, encoded as MP4. The skill is a code-driven pixel-art animation engine. Every frame is a pure function of time: shots draw into a 480×270 software framebuffer, the engine upscales it ×4 to 1920×1080 with nearest-neighbour scaling, and an overlay hook draws crisp pixel captions at full resolution.

When should I use Pixel Art Video Engine?

Pixel Art Video Engine fits situations like: producing a retro or JRPG-style pixel-art animated video; recreating a reference video's look in 8-bit or 16-bit pixel art; making a cozy-game style scene with dithered light and weather; adding dialogue-box captions to a pixel-art animation.

How do I install Pixel Art Video Engine in Claude Code?

Run `npx skills add edenfunf/reelmimic --skill pixel-art -a claude-code`. Or copy the skill folder (.claude/skills/pixel-art in edenfunf/reelmimic) into .claude/skills/pixel-art in your project. Claude Code loads it when a task matches its description.

How do I install Pixel Art Video Engine in Codex?

Run `npx skills add edenfunf/reelmimic --skill pixel-art -a codex`. Or copy the skill folder (.claude/skills/pixel-art in edenfunf/reelmimic) into .agents/skills/pixel-art in your project. Codex loads it when a task matches its description.

Can I use Pixel Art Video Engine in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add edenfunf/reelmimic --skill pixel-art -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/pixel-art, .gemini/skills/pixel-art, .github/skills/pixel-art and .opencode/skills/pixel-art in your project.

What does Pixel Art Video Engine need to run?

Going by SKILL.md and its folder, Pixel Art Video Engine needs JavaScript and a shell for the scripts in its folder and the command-line tools its instructions call (node and bash). Our summary lists: Node, to run render.mjs; Headless Chrome and ffmpeg; bash, for the scaffold script.

Does Pixel Art Video Engine access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Pixel Art Video Engine safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.

What licence does Pixel Art Video Engine use?

Pixel Art Video Engine is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Pixel Art Video Engine use?

About 1.4k tokens (SKILL.md is roughly 5.8k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Pixel Art Video Engine?

Skills that share tags, products or a category with Pixel Art Video Engine: HyperFrames Video Entry Point (heygen-com/hyperframes, 59k stars), Cut Silences (nateherkai/hyperframes-student-kit, 1.2k stars), p5 Paint Animation (heygen-com/hyperframes-community-skills, 178 stars) and Doctor (KumarSashank/motiscope, 122 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Pixel Art Video Engine?

edenfunf (a GitHub user) maintains it in edenfunf/reelmimic, which has 1,701 GitHub stars. The repository holds 9 skills in this directory. The repository was last updated on October 7, 2026.

Source: edenfunf/reelmimic on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.