Stacked Data Cards Skill
SkillFiles & storageLets your agent generate a single-file HTML animation where data argument cards pop in and stack like a deck.
Then ask your AI: use the Stacked Data Cards Skill
Details
Instructions available. Your AI can read the instructions. Execution depends on the setup they require.
Account requirements not reviewed. Check the skill instructions before use; Ahel provides instructions and does not run this skill.
No other account needed.
Add it as a step in a pipeline you build on Ahel, or connect Ahel to Claude, ChatGPT, Cursor, Claude Code or Codex and ask your AI to use it.
About this skill
A single-file HTML that generates an auto-playing "stacked data argument cards" animation: white argument cards pop in one by one from the bottom and center, while older cards stack to the left into a pile. Data components inside the cards (line-chart stroke, number roll-up, ring gauge, comparison b
What this skill tells your AI
The instructions your AI receives, as published by unclecheng-li/ai_animation in skills/stacked-data-cards/SKILL.md and read by Ahel’s review.
你是什么
你是一个专门生成叠放式数据论点卡自动播放动画的专家。每次被激活,你会根据用户给出的论点/数据材料,生成一个完整的单文件 HTML:一个深色舞台中央,白色数据卡一张张从底部弹入;每当新卡弹入,旧卡向左侧叠放成逐渐缩小、倾斜的牌堆;每张卡内部是一组数据可视化组件,按毫秒级时间线依次入场。
核心视觉特征:
- 深色舞台 —
#0b0f19背景 + 主题色径向光晕,衬托白色大卡 - 三态卡片 —
upcoming(底部屏外待命)→active(弹入居中)→stacked(左叠成牌堆,缩小 + 旋转 + 降透明) - 序号徽章 — 卡面左上角超大半透明数字(01 / 02 / 03)
- 时间线自动播放 — 每张卡有固定驻留时长,对齐口播秒数,无需任何交互
- 数据组件级联入场 — 折线描边、数字滚动、环形仪表、对比条、表格行、图标卡按 stagger 延迟依次出现
与其他 Skill 的区别:
ppt-animation→ 手动翻页的 PPT,无时间线、无牌堆层叠card-theater→ 手动交互的 3D 卡片轮播 + 侧边栏解说,重探索而非自动叙事video-shot-demos→ 整辑分镜 + 播放器底盘的重量级方案;本 Skill 是其中一个"数据论证镜头"的轻量独立形态stacked-data-cards→ 单场景、自动播放、时长精确对齐口播,卡片即论点,数据即证据
支持的卡片内容类型
| 组件 | 说明 | 适用论点 |
|---|---|---|
| 折线对比图 | SVG 双线(趋势线 vs 水平线),trim-paths 描边入场 + 数据点弹性弹出 + 末端标注 | "A 飙升但 B 停滞"类趋势论证 |
| 大数字 + 环形仪表 | 超大渐变数字 count-up 滚动 + SVG 环形进度条 | 震撼比例数字(如 45%) |
| 对比条 | 双条横向填充对比(AI vs 人类 / 方案 A vs B) | 两方差距论证 |
| 数据表格 | 行依次淡入 + 单元格内迷你条形图 + 数值滚动 | 多维数据明细 |
| 图标卡组 | 3 栏图标卡弹入,配标题 + 描述 + 细节列表 | 并列的 N 个要点/陷阱 |
| 金句横幅 | 底部通栏色块弹入,承载一句结论 | 每卡收尾的观点句 |
| 角色小场景 | 头像 + 气泡 + 流程箭头 + 逻辑链,微型叙事 | 因果链、行为对比 |
| 角注 | 右下角 mono 字体数据来源标注 | 增强可信度 |
核心工作流
Step 1 — 确认参数
从用户输入中识别:主题、论点数量、时间预算。如不明确,询问:
- "这组内容有几个论点/卡片?(推荐 2~5 张,3 张最佳)"
- "整段对应口播多少秒?每张卡大约驻留几秒?"
- "主题色偏好?(默认橙红警示色
#ff5f3c,可选蓝#3b82f6/ 绿#10b981/ 紫#8b5cf6)" - "结尾需要整副牌堆滑出退场吗?(用于衔接下一镜头)"
如果信息充足,直接生成。 用户给了口播稿时,按口播句读自动分配每卡时长。
Step 2 — 规划卡片与时间线
为每张卡规划内容结构:
卡片:
序号: "01"
标题: "一句话论点(不超过 18 字)"
副标题: "补充说明(可选)"
主组件: "折线对比图 / 大数字+仪表 / 图标卡组 ..."
辅助组件: "数据表格 / 对比条 / 金句横幅 ..."
角注: "来源 · 样本量"
驻留时长: 7000ms
时间线规划铁律:
- 卡片在
T=0弹入,卡内组件在T+300ms起开始级联入场 - 卡内最后一个动画必须在驻留时长内完成,至少预留 1.5s 静止阅读时间
- 卡间切换间隔 = 当前卡驻留时长;建议 6~15s/卡
- 可选结尾:整副牌堆
translateX(-120vw)滑出 + 淡出(1s)
Step 3 — 生成标准
视觉规范:
- 舞台:
#0b0f19深色底 +radial-gradient主题色光晕(透明度 ≤0.12) - 卡片:
rgba(255,255,255,0.97)白底、圆角clamp(18px, 2.5vw, 28px)、大投影、宽min(92vw, 900~980px) - 字体:系统字体栈(
-apple-system, 'PingFang SC', 'Microsoft YaHei'),数字/角注用'SF Mono', 'JetBrains Mono', Consolas - 色彩全部走
:rootCSS 变量:--accent(主色)、--accent-light、--green(对照组/正面)、--muted、--text - 缓动:
--ease-out: cubic-bezier(0.16, 1, 0.3, 1)(入场)、--ease-elastic: cubic-bezier(0.34, 1.56, 0.64, 1)(弹性弹出)
三态切换(必须精确实现):
.card { transform: translate(-50%, 60vh) scale(0.82); opacity: 0; } /* upcoming */
.card.active { transform: translate(-50%, -50%) scale(1); opacity: 1; z-index: 10; }
.card.stacked { /* 第 i 张叠放卡: */
transform:
translate(calc(-110% - var(--stack-i, 0) * 22%), -50%)
scale(calc(0.76 - var(--stack-i, 0) * 0.07))
rotate(calc(-4deg - var(--stack-i, 0) * 5deg));
opacity: 0.72;
}
- 切换通过 JS
activate(index)统一改写 class 与--stack-i/z-index - transition:
transform 0.8s var(--ease-out), opacity 0.55s ease
卡内动画规范(必须包含至少 3 种):
- 数字滚动
count-up:ease-out cubic,支持data-target / data-prefix / data-suffix / data-decimals / data-delay / data-duration - 折线描边:
getTotalLength()初始化stroke-dasharray/offset,卡片激活后过渡到 0(1.2~1.6s);先强制重绘防止初帧闪完整线 - 条形填充:CSS 变量
--target-width驱动,transition: width 1s,配合.delay-1/2/3级联 - 表格行 / 图标卡:
nth-childtransition-delay 级联淡入(间隔 100~200ms) - 弹性元素(徽章、气泡、数据点):
scale(0)→scale(1)+var(--ease-elastic)
音效(可选):
- WebAudio 合成低音 thud(sine 80Hz→40Hz,0.35s 衰减),用于关键揭示时刻
- 必须 try/catch 静默失败(浏览器自动播放策略)
- 零音频文件
代码规范:
- 单文件 HTML,内联 CSS/JS,零外部依赖(无 CDN、无外部图片,除非用户明确提供)
- 代码量 400~900 行
- 时间线常量集中在
TIMING对象,单位毫秒,注释标注对应口播时间点 - 响应式断点:
760px(网格降单列、叠卡位移收紧)、520px(字号/间距收紧) - 图标全部内联 SVG
Step 4 — 检查点
生成完成后逐项自检并向用户报告:
- 每张卡最后一个动画的结束时刻 < 该卡切换时刻 - 1.5s(留足阅读时间)
- 叠放卡的
--stack-i从 0 开始递增(越新的叠卡越靠前) - 所有
count-up元素初始文本为目标格式下的 0 值(防闪烁) - 时间线总时长 = 各卡驻留时长之和(+ 可选退场 1s),与口播对齐
- 输出:文件路径、卡片数、时间线总时长、主题色
参考示例
- 起步骨架:
assets/template.html(3 卡标准骨架:折线卡 + 大数字卡 + 图标卡) - 成片实例 A:
assets/examples/scene-scaling-law-orange.html(橙红主题 · 表格/仪表/图标组 · CSS 级联驱动) - 成片实例 B:
assets/examples/scene-ai-code-security-blue.html(蓝紫主题 · 角色小场景/逻辑链 · JS reveal 驱动 · 含 thud 音效与整副退场) - Prompt 参考:
references/prompts.md - 组件规格:
references/components.md
Signals
- GitHub stars
- 1k
- Forks
- 111
- Last commit
- Oct 2026
Ahel review
K1binfo
installs-packages (in assets/examples/scene-ai-code-security-blue.html)
Automated review, not a security audit. Ruleset v1+k2.
Advanced
- Item type
- skill
- Key
stacked-data-cards- Source
- github.com/unclecheng-li/ai_animation
github.com/unclecheng-li/ai_animation
Related picks
Skill · thedaviddias
The pick for JavaScriptmodern-javascript-patterns
Skill · sickn33
The pick for JavaScriptcontent-without-css
Skill · thedaviddias
The pick for Csscss-grid-math
Skill · hashgraph-online
The pick for Cssian-xiaohei-svg-motion
Skill · pluviobyte
The pick for Svgpptx
Skill · anthropics
More in Files & storage