# Vibe Knowledge Film

抖音「Vibe知识大赏」式的无旁白知识短片：2, 5 分钟、16:9、没有人声，观众读底部一行字幕，同时看屏上把这句话演出来。...

- Repository: https://github.com/HeyChengC/vibe-knowledge-film (888 stars)
- Category: Testing
- License: see repository
- Last updated: 2026-10-13
- Runs scripts: no, instructions only

## Install

Claude Code: `npx skills add HeyChengC/vibe-knowledge-film --skill vibe-knowledge-film -g -a claude-code -y`
Codex: `npx skills add HeyChengC/vibe-knowledge-film --skill vibe-knowledge-film -g -a codex -y`
Cursor: `npx skills add HeyChengC/vibe-knowledge-film --skill vibe-knowledge-film -g -a cursor -y`
Gemini CLI: `npx skills add HeyChengC/vibe-knowledge-film --skill vibe-knowledge-film -g -a gemini-cli -y`

## Description

抖音「Vibe知识大赏」式的无旁白知识短片：2, 5 分钟、16:9、没有人声，观众读底部一行字幕，同时看屏上把这句话演出来。 核心是讲解设计：给每个概念找一个外行认得的形象，画得像它本身（不用点、线、圈代替），句子里说到什么屏上就是什么、动词真的发生； 提问、命名、结论不硬配图。全片由代码逐帧画出（Canvas + seek(t) + Playwright + ffmpeg）。 内含四条参考片的逐句拆解、六种画法、找形象的方法、分镜表格式、两套外观、渲染引擎和合成配乐。 用户说"做一条 vibe 知识大赏的视频""像《信息论·惊奇之学》《运气的形状》《超常刺激》《自指》那样的片子""代码直出的知识短片""没有旁白的字幕科普片""把这个概念直观地讲清楚"， 或者给了一个题目、一份文案要做成这种片子时使用。只做 16:9 横屏。有人声口播的讲解片不用这个。

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

# Vibe 知识短片

一种没有旁白的知识短片：观众读底部的一行字幕，同时看屏上把这句话**演出来**。

做这种片子的人是科普作者兼导演。色、字、辉光、片名卡都是皮；片子好不好，看的是观众能不能一眼认出屏上的东西、看见它在变、看完讲得出"因为……所以……"。

## 配图不是讲解

这个 skill 做过一条失败的《折叠》（讲蛋白质和 AlphaFold）：全片的主体是一串星点连成的折线。
字幕说"只换掉第 6 个，形状就变了，这就是镰刀型贫血"，折线换了个卷法、变成玫红色。
颜色、字体、节奏都像参考片，可观众从头到尾没见过蛋白质是个什么东西、错一个字母到底坏在哪。
那串星点换给任何一段文案都成立, , 它是配图。

重做以后，同一段内容是：镜头从血管里的红细胞钻进去，找到一串珠子；第 6 颗变了色；拉出来，细胞弯成了镰刀；
再钻进去，珠串卷成一团抓住氧分子；变色的那颗在表面成了黏点；一团粘一团连成长杆；长杆从里面把细胞顶弯。
两版的对照图是 `examples/fold_old_vs_new.jpg`，重做的成片在 `examples/fold_C/`。

**动手前先读 `references/visualization.md`。** 四条参考片逐句的"文案 → 屏上是什么 → 观众为什么懂"、六种画法、什么时候不画、
怎么给概念找形象、分镜表怎么写，都在那里。本文件只是流程。

交付物：一个工程目录（`storyboard.md` 分镜表 + `film.js` + 渲染出的 `renders/final.mp4`），加上事实表。

## 八条规矩

1. **先找形象，再写文案。** 每个概念先找到一样外行认得的东西来演它；句子里要有屏上看得见的东西和动作。画不出来的句子，改句子。
2. **屏上的主体叫得出日常名字，而且长得像它本身。** 一串有光泽的珠子、一个中间凹下去的红细胞、一条带刻度的数轴、一句古诗。
   点、线、圈、柱子、方框不算；一个圆圈加一个标签也不算。
3. **句子里的动词，屏上真的做。** "砍掉一半"就盖住一半，"粘住"就真的卡上去。数是算出来的；示意的地方写明"示意"。
4. **先例子，后道理。** 名字、公式、结论，排在观众看过例子之后。开头十秒让观众看见一件事或者自己试一下，然后才是片名。
5. **该画的画，该停的停。** 提问、命名、结论、引文、出处，不配新画面, , 参考片里大约每五句有一句是这样。
6. **一个世界、一把尺子、几样道具用到底。** 一个场景撑两句以上，每句只改一处；结尾回到开头的画面。
7. **没有人声，外观统一，画面现写。** 文案就是字幕，每句一眼读完；一条片一套色、字、画法，每种颜色全片一个意思。画面和代码是为这份文案现写的，不套模板，不搬别的片子里的东西。
8. **每个事实带出处。** 年份、人名、数字上屏；不加水印，不加署名。

## 改到自己满意为止

第一次渲出来的画面几乎都有毛病。这种片子是看着图改出来的，不是写完代码就完了的, , `fold_C` 那 33 秒改了三轮才成片。

- **每做完一镜就截图看。** `--sheet` 看全局，`--stills` 看原尺寸，`--motion` 看转场。看的是图，不是代码。
- **看的时候当自己是第一次看的观众。** 遮住字幕和小字过三问：这是什么 / 它在干什么 / 我明白了什么。答得含糊就是没做好。
- **对着 `references/visualization.md` 第八节的表逐条查**：主体够不够大、认不认得出、发不发白、小字压没压在东西上、字幕区干不干净、转场说不说得清。
- **至少改两轮再给用户看。** 每一轮：把看到的毛病列出来 → 改 → 重截同样的时刻 → 确认改掉了、没改坏别的。还有毛病就接着改，不要带着自己都看得出的毛病交片。
- **拿参考片当尺子。** 把自己的静帧和 `examples/` 里的 look 图并排放，再对照 `references/visualization.md` 第八节的表。差一截，就还没做完。
- **交片时说实话。** 还不满意的地方、没做的东西、没完整看过的部分，直接列出来。

力气不多的时候（时间紧，或者想得不深），照下面做，质量也守得住：

The rest: https://github.com/HeyChengC/vibe-knowledge-film/blob/HEAD//SKILL.md
