Not in the top 1,000 by GitHub stars
buildwithhanif/claude-animation-skill
Hand-drawn 2D animation written as code: detail bible, a detailed ant rig, brush/watercolour pen, frame-matched recreation loop, synthesised sound. Node canvas + ffmpeg.
History
Review weekly changes to SKILL.md before updating. Dates mark the weeks in which we observed each version; checks apply to the recorded commits.
View weekly changes
plugins/claude-animation/skills/claude-animation/SKILL.md
Week of Nov 2, 2026 · Line counts unavailable
Before Not checked yet → After Local scripts
First observation → 4ddb8c80fdec
No earlier version was observed for comparison.
Verified commit 4ddb8c80fdec96dc9f55d4b9bdee60bde6f0134b
git clone --filter=blob:none --no-checkout https://github.com/buildwithhanif/claude-animation-skill.git .hotskills/buildwithhanif-claude-animation-skill && git -C .hotskills/buildwithhanif-claude-animation-skill checkout --detach 4ddb8c80fdec96dc9f55d4b9bdee60bde6f0134b
# Copy each selected skill directory from .hotskills/buildwithhanif-claude-animation-skill into .claude/skills/<skill-name>/Heat
Insufficient historyNot enough history yet to measure heat. It appears after a few days of data.
Heat never changes the order by stars, and sponsorship never touches it. How heat works
Stars over time
30-day change not yet available: not enough history.
Individual skills in this repository
- claude-animation
plugins/claude-animation/skills/claude-animation
How it works
claude-animation
When your agent uses it
Make short hand-drawn 2D animations entirely in JavaScript — storybook / textured-editorial illustration (paper grain, hatching, blue construction guides, glossy insect characters, nest cross-sections) and brush-ink + watercolour explainers — rendered frame-exact with node canvas and ffmpeg, with synthesised sound. Use for "bikin animasi", "animate this story", "hand-drawn animation", "storybook animation", "JS animation", "line drawing animation", "animasi semut", kids' story or science explainer animations. Not for UI micro-interactions, slide decks, or talking-head video editing.
What it loads into context
Frontmatter
138 tokensAlways available to the agent
SKILL.md
2,202 tokensWhen the skill is activated
Reference documents
9,342 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Read first
- The library (`lib/`)
- The loop
- Hard rules
- Quick start
Scripts executed separately
lib/colony.mjslib/core.mjslib/film.mjslib/fx.mjslib/lowpoly.mjslib/nature.mjslib/pen.mjslib/rigs/ant.mjslib/rigs/bean.mjslib/rigs/bug.mjslib/rigs/chibi.mjslib/rigs/critter.mjslib/textures.mjspackage.jsonscripts/ambient.mjsscripts/chiptune.mjsscripts/music.mjsscripts/rig-sheet.mjsscripts/sound.mjstemplates/film-template.mjs
Files
../../../../.claude-plugin/marketplace.jsonasset983 bytes../../../../.claude-plugin/marketplace.jsonasset983 bytes../../.claude-plugin/plugin.jsonasset640 bytesSKILL.mdcore8,018 bytesSKILL.mdcore8,018 bytesSKILL.mdcore8,018 bytesSKILL.mdcore8,018 bytesSKILL.mdcore8,018 bytesSKILL.mdcore8,018 bytesSKILL.mdcore8,018 bytesSKILL.mdcore8,018 byteslib/colony.mjsruns9,188 byteslib/core.mjsruns10,461 byteslib/film.mjsruns7,248 byteslib/fx.mjsruns9,047 byteslib/lowpoly.mjsruns7,220 byteslib/nature.mjsruns5,512 byteslib/pen.mjsruns9,055 byteslib/rigs/ant.mjsruns16,165 byteslib/rigs/bean.mjsruns9,244 byteslib/rigs/bug.mjsruns5,105 byteslib/rigs/chibi.mjsruns11,888 byteslib/rigs/critter.mjsruns7,098 byteslib/textures.mjsruns9,047 bytespackage.jsonruns298 bytesreferences/characters.mddoc6,351 bytesreferences/detail.mddoc7,190 bytesreferences/motion.mddoc4,450 bytesreferences/prior-art.mddoc2,416 bytesreferences/sound.mddoc2,292 bytesreferences/styles.mddoc4,162 bytesreferences/traps.mddoc2,465 bytesreferences/workflow.mddoc2,263 bytesscripts/ambient.mjsruns3,138 bytesscripts/chiptune.mjsruns6,969 bytesscripts/music.mjsruns5,998 bytesscripts/rig-sheet.mjsruns1,411 bytesscripts/sound.mjsruns7,914 bytestemplates/beat-sheet.mddoc1,776 bytestemplates/film-template.mjsruns2,631 bytes
Read SKILL.md
# claude-animation
**Frame-exact, hand-drawn-looking 2D animation written as code.** A film is a pure function
`frame(ctx, t)`; the library draws the look (brush, pencil, watercolour, grain, hatching), the rigs act
(a detailed ant, a bean-bodied cast), and the harness renders, previews and checks it.
Every rule below is something that went wrong on a real film — a 59 s brush-ink + watercolour history
recap and a set of storybook insect films — and took a render to find.
## Read first
| I need to… | Go to |
|---|---|
| Make an original animation from a brief | `references/workflow.md` → `templates/beat-sheet.md` → `templates/film-template.mjs` |View the complete source on GitHubSkills included
- claude-animation
Repository facts
- License
- MIT
- Created
- Sep 23, 2026
- Last pushed
- Sep 23, 2026
- Forks
- 20
- Open issues
- 0
- Project activity
- Active
Before you install
Local scriptsAutomated signals, not a guarantee
Checked Nov 7, 2026
Not fully analyzed: some files were too long, unreadable or missing. This never lowers the level.
Show 8 notes
.claude-plugin/marketplace.json:1Analysis incomplete: Referenced executable target unavailable; not analyzedplugins/claude-animation/skills/claude-animation/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedplugins/claude-animation/skills/claude-animation/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedplugins/claude-animation/skills/claude-animation/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedplugins/claude-animation/skills/claude-animation/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedplugins/claude-animation/skills/claude-animation/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedplugins/claude-animation/skills/claude-animation/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedplugins/claude-animation/skills/claude-animation/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzed
- No broad tool permissions
- No dangerous shell commands
- 12 network referencesin 2 files: .claude-plugin/marketplace.json:3 plugins/claude-animation/.claude-plugin/plugin.json:4
- No hidden or obfuscated text
- No instruction overrides
- 20 executable scriptsin 20 files: claude-animation/lib/colony.mjs:1 claude-animation/lib/core.mjs:1 claude-animation/lib/film.mjs:1 and 17 more
- No access to secrets
- No requests to vote in Hot
Show all 32 signals by file
.claude-plugin/marketplace.json
- Network accessline 3
"description": "Hand-drawn 2D animation written as code: textured-editorial and brush-watercolour looks, a detailed ant rig, an ant colony kit, synthesised sound.", "version": "1.0.0", "owner": { "name": "Hanif", "url": "https://github. - Network accessline 4
"version": "1.0.0", "owner": { "name": "Hanif", "url": "https://github.com/buildwithhanif" }, "plugins": [ - Network accessline 5
"owner": { "name": "Hanif", "url": "https://github.com/buildwithhanif" }, - Network accessline 12
"keywords": ["animation", "2d", "hand-drawn", "canvas", "javascript", "storybook", "illustration", "ffmpeg", "colony"], "license": "MIT", "homepage": "https://github.com/buildwithhanif/claude-animation-skill", - Network accessline 13
"license": "MIT", "homepage": "https://github.com/buildwithhanif/claude-animation-skill", "repository": "https://github.com/buildwithhanif/claude-animation-skill" - Network accessline 14
"homepage": "https://github.com/buildwithhanif/claude-animation-skill", - Network accessline 15
"repository": "https://github.com/buildwithhanif/claude-animation-skill"
plugins/claude-animation/.claude-plugin/plugin.json
- Network accessline 4
"description": "Hand-drawn 2D animation written as code. Textured-editorial and brush-watercolour looks, a detailed poseable ant, an ant colony kit, a render harness with sheet/strip/verify, and synthesised sound.", "version": "1.0.0", - Network accessline 5
"version": "1.0.0", "author": { "name": "Hanif", "url": "https://github.com/buildwithhanif" }, "homepage": "https://github.com/buildwithhanif/claude-animation-skill", - Network accessline 6
"author": { "name": "Hanif", "url": "https://github.com/buildwithhanif" }, - Network accessline 7
"homepage": "https://github.com/buildwithhanif/claude-animation-skill", - Network accessline 8
"repository": "https://github.com/buildwithhanif/claude-animation-skill",
plugins/claude-animation/skills/claude-animation/lib/colony.mjs
- Executable scriptline 1
Executable file
plugins/claude-animation/skills/claude-animation/lib/core.mjs
- Executable scriptline 1
Executable file
plugins/claude-animation/skills/claude-animation/lib/film.mjs
- Executable scriptline 1
Executable file
plugins/claude-animation/skills/claude-animation/lib/fx.mjs
- Executable scriptline 1
Executable file
plugins/claude-animation/skills/claude-animation/lib/lowpoly.mjs
- Executable scriptline 1
Executable file
plugins/claude-animation/skills/claude-animation/lib/nature.mjs
- Executable scriptline 1
Executable file
plugins/claude-animation/skills/claude-animation/lib/pen.mjs
- Executable scriptline 1
Executable file
plugins/claude-animation/skills/claude-animation/lib/rigs/ant.mjs
- Executable scriptline 1
Executable file
plugins/claude-animation/skills/claude-animation/lib/rigs/bean.mjs
- Executable scriptline 1
Executable file
plugins/claude-animation/skills/claude-animation/lib/rigs/bug.mjs
- Executable scriptline 1
Executable file
plugins/claude-animation/skills/claude-animation/lib/rigs/chibi.mjs
- Executable scriptline 1
Executable file
plugins/claude-animation/skills/claude-animation/lib/rigs/critter.mjs
- Executable scriptline 1
Executable file
plugins/claude-animation/skills/claude-animation/lib/textures.mjs
- Executable scriptline 1
Executable file
plugins/claude-animation/skills/claude-animation/package.json
- Executable scriptline 1
Executable file
plugins/claude-animation/skills/claude-animation/scripts/ambient.mjs
- Executable scriptline 1
Executable file
plugins/claude-animation/skills/claude-animation/scripts/chiptune.mjs
- Executable scriptline 1
Executable file
plugins/claude-animation/skills/claude-animation/scripts/music.mjs
- Executable scriptline 1
Executable file
plugins/claude-animation/skills/claude-animation/scripts/rig-sheet.mjs
- Executable scriptline 1
Executable file
plugins/claude-animation/skills/claude-animation/scripts/sound.mjs
- Executable scriptline 1
Executable file
plugins/claude-animation/skills/claude-animation/templates/film-template.mjs
- Executable scriptline 1
Executable file
How the signals fit together
Facts from a static read of the files at the pinned commit. They describe what the code does, not why.
Some files could not be read; the facts below still hold.
Signal confidence: 20 facts
- Executable script in a comment of a file that runsclaude-animation/lib/colony.mjs:1Low confidence
- Executable script in a comment of a file that runsclaude-animation/lib/core.mjs:1Low confidence
- Executable script in a comment of a file that runsclaude-animation/lib/film.mjs:1Low confidence
- Executable script in a comment of a file that runsclaude-animation/lib/fx.mjs:1Low confidence
- Executable script in a comment of a file that runsclaude-animation/lib/lowpoly.mjs:1Low confidence
- Executable script in a comment of a file that runsclaude-animation/lib/nature.mjs:1Low confidence
- Executable script in a comment of a file that runsclaude-animation/lib/pen.mjs:1Low confidence
- Executable script in a comment of a file that runsclaude-animation/lib/rigs/ant.mjs:1Low confidence
- Executable script in a comment of a file that runsclaude-animation/lib/rigs/bean.mjs:1Low confidence
- Executable script in a comment of a file that runsclaude-animation/lib/rigs/bug.mjs:1Low confidence
- Executable script in a comment of a file that runsclaude-animation/lib/rigs/chibi.mjs:1Low confidence
- Executable script in a comment of a file that runsclaude-animation/lib/rigs/critter.mjs:1Low confidence
- Executable script in a comment of a file that runsclaude-animation/lib/textures.mjs:1Low confidence
- Executable script in code of a file that runsclaude-animation/package.json:1High confidence
- Executable script in a comment of a file that runsclaude-animation/scripts/ambient.mjs:1Low confidence
- Executable script in a comment of a file that runsclaude-animation/scripts/chiptune.mjs:1Low confidence
- Executable script in a comment of a file that runsclaude-animation/scripts/music.mjs:1Low confidence
- Executable script in a comment of a file that runsclaude-animation/scripts/rig-sheet.mjs:1Low confidence
- Executable script in a comment of a file that runsclaude-animation/scripts/sound.mjs:1Low confidence
- Executable script in a comment of a file that runsclaude-animation/templates/film-template.mjs:1Low confidence
Works with
| Agent | Status | Evidence | Install to |
|---|---|---|---|
| Claude Code | Native | Manifest .claude-plugin/marketplace.json | .claude/skills/<skill-name>/ |
| Codex | Compatible | Standard SKILL.md plugins/claude-animation/skills/claude-animation/SKILL.md | .agents/skills/<skill-name>/ |
| Cursor | Compatible | Standard SKILL.md plugins/claude-animation/skills/claude-animation/SKILL.md | .cursor/skills/<skill-name>/ |
| Gemini CLI | Compatible | Standard SKILL.md plugins/claude-animation/skills/claude-animation/SKILL.md | .gemini/skills/<skill-name>/ |
| GitHub Copilot | Compatible | Standard SKILL.md plugins/claude-animation/skills/claude-animation/SKILL.md | .github/skills/<skill-name>/ |
| OpenCode | Compatible | Standard SKILL.md plugins/claude-animation/skills/claude-animation/SKILL.md | .opencode/skills/<skill-name>/ |
- Native The repository ships a manifest, folder or frontmatter field for this agent.
- Compatible A standard SKILL.md that this agent can read.
- Unknown No evidence either way.
Derived automatically from paths, manifests and frontmatter. Not tested on each agent.