Lemo-Opuscar Short Film Director
lemomo-ai/lemo-opuscar
Directs a short film made entirely in code in one of the Lemo-Opuscar library's named visual styles, from fetching the library through production and delivery.
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.
$ npx skills add edenfunf/reelmimic --skill crayon-storybook -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install edenfunf/reelmimic crayon-storybook --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/edenfunf/reelmimic.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/crayon-storybook .claude/skills/crayon-storybook && rm -rf skills-srcUse ~/.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/
Install the "crayon-storybook" agent skill from https://github.com/edenfunf/reelmimic/tree/main/.claude/skills/crayon-storybook into .claude/skills/crayon-storybook/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "crayon-storybook", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/edenfunf/reelmimic/tree/main/.claude/skills/crayon-storybookType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add edenfunf/reelmimic --skill crayon-storybook -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install edenfunf/reelmimic crayon-storybook --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/edenfunf/reelmimic.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.claude/skills/crayon-storybook .agents/skills/crayon-storybook && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "crayon-storybook" agent skill from https://github.com/edenfunf/reelmimic/tree/main/.claude/skills/crayon-storybook into .agents/skills/crayon-storybook/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "crayon-storybook", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add edenfunf/reelmimic --skill crayon-storybook -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install edenfunf/reelmimic crayon-storybook --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/edenfunf/reelmimic.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.claude/skills/crayon-storybook .cursor/skills/crayon-storybook && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "crayon-storybook" agent skill from https://github.com/edenfunf/reelmimic/tree/main/.claude/skills/crayon-storybook into .cursor/skills/crayon-storybook/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "crayon-storybook", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/edenfunf/reelmimic.git --path .claude/skills/crayon-storybook--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add edenfunf/reelmimic --skill crayon-storybook -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install edenfunf/reelmimic crayon-storybook --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/edenfunf/reelmimic.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.claude/skills/crayon-storybook .gemini/skills/crayon-storybook && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "crayon-storybook" agent skill from https://github.com/edenfunf/reelmimic/tree/main/.claude/skills/crayon-storybook into .gemini/skills/crayon-storybook/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "crayon-storybook", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install edenfunf/reelmimic crayon-storybookInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add edenfunf/reelmimic --skill crayon-storybook -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/edenfunf/reelmimic.git skills-src && mkdir -p .github/skills && cp -r skills-src/.claude/skills/crayon-storybook .github/skills/crayon-storybook && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "crayon-storybook" agent skill from https://github.com/edenfunf/reelmimic/tree/main/.claude/skills/crayon-storybook into .github/skills/crayon-storybook/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "crayon-storybook", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add edenfunf/reelmimic --skill crayon-storybook -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install edenfunf/reelmimic crayon-storybook --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/edenfunf/reelmimic.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.claude/skills/crayon-storybook .opencode/skills/crayon-storybook && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "crayon-storybook" agent skill from https://github.com/edenfunf/reelmimic/tree/main/.claude/skills/crayon-storybook into .opencode/skills/crayon-storybook/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "crayon-storybook", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
crayon-storybookBuilds children's picture-book MP4 animations drawn in crayon, colored pencil and pastel, rendered frame by frame with p5.js and encoded with ffmpeg.
This is a drawing engine for the ReelMimic video workflow. Every frame is a pure function of time: a `studio.html` page loads p5.js and p5.brush, a crayon look library, a cast of characters and your scene files, and each shot draws the full frame. `render.mjs` produces review images (contact sheets, strips and crops) or renders all frames in parallel, and ffmpeg encodes the MP4. The look combines waxy crayon scribble fills, colored-pencil outlines, a slow line boil, page-turn transitions, picture-book framing and hand-lettered CJK captions.
The workflow begins with `scripts/new_project.sh`, which copies the template, runs `npm install` with a patched p5.brush build and checks for node, ffmpeg and Chrome; the agent then reads `GUIDE.md` in full. It storyboards the shots, builds one scene file per shot in `src/scenes/` with settings in `src/config.js`, and inspects sheets, strips and face crops from `render.mjs` before rendering all frames and encoding. The runtime derives from the painted-animation skill, which is MIT licensed.
5 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit eac7fc7. It shows what the files ask for, not the result of running them.
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.
Ships 1 file in scripts/ (JavaScript and Shell, from the files we listed), which the agent can run.
Shell commands in SKILL.md call:
nodenpmbashFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use npm, which can reach the network depending on how they are called.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Crayon Storybook Animation loads about 1.7k tokens when it runs. Until then it costs about 157 tokens; SKILL.md has 758 words of instructions outside code blocks.
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.
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.
The full file from edenfunf/reelmimic at commit eac7fc7, republished under its MIT licence (© edenfunf). 758 words, ~1,701 tokens.
.claude/skills/crayon-storybook/SKILL.md (or your agent's skills folder). This skill also uses 21 other files; get the full folder from GitHub.A drawing engine for ReelMimic. Every frame is a pure function of time t: studio.html loads p5.js + p5.brush, the
crayon look library, the cast and your scene files; each shot draws the whole 1920×1080 frame; render.mjs renders
contact sheets, strips and crops for review, or all frames in parallel, and ffmpeg encodes the MP4.
Provenance. The runtime (template/src/core.js, timeline.js, render.mjs, studio.html, the render contract and
helpers: paint, inkLine, camera, shots, glow, jump/take/spring, boilSeed…) derives from the
painted-animation skill (ClaudeAnimationBase, MIT © John Heibel / tuzhechen2005 — see template/LICENSE). The
look (crayon.js), the characters (cast.js), the page turn, the page finish and the captions are this engine's own.
bash .claude/skills/crayon-storybook/scripts/new_project.sh <project-dir> (add --keep-demo to keep
the example). It copies the template, runs npm install (which also writes the patched p5.brush build, see
gotchas) and checks node / ffmpeg / Chrome. Then read GUIDE.md in full and look at
docs/demo-sheet.jpg and docs/cast.jpg with Read.src/config.js (duration, bpm, fps: 24); one IIFE file per shot/scene in src/scenes/, ending with
shots([...]); add its <script> to studio.html. Captions: captions([[t0, t1, '文字', { pos }]]) once.node render.mjs --sheet=0.5,1.5,2.5,3.5 --cols=4 --w=480 --out=out/check/a.jpg
node render.mjs --strip=2.0:2.6 --cols=6 --w=320 --out=out/check/strip.jpg
node render.mjs --sheet=2.3 --cols=1 --crop=600,200,900,700 --w=900 --out=out/check/face.jpgnode render.mjs --frames --workers=4 && node render.mjs --encode --out=out/video.mp4 [--audio=…].| area | calls |
|---|---|
| fills | `colorIn(pts, { col, fill: 'scribble' |
| lines | crayonLine, pencilLine, pastelLine, sketchLine, inkLine(pts, sw, col, brush) — brushes crayon, crayonFine, cpen, pastel, chalk, graphite |
| shapes | ellPts, rectPts, rrPts, starPts, heartPts, through, ribbon (core) |
| scenery | sky, sun, cloud, hill/hillY, ground, tufts, tree, flower, house, paperWash |
| props | apple, leafProp, starProp, heartProp, balloon; emotes emote(kind, x, y, s, k, age) |
| cast | lulu(x, y, u, o), kuri(x, y, u, o) → { head, top, handL, handR, feet }; feel, emotions, walkCycle, pose |
| motion | seg, kf, ease*, backOut, spring, ring, jump, take, stroll, arcPt, onTwos, pulse, shakeXY |
| camera | camBegin(cx, cy, zoom, rot) … camEnd(), toScreen |
| staging | shots([[t0, fn], [t1, fn, { turn: 1.0 }]]) (page turn), bookPage(k), vignette(k), tooth(k), crayonWipe(p), iris, flash, glow |
| text | captions(list) (storybook captions via window.overlayHook), letter() for words inside the picture |
colorIn (pale base + crayon scribble/hatch + coloured-pencil outline);
lines with the crayon/pencil brushes. No plain p5 rect/ellipse/fill, no gradients, no 3D. Turns go through the
drawn key views (front, q, side, back).t. No Math.random(), no state between frames. hash() / rnd(key) for stable randomness;
jit() only for boil. Call boilSeed(key) before each separate background element/prop.cast.js only. Scenes pass poses (aR, bR, view, walk, dy, sq, hair,
holdR…) — they never draw a character's parts themselves. New characters go in cast.js (or one file each).pos: 'top') free of story-critical action.emotions() (anticipation squint → take → settle); actions have
anticipation → action → follow-through (jump, spring, hair); something happens in every shot.{ turn }), crayon wipe, iris, fade from/to paper.studio.html loads node_modules/p5.brush/dist/p5.brush.crayon.js, written by
patch_brush.mjs on npm install. Stock p5.brush darkens pigment where overlapping stamps saturate (right for ink,
wrong for wax): butter-yellow turned mustard. If that file is missing, run node patch_brush.mjs.colorIn is ~3 brush passes; p5.brush composites a mask per
colour change. Keep big background shapes sparse (hill/ground already use wide gaps), don't scribble far
off-screen. Typical: 150–250 ms/frame for a wide shot, ~350 ms for a busy medium shot with two characters and the
page border, ~0.7–1 s during a page turn (two pages are drawn).lt > dur for turn seconds — let its motion settle.line, text, color, scale, shape…): the page never gets ready.NaN in a point list throws Failed to construct 'OffscreenCanvas'. ** after a unary minus is a syntax error.paint/inkLine/colorIn draw around each shape's
centre, which avoids it for normal sizes.src/karaoke.js (from painted-animation) still works for lyric videos; add its <script> if needed.© edenfunf, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 21 other files (scripts) in .claude/skills/crayon-storybook of edenfunf/reelmimic.
Open the folder on GitHubat commit eac7fc7
Crayon Storybook Animation 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.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Crayon Storybook Animation this skilledenfunf/reelmimic | 1.9k | — | ~1.7k | Automated safety check: Pass | MIT | |
| Lemo-Opuscar Short Film Directorlemomo-ai/lemo-opuscar | 1.8k | — | ~596 | Automated safety check: Pass | MIT | |
| p5 Paint Animationheygen-com/hyperframes-community-skills | 187 | — | ~1.8k | Automated safety check: Pass | Apache-2.0 | |
| Video Synceternityspring/reelbench-skills | 878 | 1 repos | ~1k | Automated safety check: Notes | Apache-2.0 | |
| Painted Animationtuzhechen2005/opus-video-skills | 146 | 1 repos | ~1.9k | Automated safety check: Pass | Custom licence | |
| Day in My Life Agent Filmheygen-com/hyperframes-community-skills | 187 | — | ~1.7k | Automated safety check: Pass | Apache-2.0 |
lemomo-ai/lemo-opuscar
Directs a short film made entirely in code in one of the Lemo-Opuscar library's named visual styles, from fetching the library through production and delivery.
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.
eternityspring/reelbench-skills
把拉片数据和原片合成一条能直接看的视频:一边是画面,一边是这一镜的分镜信息 (镜号、起止、时长、景别、类别、运镜、画面描述、台词),镜头切了信息跟着切, 镜头表自动滚动并高亮当前这一镜。
tuzhechen2005/opus-video-skills
Make hand-painted watercolour-and-ink cartoon videos (MP4) with code — p5.js + p5.brush rendered frame by frame in headless Chrome, encoded with ffmpeg — starring Clawd or any character.
heygen-com/hyperframes-community-skills
Turns your local Claude Code session history into a 60 to 75 second hand-drawn ink film about a day with your agent, with a string score and your approval of every line.
heygen-com/hyperframes-community-skills
Turns one typical session between you and your agent into a short animated film built from your real messages, with a composed score, after you approve every line.
edenfunf/reelmimic
Agent Media OS, the single skill for every media need in a HyperFrames project.
edenfunf/reelmimic
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.
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.
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.
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.
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.
Categories
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. This is a drawing engine for the ReelMimic video workflow.brush, a crayon look library, a cast of characters and your scene files, and each shot draws the full frame.
Crayon Storybook Animation fits situations like: making a bedtime-story or picture-book style animation; A reference video calls for a crayon or colored-pencil look; adding hand-lettered storybook captions to an MP4.
Run `npx skills add edenfunf/reelmimic --skill crayon-storybook -a claude-code`. Or copy the skill folder (.claude/skills/crayon-storybook in edenfunf/reelmimic) into .claude/skills/crayon-storybook in your project. Claude Code loads it when a task matches its description.
Run `npx skills add edenfunf/reelmimic --skill crayon-storybook -a codex`. Or copy the skill folder (.claude/skills/crayon-storybook in edenfunf/reelmimic) into .agents/skills/crayon-storybook in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add edenfunf/reelmimic --skill crayon-storybook -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/crayon-storybook, .gemini/skills/crayon-storybook, .github/skills/crayon-storybook and .opencode/skills/crayon-storybook in your project.
Going by SKILL.md and its folder, Crayon Storybook Animation needs JavaScript and a shell for the scripts in its folder and the command-line tools its instructions call (node, npm and bash). Our summary lists: Node.js with npm, ffmpeg and Chrome available on the machine.
SKILL.md contains no URLs. Its commands use npm, which can reach the network depending on how they are called. This is read from the text; nothing was executed.
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.
Crayon Storybook Animation is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 1.7k tokens (SKILL.md is roughly 6.8k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Crayon Storybook Animation: Lemo-Opuscar Short Film Director (lemomo-ai/lemo-opuscar, 1.8k stars), p5 Paint Animation (heygen-com/hyperframes-community-skills, 187 stars), Video Sync (eternityspring/reelbench-skills, 878 stars) and Painted Animation (tuzhechen2005/opus-video-skills, 146 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
edenfunf (a GitHub user) maintains it in edenfunf/reelmimic, which has 1,943 GitHub stars. The repository holds 9 skills in this directory. The repository was last updated on October 9, 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.