hand-drawn-canvas-animation
alesha-pro/tools · Agent Skill
用程式碼製作手繪動畫短片:代理以墨水、鉛筆、孔版或照片塗鴉風格繪製並輸出 MP4,無需 Blender 或影片模型。
前往安裝 ↓總覽
| 發布者 | |
|---|---|
| 儲存庫 | alesha-pro/tools ↗ |
| 技能資料夾 | hand-drawn-canvas-animation |
| 星 | 616 |
| 分支 | 66 |
| 附帶檔案 | 57 |
| 授權 | MIT |
| 最近更新 | 2026年9月25日 |
| 連結 | 技能原始碼 ↗ · 儲存庫 ↗ |
Mozgi 檢查
我們在技能檔案中發現的內容。詳細資訊需訂閱。
關於此技能
Hand-drawn canvas animation teaches an AI agent (Claude Code, Codex and others) to make short hand-drawn films in code — JavaScript and Canvas 2D. The output is an HTML film player and a finished MP4 with sound. No Blender, WebGL or video models: every frame is drawn with strokes, like real animation.
Becoming — a 60-second example film: five drawing styles, sand animation and a pop-up bookWhat makes it different
Instead of a puppet built from blobs, the skill works like an animator: whole-pose drawings (keys and breakdowns), expressive pressure strokes, intentional holds and an exposure sheet. Motion reads as drawn by hand.
The main study: nine whole-body keys, assisted inbetweens and a replacement blinkFive looks
- Ink — confident brush gestures, black masses and white gaps.
- Riso — overprinted colours, halftone, slight misregistration.
- Screen print — flat opaque shapes, stencil edges, wear.
- Pencil — thin graphite, open contours, form hatching.
- Doodles on photos — a cut-out photo on pastel paper with brush-pen drawings that draw themselves.
Three extra techniques
- Found motion — trace real movement from a video into strokes.
- Sand animation — a backlit sand table, poured, wiped and blown in one take.
- Paper in space — drawn sheets stand up in 3D as a pop-up book.
How to use
Ask for a film with a subject, length and look, e.g.:
20 seconds, the life of a request inside a GPU server, riso look
Requirements
- Node.js 22.12+, Chrome or Chromium and ffmpeg for rendering.
- Python with
numpy scipy scikit-image pillowfor found motion. rembgfor clean photo cut-outs in the doodle look.
By alesha-pro, MIT license. Not for UI animation or slide decks.
安裝
技能就是一個含 SKILL.md 的資料夾。選擇你的代理,在專案根目錄的終端機(macOS、Linux 或 Windows 的 Git Bash)執行指令。
把提示貼到 Claude、Codex 或其他助理:它會自行檢查並安裝技能。
Install the “hand-drawn-canvas-animation” skill from mozgi.io (https://mozgi.io/skills/hand-drawn-canvas-animation/) for me. 1. Download the archive: https://mozgi.io/skills/hand-drawn-canvas-animation/download If it fails, take the skill folder from the source: https://github.com/alesha-pro/tools/tree/main/skills/hand-drawn-canvas-animation 2. Read SKILL.md and the other files. Check the skill is safe: no hidden commands, no sending data elsewhere, no scripts doing something other than described. If anything looks suspicious, stop and tell me. 3. Put the “hand-drawn-canvas-animation” folder into your agent's skills folder: .claude/skills/ for Claude Code, .agents/skills/ for Codex, .cursor/skills/ for Cursor, .gemini/skills/ for Gemini CLI. Inside the project if we are in one, otherwise in the home folder (~/.claude/skills/ etc.). 4. Make sure <skills folder>/hand-drawn-canvas-animation/SKILL.md exists. 5. Briefly tell me what this skill does and offer to try it on my task. If you cannot do a step yourself, tell me what to click or type.
git clone --depth 1 --branch main https://github.com/alesha-pro/tools.git /tmp/tools mkdir -p .claude/skills cp -r /tmp/tools/skills/hand-drawn-canvas-animation .claude/skills/hand-drawn-canvas-animation
重新啟動 Claude Code — 技能就會出現在清單中,手動呼叫:/hand-drawn-canvas-animation。要套用到所有專案,請放在 ~/.claude/skills。
git clone --depth 1 --branch main https://github.com/alesha-pro/tools.git /tmp/tools mkdir -p .agents/skills cp -r /tmp/tools/skills/hand-drawn-canvas-animation .agents/skills/hand-drawn-canvas-animation
Codex 會從目前資料夾往上到儲存庫根目錄,在 .agents/skills 中尋找技能;用 /skills 或 $hand-drawn-canvas-animation 呼叫。所有專案:~/.agents/skills。
git clone --depth 1 --branch main https://github.com/alesha-pro/tools.git /tmp/tools mkdir -p .cursor/skills cp -r /tmp/tools/skills/hand-drawn-canvas-animation .cursor/skills/hand-drawn-canvas-animation
Cursor 啟動時會載入技能;在 Agent 聊天輸入「/」呼叫。Cursor 也會讀取 .claude/skills 與 .agents/skills。所有專案:~/.cursor/skills。
git clone --depth 1 --branch main https://github.com/alesha-pro/tools.git /tmp/tools mkdir -p .gemini/skills cp -r /tmp/tools/skills/hand-drawn-canvas-animation .gemini/skills/hand-drawn-canvas-animation
任務符合時,Gemini CLI 會提議啟用技能,由你確認。所有專案:~/.gemini/skills。
安裝前請先檢視 SKILL.md 與相關檔案。點擊檔案即可預覽。
SKILL.md 內容
作者原文 · 唯讀Hand-drawn canvas animation
Produce a film that feels drawn by hand in both its marks and its movement.
For character animation, default to whole-pose drawings, expressive strokes and
intentional exposure. Design the keys and breakdowns before any rig or texture.
A rig may guide construction and contacts; the final drawing must carry the pose.
Canvas 2D is the renderer; SVG path data may be used for authored shapes. No
Blender or video model is needed. WebGL is not a dependency. Deliver an HTML
film with its local modules and an offline MP4. Length and format follow the
brief; a short, finished action is the starting point for a longer film.
Choose the right references
- Read style.md ↗ for the five looks and their quality gates.
- For a film combining looks or techniques, read
mixed-media.md ↗. Plan why the material changes and
what carries through the transition before drawing separate style samples.
- Read redrawn-animation.md ↗ for the default
stroke-led character workflow, whole cels, assisted inbetweens and exposure sheets.
- Read motion.md ↗ before animating characters or a camera.
- Read studio.md ↗ for exposure tracks, stable strokes,
contact IK and materials for optional deformation and construction helpers.
- Read architecture.md ↗ for core APIs and export.
- Read doodle.md ↗ for photo sourcing, anchors and masking;
found-motion.md ↗ for traced movement;
sand.md ↗ or paper3d.md ↗ for those media.
- palettes.md ↗, scenes.md ↗ and
reference-films.md ↗ contain optional palettes,
scene devices and historical references. They are not mandatory film structures.
Workflow
1. Fill brief-template.md ↗. Infer routine choices;
ask only for missing decisions that materially affect the result. Specify the
intended material and acting reference separately. Pick a primary aspect ratio;
alternate formats need composition review, not just a different canvas size.
2. Create one project folder. Copy assets/core.js, assets/studio.js,
assets/cels.js, optional assets/materials.js, scripts/render.mjs and
scripts/package.json into it. For characters, study
examples/sketchbook-bird.html and build an original cast with whole drawings.
Its example imports use ../assets/; change these to local module paths in a
standalone project. assets/film-template.html is a legacy rig demonstration,
useful for runtime wiring, not the default visual model. Install the local
renderer dependencies with npm i --no-audit --no-fund; system Chrome and ffmpeg
are required. Keep reusable engine edits in the skill, not in film copies.
3. Establish the drawing: silhouette, proportions, expressions, necessary views,
line hierarchy, recognizable stroke gestures and a few material samples. Render at delivery size and at
240 px. A material cannot rescue an unclear pose. Use designed curves and
replacement drawings where simple primitives fail.
4. Plan the keys and breakdowns of the hardest action. Mark contacts, gaze,
anticipation, weight transfer and reaction. Use enough controls to express it;
there is no fixed part count or parameter limit. Build a finite exposure sheet
of whole drawings. Use geometric inbetweens only for corresponding forms;
redraw changed overlaps, head angles, compressed silhouettes and expressions.
Establish timing without decorative textures first. Do not add springs to rigid or motor-driven motion.
5. Finish one representative production shot before building the whole film.
Evaluate normal-speed playback, consecutive-frame strips and stills. Correct
anatomy, spacing, contacts and line stability before adding more scenes.
6. Build the remaining shots using a beat sheet: start, duration, what the viewer
notices, main action, camera and sound cue. Cuts, transitions, blueprint views,
montages, anchors and sign-offs are artistic choices. Give each action time to
read. When mixing materials, carry the character's action, position or a
physical object across the change. A palette swap alone does not establish
a new style; several impressive but disconnected shots do not establish a story.
7. Render and inspect. Start with --grid 24, then use --strip 48,12 around
a fast action or contact, and --only 48 for full-size detail. Run the full
renderer for the MP4 and generated score. A contact sheet alone cannot pass
motion QA. If playback is unavailable, explicitly report that limitation.
8. Deliver the source, dependencies/assets, MP4, contact sheet and the remaining
known limitations. Verify duration, dimensions, frame count and successful
decode. Never call a film studio-quality solely because its code or checklist
passed; assess the actual result against the chosen visual reference.
Production invariants
defineFilmdefaults to 24 fps. A scene receives continuoustau;i
remains the legacy 12 Hz index for pulse, boil and older clips. Use exposure
tracks per action. Ones, twos, threes and held drawings are all valid.
- Separate camera timing, drawing exposure and root motion. Check their combined
screen-space motion, especially in a tracking shot. Avoid quantizing twice.
- Randomness is seeded. Make strokes once per drawing, with stable semantic ids.
A held drawing holds its marks too. Seed changes belong to a new drawing, not
every output frame. In a deformation workflow, use stable rest-space marks. Specify
whether a texture belongs to the paper, an object or the screen. A fixed seed
does not prevent swimming if sampling positions or topology change.
- Each frame must reproduce after seeking in the same pinned runtime. Sand uses
fixed-step simulation and bounded checkpoints. Font and browser differences
can change pixels between machines; provide fonts or use path lettering when
reproducibility matters. Allow fonts and photos to load before export.
- Preserve physical contacts until their planned release. IK clamps unreachable
targets; check the returned error and fix the pose rather than stretching bones.
- Record sources/licences for external media. Use only assets permitted for the
intended delivery. Optional SVG is path geometry, not automatic rigging.
Quality gates
Drawing: clear silhouette; consistent proportions across views; controlled
outer/inner line weights; purposeful pressure, taper and gaps; no accidental
tangencies or broken joints. Avoid assembled oval limbs with a texture laid over
them. Clean curves and aligned fills remain valid for the selected medium, but
the default sketch should retain visible drawing gestures. Wobble,
misregistration and boil require a purpose.
Motion: whole poses that feel redrawn, meaningful keys, readable breakdowns, deliberate spacing, convincing
weight and planted contacts. Inspect overshoot, camera tracking, topology changes
and fast movement at normal speed and frame by frame. Use a designed smear when
needed; legacy smear() makes a ghost trail, not a new drawing.
Material: ink hatching follows form; graphite respects pressure and tone;
riso plates register coherently; screen ink may be solid; doodles interact with
the photo. Avoid excessive grain, changing raster phase and unintended shimmer.
For mixed-media work, inspect the transitions as actions, not only a style board.
If weather drives the scene, its force should affect both setting and character.
If paper unfolds, show a compact starting state, the hinges and an attached base.
Delivery: no page errors, accidental blank frames, clipped action, stale
frames or unfinished final lettering. If a closing card is requested, let it
finish and hold long enough to read. Check the encoded video, not only PNGs.
Working examples and commands
examples/becoming-phoenix/phoenix.html ↗
is a complete 60-second film with original music. It combines all five looks,
sand and paper projection through one story. Study inkScene for a moving
storm, ensurePrintedPage for an actual print becoming a page, and
unfoldPhoenix for staggered wing and tail opening. Its branding is specific
to the example. Use the techniques that serve the new brief, not its shot list.
examples/sketchbook-bird.html is the primary pencil/ink drawing study: nine
whole-body keys, assisted inbetweens, a replacement blink and an exposure sheet.
examples/weight-study.html is a secondary seven-second contact/weight study rendered in
five looks with --look ink|pencil|riso|screen|doodle. It demonstrates mechanisms,
not the aesthetic target for redrawn characters or proof of feature-film quality. examples/material-studies.html adds sand-displacement and page-curl close-ups. Earlier
examples remain useful for particular scene devices; see their references above.
node scripts/render.mjs examples/sketchbook-bird.html --look pencil --grid 18 --out /tmp/pencil-preview
node scripts/render.mjs examples/sketchbook-bird.html --strip 58,24 --out /tmp/motion-preview
node scripts/render.mjs examples/sketchbook-bird.html --width 1920 --out /tmp/drawn-film
node scripts/verify.mjs
The renderer honours the film's aspect ratio unless --ar is supplied. Each full
render stages its own frames, then replaces that film's outputs after successful
encoding. Old PNGs cannot extend a shorter revision. --grid, --strip and
--only are preview modes and do not replace the full MP4.
For Remotion integration use timebase conversion:
drawFrame(Math.min(__NDRAW - 1, Math.floor(frame * __fps / compositionFps))).
With film and composition both at 24 fps this is simply drawFrame(frame).
常見問題
hand-drawn-canvas-animation 技能有什麼用途?
用程式碼製作手繪動畫短片:代理以墨水、鉛筆、孔版或照片塗鴉風格繪製並輸出 MP4,無需 Blender 或影片模型。
如何安裝 hand-drawn-canvas-animation?
打開本頁的「安裝」區塊並選擇你的代理 — Claude Code、Codex、Cursor 或 Gemini CLI:那裡有把技能資料夾複製到正確位置的現成指令。也可以複製「透過助理」分頁中的提示,讓助理自行檢查並安裝技能。
hand-drawn-canvas-animation 適用哪些 AI 模型?
技能是純 Markdown 指示(Agent Skills 格式),因此 hand-drawn-canvas-animation 適用任何讀取 SKILL.md 的代理:Claude Code、Codex、Cursor、Gemini CLI、GitHub Copilot、OpenCode 等。只有在任務符合技能描述時,模型才會載入指示。
hand-drawn-canvas-animation 是免費的嗎?
此技能由 alesha-pro 公開發布,採用 MIT 授權。技能本身免費 — 你只需向 AI 供應商支付實際使用的 token 費用。
安裝技能安全嗎?
技能是代理會遵循的指示,安裝前請閱讀 SKILL.md 及相關檔案。技能資料夾中的腳本只有在代理執行時才會運行 — 留意它的動作,不要授予多餘權限。
技能和 MCP 伺服器或外掛有何不同?
MCP 伺服器或外掛為模型提供新工具 — 會執行並回傳結果的程式碼。技能提供的是知識與流程:如何處理任務、要遵循哪些步驟、好的成果長什麼樣子。它不需要伺服器或 API 金鑰。