HyperFrames Animation
heygen-com/hyperframes
Collects motion rules, scene blueprints, transitions and runtime adapters for HyperFrames video compositions, with GSAP as the default animation runtime.
Code-drawn stills, drawing timelapses, films, explainers and interactive web animations in 32 styles, with composed scores.
$ npx skills add alexgreensh/anidoodle --skill anidoodle -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install alexgreensh/anidoodle anidoodle --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/alexgreensh/anidoodle.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/anidoodle .claude/skills/anidoodle && 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 "anidoodle" agent skill from https://github.com/alexgreensh/anidoodle/tree/main/skills/anidoodle into .claude/skills/anidoodle/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "anidoodle", 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/alexgreensh/anidoodle/tree/main/skills/anidoodleType 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 alexgreensh/anidoodle --skill anidoodle -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install alexgreensh/anidoodle anidoodle --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/alexgreensh/anidoodle.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/anidoodle .agents/skills/anidoodle && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "anidoodle" agent skill from https://github.com/alexgreensh/anidoodle/tree/main/skills/anidoodle into .agents/skills/anidoodle/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "anidoodle", 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 alexgreensh/anidoodle --skill anidoodle -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install alexgreensh/anidoodle anidoodle --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/alexgreensh/anidoodle.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/anidoodle .cursor/skills/anidoodle && 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 "anidoodle" agent skill from https://github.com/alexgreensh/anidoodle/tree/main/skills/anidoodle into .cursor/skills/anidoodle/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "anidoodle", 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/alexgreensh/anidoodle.git --path skills/anidoodle--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 alexgreensh/anidoodle --skill anidoodle -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install alexgreensh/anidoodle anidoodle --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/alexgreensh/anidoodle.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/anidoodle .gemini/skills/anidoodle && 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 "anidoodle" agent skill from https://github.com/alexgreensh/anidoodle/tree/main/skills/anidoodle into .gemini/skills/anidoodle/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "anidoodle", 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 alexgreensh/anidoodle anidoodleInstalls 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 alexgreensh/anidoodle --skill anidoodle -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/alexgreensh/anidoodle.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/anidoodle .github/skills/anidoodle && 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 "anidoodle" agent skill from https://github.com/alexgreensh/anidoodle/tree/main/skills/anidoodle into .github/skills/anidoodle/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "anidoodle", 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 alexgreensh/anidoodle --skill anidoodle -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install alexgreensh/anidoodle anidoodle --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/alexgreensh/anidoodle.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/anidoodle .opencode/skills/anidoodle && 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 "anidoodle" agent skill from https://github.com/alexgreensh/anidoodle/tree/main/skills/anidoodle into .opencode/skills/anidoodle/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "anidoodle", 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.
anidoodleCode-drawn stills, drawing timelapses, films, explainers and interactive web animations in 32 styles, with composed scores.
Anidoodle is an agent skill from alexgreensh/anidoodle. Code-drawn stills, drawing timelapses, films, explainers and interactive web animations in 32 styles, with composed scores. Matches a reference style, keeps characters consistent, teaches drawing. Deterministic, no generated assets.
Its SKILL.md is about 2.7k tokens, which your agent loads only when the skill is triggered. The skill folder holds 577 other files, including reference files and assets (for example `engine/assets/refs/PROVENANCE.json`, `engine/package-lock.json` and `engine/package.json`).
It sits in Media & Creative, covering Web animation and motion, Motion graphics and Generative and creative coding. The repository describes itself as: Art and animation, written as code. Illustrations, loops, interactive web art, launch-videos and scored films in dozens of styles, identical on every render. The licence is Apache-2.0.
7 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 06f8be2. 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 script files (TypeScript, from the files we listed), which the agent can run.
Shell commands in SKILL.md call:
nodenpmnpxFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use npm and npx, 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.
Anidoodle loads about 2.7k tokens when it runs, and up to ~107k if it reads all its reference files. Until then it costs about 61 tokens; SKILL.md has 1,369 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); files beside SKILL.md are not scanned.
The full file from alexgreensh/anidoodle at commit 06f8be2, republished under its Apache-2.0 licence (© alexgreensh). 1,369 words, ~2,737 tokens.
.claude/skills/anidoodle/SKILL.md (or your agent's skills folder). This skill also uses 571 other files; get the full folder from GitHub.Pictures, films and interactive pieces drawn entirely in code. One pure function paints every frame; another composes the score and plays it. The same source rebuilds the same pixels and the same sound on any machine, at any size, at any length. Eight acoustic instruments can play recordings of real ones from an optional download. ASK the user before any score work; never download unasked.
The engine is the easy half. Work gets thrown away because it had no point, because the subject was an icon of itself, because a style was only a palette swap, because the music had no form, or because the person spent their patience approving fragments. This skill carries the craft that prevents each of those.
Read references/workflows/start-here.md and run its intake: one question at a time, only
what the request leaves open, your recommendation first. What are they making, in which
style (show the gallery sheet, https://github.com/alexgreensh/anidoodle/blob/main/skills/anidoodle/assets/styles.jpg; the list is references/styles/INDEX.md), what
shape (1x1, 9x16, 16x9, 4x5 or any W x H), how long (any length; never cap it), what
sound (silent or a music style and mood), which characters. "You pick" means pick and
say why in one line. Write the answers into a short brief before drawing.
| Making | Read |
|---|---|
| A still: hero, spot, cover, card, poster, a series | Still workflow below, references/formats.md |
| A picture that draws itself (timelapse, making-of) | references/workflows/drawing-process.md |
| A loop, sticker, animated logo, ambient header | Loop workflow below, references/formats.md |
| A story film, any length | Film workflow below, references/workflows/long-film.md |
| An explainer or an infographic | references/workflows/explainer.md |
| A launch or product video (their screenshots welcome) | references/workflows/launch-video.md; build it on references/workflows/launch-video-kit.md |
| An interactive web animation that reacts to the UI | references/workflows/interactive.md |
| A drawing lesson, or "how do I draw this?" | references/workflows/teach-drawing.md |
| A character kept identical in any style (woodcut to toy brick) | references/workflows/character-consistency.md, references/anatomy.md |
| A style matched from their image | references/workflows/adapt-a-style.md |
| A score or soundtrack | references/music/README.md |
launchTemplate.ts renders a product's launch from data (prompts, plates or its own UI, a score composed for it, words, install lines) in every shape from one timeline; launch.mjs new|ship. Habits that save tokens: references/working-method.md.references/storytelling.mdreferences/realism-and-craft.md, references/anatomy.mdreferences/styles.mdreferences/working-method.md(frame, env) (and the input log, for interactive
pieces), rng(seed) only, no clock, no ctx.filter. Nothing generated; images they bring may be
embedded by hash, and the sound pack is a separate, hash-pinned download. → references/determinism-and-contract.mdreferences/music/references/working-method.mdStill. (1) Say the idea in one sentence; name the focal subject and the light. (2) Open real
reference for anything that exists, and note which. (3) Pick the style and read its plate's
header first. (4) Draw in that medium's order. (5) Render with still.mjs at full size, run the
detail pass on crops (faces, hands, feet, joins; references/craft-bar.md), critique in writing. ✋ One approval. (6) Deliver every
size and shape asked for from the same source, and say reproducible was printed.
Loop. As a still, plus: every motion is periodic over the loop, the subject never stops, something moves every second. Check the seam (last frame against frame 0). ✋ One approval, on the moving file.
Film. (1) The story in three sentences (setup, transformation, payoff) and the token; for
longer films, a spine plus one line per chapter. If you cannot write it, stop. (2) The grid:
a beat is 60 x fps / bpm frames, the bpm from the brief's score; one cue table holds every frame number and a checker
runs at load. (3) Real reference for anything that exists. (4) ONE look still, the hardest
frame, critiqued in writing. ✋ Approval. (5) ONE 8-second music sample. ✋ Approval.
(6) Build the whole film; mechanical checks run continuously. (7) Review once from the
rendered file, as four readings with a scorecard (references/workflows/review.md). One ranked fix
list, one rebuild. (8) ✋ Final approval. Say what you verified and what you cannot.
Three approval gates at most. Approval is a budget; spend it where being wrong is expensive.
The test: would a proud human illustrator ship this, or is it mechanical shape-assembly? The
full table of tells is references/craft-bar.md. The ones that sink most work: subjects built
from ellipses, one style recoloured into another, things that fade in instead of being drawn,
people with rubber joints, and a character drawn differently from shot to shot.
No dead air in anything that moves: something visibly changes every second. A film that
draws itself declares kind: "drawing" and is judged on a finer floor; a freeze still fails.
engine/ is the portable art core plus the tooling. engine/src/canvas-core knows nothing
about the DOM or any backend. W, H, fps and durationFrames come from the film's meta.
Camera moves (pans, zooms, parallax, shake): engine/src/canvas-core/camera.ts, references/camera.md.
Seams between scenes: references/motion-grammar.md (cuts that carry motion: seams.ts; tools/deck.mjs deal deals each film different moves). render.mjs --blur auto renders with motion blur (subframes per frame
from its measured on-screen speed, averaged in linear light, --shutter 180); the default path is untouched.
node <skill>/engine/tools/scaffold.mjs ~/art --film intro --format 9x16 --duration 12 # seconds
cd ~/art && npm install && npx playwright-core install chromium
node tools/still.mjs intro --frame 0 --out out/look.png --scale 2 # a still, with its hash
node tools/render.mjs intro # MP4; --out x.gif|x.webm|x.apng
node tools/gate.mjs intro # determinism, contract, dead air
node tools/emit.mjs intro --out out/intro.html # one self-contained offline player
node <skill>/engine/tools/soundfetch.mjs list # no network. Nothing installed and not declined: ask the user now
node <skill>/engine/tools/soundfetch.mjs get piano rooms # on their yes (piano 233 MB, all 373 MB). On no: soundfetch.mjs decline| Tool | What it does |
|---|---|
scaffold.mjs | a project with a still and/or film; --duration, --format or --size, --fps, --bpm |
still.mjs / render.mjs | frames drawn twice with hashes (--frames a,b,c --sheet in one browser) / the piece in any format (--from/--to, --poster-frame, --hashes) |
gate.mjs | determinism, contract, dead air, artifact; --self-test proves it can fail |
registry.mjs / gallery.mjs | the style list from the plates themselves / the gallery sheet |
docs-check.mjs | fails when any doc's style count, length or path disagrees with the code |
verify-export.mjs | QA on the rendered file: frames, duration, score, A/V sync, true peak after the encode; opt-in first frame, loop seam, --delivery |
launch.mjs | a launch film: new <name> scaffolds the spec; ship <name> --shapes 16x9,9x16 renders, posters, captions, verifies and framechecks each (framecheck.mjs: no text cut by the frame's edge) |
test.mjs (npm test) | unit suites in engine/test/, no browser |
music.mjs | vocab prints a style's vocabulary; check gates your composed score (key, master, guards, stems, novelty, which parts played recordings) and prints its shape (ARC); render, meter |
soundfetch.mjs | the sound pack: list, get <id...|all>, where, verify, remove <id> |
sfx.mjs | the sound-effects kit: list, one, kit <dir>, test |
Four backends, one art core: playwright, html-player, remotion, hyperframes.
→ references/backends-and-adapters.md
engine/src/canvas-core/: every hand has a still and a film of it being
drawn, with the recipe in the header and references/styles/<id>.md.example/: a 47 s scored film. scaffold.mjs ~/study --example.Study them. Do not copy them. The craft bar is not satisfied by inheritance.
You cannot hear the score, watch the film move, or use the interactive piece. Every claim about
them comes from a measurement or from a human; say which. A green checkmark is a claim until you
re-run it. Render one frame at --scale 2 before trusting a still: a layer blitted through the
wrong transform looks right at 1x and breaks at 2x.
© alexgreensh, Apache-2.0. 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 571 other files (references, assets) in skills/anidoodle of alexgreensh/anidoodle.
Open the folder on GitHubat commit 06f8be2
Anidoodle 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 |
|---|---|---|---|---|---|---|
| Anidoodle this skillalexgreensh/anidoodle | 878 | — | ~2.7k | Automated safety check: Pass | Apache-2.0 | |
| HyperFrames Animationheygen-com/hyperframes | 60k | 3 repos | ~2.1k | Automated safety check: Pass | Apache-2.0 | |
| HyperFrames Keyframesheygen-com/hyperframes | 60k | 1 repos | ~4.1k | Automated safety check: Pass | Apache-2.0 | |
| AnalyzeKumarSashank/motiscope | 122 | — | ~3.1k | Automated safety check: Notes | MIT | |
| Phone UI Demo AnimationsUnclecheng-li/AI_Animation | 1.5k | — | ~703 | Automated safety check: Pass | MIT | |
| Awwwards Motion DesignYu-369/VibeCurb | 979 | — | ~13k | Automated safety check: Pass | MIT |
heygen-com/hyperframes
Collects motion rules, scene blueprints, transitions and runtime adapters for HyperFrames video compositions, with GSAP as the default animation runtime.
heygen-com/hyperframes
Writes seek-safe 2D and 3D keyframes for HyperFrames video compositions, covering punch-ins, zooms, reframes and camera moves without touching clip assembly.
KumarSashank/motiscope
Analyze a screen recording of an animation to characterize its motion — timing, easing, transforms, and sequencing — so it can be recreated as web code.
Unclecheng-li/AI_Animation
Turns a product, lesson or script into a cinematic web animation staged inside a realistic phone interface, with lock screens, chats, settings and a virtual-clock player.
Yu-369/VibeCurb
Motion design pipeline for building Awwwards/Apple-tier animations, micro-interactions, scroll sequences, page transitions, and kinetic typography.
hoodini/ai-agents-skills
Edit any selfie or screen-share footage into a viral short-form video in YUV.AI's signature style — Apple-style liquid-glass cards (real CSS backdrop-filter), dark-mode polish, MrBeast-paced cuts…
Categories
Code-drawn stills, drawing timelapses, films, explainers and interactive web animations in 32 styles, with composed scores. Anidoodle is an agent skill from alexgreensh/anidoodle. Code-drawn stills, drawing timelapses, films, explainers and interactive web animations in 32 styles, with composed scores.
Anidoodle fits situations like: tasks that involve Web animation and motion; tasks that involve Motion graphics; tasks that involve Generative and creative coding.
Run `npx skills add alexgreensh/anidoodle --skill anidoodle -a claude-code`. Or copy the skill folder (skills/anidoodle in alexgreensh/anidoodle) into .claude/skills/anidoodle in your project. Claude Code loads it when a task matches its description.
Run `npx skills add alexgreensh/anidoodle --skill anidoodle -a codex`. Or copy the skill folder (skills/anidoodle in alexgreensh/anidoodle) into .agents/skills/anidoodle 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 alexgreensh/anidoodle --skill anidoodle -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/anidoodle, .gemini/skills/anidoodle, .github/skills/anidoodle and .opencode/skills/anidoodle in your project.
Going by SKILL.md and its folder, Anidoodle needs TypeScript for the scripts in its folder and the command-line tools its instructions call (node, npm and npx). Our summary lists: Node.js.
SKILL.md contains no URLs. Its commands use npm and npx, 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. Review the folder before installing.
Anidoodle is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.7k tokens (SKILL.md is roughly 11k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 104k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Anidoodle: HyperFrames Animation (heygen-com/hyperframes, 60k stars), HyperFrames Keyframes (heygen-com/hyperframes, 60k stars), Analyze (KumarSashank/motiscope, 122 stars) and Phone UI Demo Animations (Unclecheng-li/AI_Animation, 1.5k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
alexgreensh (a GitHub user) maintains it in alexgreensh/anidoodle, which has 878 GitHub stars. The repository was last updated on October 10, 2026.
Source: alexgreensh/anidoodle on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.