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/phone-ui-demosWrote 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/phone-ui-demos)<a href="https://agentmods.dev/skills/unclecheng-li/ai_animation/phone-ui-demos"><img src="https://agentmods.dev/badge/skills/unclecheng-li/ai_animation/phone-ui-demos/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/phone-ui-demos"><img src="https://agentmods.dev/badge/skills/unclecheng-li/ai_animation/phone-ui-demos.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector pass
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.00194 | $0.01922 |
| Opus 5 | $0.00097 | $0.00961 |
| Sonnet 5 | $0.00039 | $0.00384 |
| Haiku 4.5 | $0.00019 | $0.00192 |
Grade A, and why
phone-ui-demos 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 11d 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 — 72 lines — stays where its author put it; the contents beside it link to each section on GitHub.
手机系统 UI 演示动画(一台"真手机"的电影化录屏)
把任意内容做成一辑看起来像真手机精心编排录屏的网页动画:1920×1080 舞台中央一台 3D 姿态活灵活现的手机,内容通过锁屏通知、聊天、设置页、控制中心、App 界面等系统组件逐镜头呈现。整辑接入电影化播放器(黑场起手 / 虚拟时钟 / 分段进度跳转 / 静音开关),可直接全屏录屏当成片用。
与 video-shot-demos(分镜风格轮换体系)同源的播放器底盘,但本 Skill 的画面法则完全不同:不是 29 种风格轮换,而是全系列统一一套 HyperOS/MIUI 设计语言,靠"壁纸渐变 + 系统场景 + 手机 3D 动作"制造镜头差异。
创作哲学(决定一切产出质量)
- 一切信息都要变成"手机里发生的事"。禁止把普通网页元素(普通段落/按钮/导航栏)铺进屏幕——论点变锁屏通知、对话变聊天气泡、数据变圆环滑条、流程变设置列表。像真录屏,不是 PPT。
- 真机感来自细节:机身侧键与天线带、挖孔摄像头、屏幕反光、实时状态栏、Home 指示条、壁纸视差。观众潜意识里信了这台手机,演示才有说服力。
- 手机是活的演员:有 3D 姿态(摇摆/前倾/横过来/旋走退场),点按会前倾、盖章会震动、强调会转向观众。一台静止的手机=一张截图。
- 镜头连续性是铁律:整辑统一背景氛围;除首镜头外手机直接在场(不重播登场动画),每镜初始姿态"接续上镜余韵"。
- 两侧大字幕是舞台的一部分:口播文案不放底部字幕条,而是放在背景层(手机图层下方)左右两侧,渐变文字 + 多种入场效果,大而有冲击力。
- 每个镜头只讲一件事:一句话 + 一个视觉主体,6–12 秒一次完整的系统交互。
工作流
第 0 步 · 理解输入与分镜表确认
通读用户素材(产品功能清单/大纲/口播稿/知识点),把内容拆成 5–9 个镜头(每个 6–12s),输出分镜表让用户确认后再动工:
镜头 | 时长 | 系统场景(锁屏/通知/聊天/设置/控制中心/弹窗/App页…) | 壁纸渐变主题 | 手机 3D 动作设计 | 承载的信息点
叙事弧参考(实测有效):锁屏开场(手机登场+通知)→ 核心交互(App 打开/对话/流程)→ 数据沉淀(仪表盘/图谱)→ 锁屏收尾(回顾+熄屏+品牌卡)。
第 1 步 · 逐页实现
从 assets/template.html 复制起步——内置全部底盘:虚拟时钟播放器、音效引擎(默认静音+喇叭开关)、1920×1080 舞台 + 统一氛围层、真手机(全细节)、phoneTo 3D 姿态系统、背景大字幕(两种效果示例)、HUD 分段进度 + 镜头跳转、镜头调度。然后只改画面层与 cue。
子系统规范按需读:
references/player-and-navigation.md— 播放器底盘 / HUD 分段跳转 / 静音开关 / 镜头间导航references/phone-stage.md— 手机解剖(机身细节/壁纸/状态栏)与 phoneTo 3D 姿态系统全部动作references/bg-captions.md— 背景层大字幕:11 种入场效果库 + 逐字拆字工具references/system-ui-patterns.md— 系统 UI 组件库(通知/聊天/设置/弹窗/App 打开转场…)+ 内容转译映射表 + 镜头连续性规则
写某种系统场景前,先读实例 assets/examples/kexue/ 里的对应镜头(成片级样板,双击 index.html 可运行)。cue 注释标注节拍(// 通知②:AI 出题),DUR = 规定时长 ±0.5s。
第 2 步 · 质检
无头截图(虚拟时钟可快进到任意毫秒):
node ../video-shot-demos/scripts/shot.js 页面.html 6000 _t6s.png
逐张检查:真机感(像录屏吗?)/ 重叠遮挡(两侧大字与手机、屏幕内元素)/ 中间态穿帮(玻璃面板后的孤儿元素)/ 连续性(本镜初始姿态是否接上镜结尾)/ 收尾定格。最后完整播一遍听音效节奏。
第 3 步 · index 总览
与正片同一设计语言的导航页:按幕分组卡片(编号/时长/标题/系统场景标签/壁纸色 glow),页脚标注快捷键与录屏指引。
交付标准(缺一即未完成)
- 黑场「启动播放」起手;1920×1080 舞台自适应;HUD 默认隐藏、底部唤出
- HUD 分段进度条(每镜头一段)可点击跳转;Space 暂停 / R 重播 / ←→ 切镜头
- 音效 WebAudio 合成、默认静音、HUD 喇叭开启
- 手机全细节:侧键/天线带/挖孔/反光/状态栏 SVG 图标/Home 条;壁纸视差 + Ken Burns
- 全系列统一背景氛围;每镜头独立壁纸渐变,实体颜色全系列锁定
- 首镜头手机 3D 登台;其余镜头手机直接在场、初始姿态接续上镜
- 每镜头 ≥2 次手机 3D 动作(摇摆/前倾/横转…);标志性 App 打开转场 ≥1 次
- 口播文案在背景层左右两侧:渐变文字、大字号、每镜换效果
- 屏幕内一切元素都是系统组件;图标全内联 SVG;无 emoji、无真实品牌商标
- 弹性入场 cubic-bezier(.34,1.56,.64,1);列表 stagger 60–80ms;毛玻璃层级 ≥2 层
- 无重叠遮挡、无中间态穿帮;结尾定格体面(收尾镜头熄屏 + 品牌卡)
- index.html 总览可逐页打开
What ships with it
15 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.
- assets/examples/kexue/index.html 12 KB
- assets/examples/kexue/shot-1.html 31 KB
- assets/examples/kexue/shot-2.html 40 KB
- assets/examples/kexue/shot-3.html 34 KB
- assets/examples/kexue/shot-4.html 37 KB
- assets/examples/kexue/shot-5.html 37 KB
- assets/examples/kexue/shot-6.html 41 KB
- assets/examples/kexue/shot-7.html 40 KB
- assets/examples/kexue/shot-8.html 32 KB
- assets/template.html 29 KB
- README.md 4.8 KB
- references/bg-captions.md 2.9 KB
- references/phone-stage.md 3.9 KB
- references/player-and-navigation.md 2.8 KB
- references/system-ui-patterns.md 5.0 KB
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.
- 11d ago First seen · 72 lines · 194 tokens per session scan A af043efed7ec
phone-ui-demos is a skill published in the GitHub repository Unclecheng-li/AI_Animation (1,265 stars, last pushed 11d ago), licensed MIT. It adds 194 tokens to every session and 1,922 once invoked, about $0.0010 per session on Opus 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-08-30.
Other skills, from other repositories
react-native-docs
Comprehensive React Native reference covering core components, APIs, styling, flexbox, navigation, networking, animations, platform-specific code, debugging, performance, TypeScript integration, Fast Refresh, environment setup, React fundamentals, running on devices, and the New Architecture (Fabric, JSI…
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.
pwa-builder
Professional PWA Builder skill. Build accessible, performance-tuned, responsive UI components with clean design standards.
ax-java-audio
Use when writing Java code with dev.axllm:ax for audio input/output, OpenAI Responses audio mapping, realtime event folding, and generated package audio examples.
axiom-media
Use when working with camera, photos, audio, haptics, ShazamKit, the user's Apple Music library, or Now Playing. Covers AVCaptureSession, PHPicker, PhotosPicker, AVFoundation, Core Haptics, audio recognition, MediaPlayer, CarPlay, MusicKit playback and library enumeration.
slides-grab-image
Image-native presentation pipeline usable in Codex and Claude Code. Generate whole-slide raster images one slide at a time with slides-grab image, passing the reference template page as --reference so the model copies the layout and style and only swaps the content. Use when visual fidelity to an existing template…