AI Animation Skills is a collection of agent instructions and templates for generating single-file HTML animations, including presentations, diagrams, protocol visualizations, phone interfaces, and video-style scenes. People use the skills with AI coding agents to create animated web pages from descriptions or templates. The catalogue entries are the collection's individual generation workflows.
Getting it into your agent
It runs from inside its repository, so the clone comes first — what it calls does not travel with the file alone.
git clone --depth 1 https://github.com/Unclecheng-li/AI_Animationnpx agentmods add skills/unclecheng-li/ai_animation/single-line-storyWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/unclecheng-li/ai_animation/single-line-story)<a href="https://agentmods.dev/skills/unclecheng-li/ai_animation/single-line-story"><img src="https://agentmods.dev/badge/skills/unclecheng-li/ai_animation/single-line-story/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/unclecheng-li/ai_animation/single-line-story"><img src="https://agentmods.dev/badge/skills/unclecheng-li/ai_animation/single-line-story.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00100 | $0.02179 |
| Opus 5.5 | $0.00040 | $0.00872 |
| Sonnet 5.5 | $0.00020 | $0.00436 |
| Haiku 4.5 | $0.00010 | $0.00218 |
Grade A, and why
plotbeat scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 16d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 129 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Plotbeat
Turn user-supplied data into a local HyperFrames composition. Start from a proven template, compile the data before playback, then use HyperFrames for timing, preview, validation, and rendering.
Require HyperFrames
Treat this as a fail-closed dependency gate. Before acquiring data, listing templates, scaffolding, editing, previewing, validating, or rendering:
-
Resolve and read the installed
hyperframesAI skill. -
If it is unavailable, stop and ask the user to install it with:
npx skills add heygen-com/hyperframes --all -
Do not approximate the missing skill from general knowledge, use Plotbeat as a standalone generator, or continue with only the HyperFrames npm CLI.
-
After the dependency is installed, resume through the
hyperframesskill, then use Plotbeat for the data-video template workflow.
Preserve the product boundary
- Treat HyperFrames as the composition and rendering engine.
- Start through the main
hyperframesskill and load itshyperframes-core,hyperframes-animation, andhyperframes-cliguidance as required. - Do not add a competing render loop, video encoder, scene scheduler, or standalone animation runtime.
- Keep the output editable as an ordinary HyperFrames HTML project.
- Use one paused, seek-safe timeline per scene. Derive visual state from timeline progress.
- Keep the bundled music as a separate local
<audio>element. Let HyperFrames own playback and use the registered GSAP timeline for volume fades; never callplay(),pause(), or setcurrentTimeyourself. - The bundled master covers the quick, standard, and deliberate presets (up to 56 seconds). For a longer exact duration, resolve or ingest a longer local BGM asset before previewing.
- Compile CSV or JSON into a frozen local
generated/data.js. Do not fetch live data during playback. - Do not use
requestAnimationFrame, timers, D3 transitions, or nondeterministic randomness as playback clocks.
Acquire the dataset
- Accept either a local
.csv/.jsonfile or a request to retrieve data from a named source, URL, public API, or authorized connector. - When retrieval is requested, fetch during preparation with the available connector, browser, API, or CLI. Do not make the user manually download a file when the agent can obtain it safely.
- Prefer first-party and authoritative sources. Clarify the metric, entities or geography, date range, and frequency only when ambiguity would materially change the story.
- Save the retrieved rows locally as CSV or JSON before scaffolding. Preserve the source URL or API name, query or filters, retrieval date, and material transformations; pass a concise citation through
--source. - Never invent missing observations or silently join incompatible series. State any interpolation, aggregation, filtering, or carry-forward policy.
- Fetch authenticated or private data only through access the user has authorized. Never expose credentials in the composition.
What ships with it
60 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
- _meta.json 291 B
- AGENTS.md 7.0 KB
- analytics.ts 889 B runs code
- AnalyticsEvents.tsx 887 B
- animated-map-finale.png 137 KB
- animated-map.gif 253 KB
- animated-map.mp4 464 KB
- apple-touch-icon.png 5.0 KB
- ARCHITECTURE.md 2.6 KB
- bar-chart-race.html 25 KB
- bar-race-finale.png 68 KB
- bar-race.gif 543 KB
- bar-race.mp4 566 KB
- BRIEF.md 1.1 KB
- build-catalog.mjs 1.9 KB runs code
- chatgpt-auth.ts 2.5 KB runs code
- checkbox.tsx 636 B
- ci.yml 988 B
- color-picker.tsx 698 B
- compiler-and-skill.test.mjs 16 KB runs code
- components.json 436 B
- CONTRIBUTING.md 1.0 KB
- CopyButton.tsx 2.8 KB
- data-contract.md 5.3 KB
- data.js 4.7 KB runs code
- dropdown-menu.tsx 1.6 KB
- ECOSYSTEM.md 3.6 KB
- eslint.config.mjs 1009 B runs code
- favicon-32x32.png 978 B
- favicon.png 7.6 KB
- favicon.svg 573 B
- frame.md 1.6 KB
- generate-demo-data.mjs 1.4 KB runs code
- globals.css 96 KB
- hosting.json 91 B
- hyperframes.json 355 B
- hyperframes.lock.json 109 B
- i18n.ts 32 KB runs code
- icon-192.png 5.4 KB
- icon-512.png 19 KB
- index.html 19 KB
- index.md 171 B
- index.motion.json 311 B
- index.ts 708 B runs code
- input.tsx 311 B
- kpi-dashboard-finale.png 124 KB
- kpi-dashboard.gif 747 KB
- kpi-dashboard.mp4 660 KB
- layout.tsx 5.3 KB
- LazyVideo.tsx 1.3 KB
- meta.json 101 B
- milestone-timeline-finale.png 114 KB
- milestone-timeline.gif 221 KB
- milestone-timeline.mp4 438 KB
- MotionSection.tsx 1.0 KB
- multi-line-finale.png 236 KB
- multi-line.gif 827 KB
- multi-line.mp4 751 KB
- multi-line.png 253 KB
- next-env.d.ts 189 B runs code
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 16d ago First seen · 129 lines · 100 tokens per session scan A e8ffec46bc0e
plotbeat is a skill published in the GitHub repository Unclecheng-li/AI_Animation (1,596 stars, last pushed 2d ago), licensed MIT. It adds 100 tokens to every session and 2,179 once invoked, about $0.0004 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-10-06.
Other skills, from other repositories
fund-holding-viewer
A deployment guide for a Chinese fund-holdings analysis web app. It covers running the app on Alibaba Cloud ECS, a virtual server service, with HTTPS through either a subdomain or a path on an existing domain.
preline-mcp
Add, integrate, or build Preline UI components and blocks into HTML files via the Preline MCP server. Use when the user mentions "preline", says "/preline", asks to add a UI component, or requests a Preline block (a ready-made page section) using Preline UI.
preline-theme-generator
Generate, preview, save, or validate Preline theme CSS using the bundled local generator in this skill. Use when the user asks to create a new Preline theme, match a brand color, translate a mood into a theme, generate light and dark theme CSS, preview theme output without writing files, or review and fix generated…
phaser3-engineer
!cat skills/shared/game-visual-foundations.md 2>/dev/null || echo "=== Visual Foundations not loaded ===" !cat skills/shared/protocols/ux-protocol.md 2>/dev/null || true !cat skills/shared/protocols/input-validation.md 2>/dev/null || true !cat skills/shared/protocols/tool-efficiency.md 2>/dev/null || true !cat…
Biome
Biome 2.x — fast all-in-one web toolchain in Rust. Formats, lints, assists. Replaces Prettier + ESLint.
prettier-docs
Prettier 3.9.5 — opinionated code formatter. CLI, API, config, plugins, editor integration, CI.