Stacked Data Cards logo

Stacked Data Cards

CommunityPopular
Unclecheng-li
stacked-data-cards

生成「叠放式数据论点卡」自动播放动画的单文件 HTML:白色论点卡从底部依次弹入居中,旧卡向左叠成牌堆,卡内数据组件(折线描边、数字滚动、环形仪表、对比条、数据表格、图标卡组)按毫秒级时间线级联入场,整段时长对齐口播/旁白秒数,录屏即成片。适合视频中的数据论证、研究结论展示、观点陈列、反直觉点揭示等场景。

Overview

PublisherUnclecheng-li
RepositoryAI_Animation
Skill namestacked-data-cards
Stars
1.3K
Forks
104
Bundled files
7
LicenseMIT
Links
  • Markdown instructions

    A SKILL.md file the model loads on demand, so it only costs tokens when a request actually matches.

  • Works with any LLM

    AI skills are plain Markdown, not provider-specific code, so this works with GPT, Claude, Gemini, Grok, or a local model.

  • 7 bundled files

    Scripts, templates, and references the model can read while it works. Files are read-only and never executed.

  • Open source

    Published by Unclecheng-li on GitHub. Read the source before you install it.

Installation

Install the Stacked Data Cards AI skill in TypingMind to use it with any LLM, or drop it into another agent that reads SKILL.md.

1

Install in TypingMind

TypingMind installs a skill straight from its GitHub folder — it reads SKILL.md, bundles the resource files, and stores the result locally.

  1. Open the app and go to Plugins → Skills.
  2. Choose "Install from GitHub".
  3. Paste the skill folder URL below and confirm.
  4. Enable the skill in any chat where you want it available.
Plugins → Skills → Add skill → From GitHub URL, then paste the folder URL and press Continue.
2

Install in another agent

Any agent that reads the Agent Skills format can use this skill — copy the folder into that agent's skills directory.

Claude Code — .claude/skills
git clone --depth 1 https://github.com/Unclecheng-li/AI_Animation.git /tmp/AI_Animation
mkdir -p .claude/skills
cp -r /tmp/AI_Animation/skills/stacked-data-cards .claude/skills/stacked-data-cards
Restart Claude Code after copying so it picks up the new skill.

Use it in TypingMind

Enable Stacked Data Cards in any TypingMind chat and the model takes it from there. Its name and description sit in the system prompt, and the moment a request matches, the model loads the full instructions itself — you never invoke it by hand, and it costs no tokens until it is actually used.

The model loads Stacked Data Cards on its own as soon as a request matches it.

Works with any AI model

AI skills are plain Markdown instructions rather than provider-specific code, so Stacked Data Cards is not tied to the model it was written for. Install it once in TypingMind and use it with GPT-5, Claude, Gemini, Grok, DeepSeek, Mistral, Llama, or a local model you run yourself — all on your own API keys.

  • Loaded only when it is needed

    The system prompt carries just the name and description. The instructions are fetched on the first matching request, so an idle skill costs nothing.

  • Switch models mid-chat

    Because the skill is instructions rather than code, changing model does not break it — the next model reads the same SKILL.md.

Skill instructions

This is the SKILL.md content the model loads. Read it before installing — a skill is instructions your model will follow.

Stacked Data Cards Skill

你是什么

你是一个专门生成叠放式数据论点卡自动播放动画的专家。每次被激活,你会根据用户给出的论点/数据材料,生成一个完整的单文件 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 — 规划卡片与时间线

为每张卡规划内容结构:

yaml
卡片:
  序号: "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
  • 色彩全部走 :root CSS 变量:--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)(弹性弹出)

三态切换(必须精确实现):

css
.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-child transition-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. 每张卡最后一个动画的结束时刻 < 该卡切换时刻 - 1.5s(留足阅读时间)
  2. 叠放卡的 --stack-i 从 0 开始递增(越新的叠卡越靠前)
  3. 所有 count-up 元素初始文本为目标格式下的 0 值(防闪烁)
  4. 时间线总时长 = 各卡驻留时长之和(+ 可选退场 1s),与口播对齐
  5. 输出:文件路径、卡片数、时间线总时长、主题色

参考示例

  • 起步骨架: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

Bundled files

The model reads these on demand while the skill is loaded. They are exposed as readable files and are never executed.

Frequently asked questions

What does the Stacked Data Cards AI skill do?

生成「叠放式数据论点卡」自动播放动画的单文件 HTML:白色论点卡从底部依次弹入居中,旧卡向左叠成牌堆,卡内数据组件(折线描边、数字滚动、环形仪表、对比条、数据表格、图标卡组)按毫秒级时间线级联入场,整段时长对齐口播/旁白秒数,录屏即成片。适合视频中的数据论证、研究结论展示、观点陈列、反直觉点揭示等场景。

Why use Stacked Data Cards on TypingMind?

Because you install it once and use it with any model. Stacked Data Cards is plain Markdown rather than provider-specific code, so the same skill runs on GPT-5, Claude, Gemini, Grok, or a local model — and you can switch model mid-chat without it breaking. TypingMind runs on your own API keys, so you pay providers directly instead of a per-seat subscription, and your skills and chats stay in your own storage.

How do I install Stacked Data Cards in TypingMind?

Open Plugins → Skills → Install from GitHub in TypingMind and paste https://github.com/Unclecheng-li/AI_Animation/tree/master/skills/stacked-data-cards. TypingMind reads its SKILL.md and bundles its files and installs it as a skill you can enable per chat.

Which AI models can use Stacked Data Cards?

Any model you connect in TypingMind. AI skills are plain Markdown instructions rather than provider-specific code, so GPT, Claude, Gemini, Grok, and local models can all load this skill when a request matches it.

How many AI models can I use with Stacked Data Cards?

As many as you like. As long as a model supports skills, you can use Stacked Data Cards with it — GPT, Claude, Gemini, Grok, DeepSeek, Mistral, Llama and more — all on TypingMind with your own API keys.

Is the Stacked Data Cards AI skill free?

Yes. It is published on GitHub by Unclecheng-li under the MIT license. You only pay your own AI provider for the tokens you use.

What are AI skills?

An AI skill is a reusable instruction bundle that teaches an AI model how to do one specific task. It follows the open Agent Skills format: a SKILL.md file with a name and description, plus any scripts, templates or reference files the model may need. The model reads the instructions only when your request matches the skill, so an installed skill costs nothing until it is used.

How are AI skills different from plugins or MCP servers?

A plugin or MCP server gives a model new tools to call — code that runs somewhere and returns a result. An AI skill gives the model knowledge and process instead: how to approach a task, which steps to follow, what good output looks like. Skills are plain Markdown, so they need no server, no API key and no runtime, and they work with any model.

View all

Set up your own AI workspace now

Get notified about new features and future giveaways by subscribing to our newsletter 👇