Individual skill

notebook-video

Turn a topic into a Chinese 16:9 teaching video (flat / cel component themes, or the journal / papercut / archive hand-made skins driven by a metaphor-first director layer) with React, TypeScript and Remotion. Every shot fuses up to three layers: code-drawn components (consoles, diffs, checklists, stat rows, charts), a skin-matched line drawing of the thing being explained (30 built-in sketches, seven verbs), and hand annotations (circle / underline / arrow / note) that connect the two; an engine-level virtual camera frames it without cropping the sketch. Eight recipes let a weak model fill content only. Weak-model friendly: five teaching blueprints with per-shot component picks, golden examples, a five-step workflow and one cross-platform command (`node scripts/make-video.mjs <project>`, `make-video.cmd` on Windows) that resolves shots, runs hard gates with objective auto-fixes (no clipped titles, font floor, text contrast, ≤16-character captions at 4.5 chars/s, no dead tails, blurry-media check) and renders stills or the MP4. Tuned semantic sound effects land on the visual hit; no BGM by default. Every topic first searches Wikimedia Commons / Openverse for licence-filtered real media with automatic on-screen credits. TTS narration (edge-tts or your own recording) drives caption and shot timing; no image-generation model. Use when the user asks to 做科普视频, 讲解视频, 概念讲解, 代码讲解, 数据对比视频, 流程讲解, 踩坑提醒, 产品讲解, 30 秒到数分钟的中文讲解短片, 或把一段文字讲解做成 MP4.

SKILL.md

Read pinned source

Source commit 839813d99bcf9a23cacdf74504a05e92e0bb090c

What was checked

Matches the observed repository HEAD
Yes
Scanner rules are current
No
Repository scan complete
No
Skill scan complete
No
Observed behavior
Not checked yet
Last checked
Nov 6, 2026

These are observations at the recorded commit, not a guarantee of safety. Review the source before running it.

Install this skill

Choose an agent in your Stack or copy a command below. Commands fetch the pinned commit and copy only this skill directory. Existing destinations are refused. Copying a command does not install anything.

An install command is unavailable: current rules, complete repository and skill scans, an eligible behavior level and a permitted license are required.

Repository context

Repository stars (not skill ratings)
10
Repository last updated
Nov 4, 2026
License
Apache-2.0

Observed agent integration: No specific integration evidence. Standard SKILL.md installation does not imply verified compatibility.

Files and excerpt

File metadata and permitted, redacted excerpts come from the recorded scan. Source links are pinned to that commit.

Browse files
Read excerpt

# notebook-video · 讲清一件事:组件 + 线稿 + 讲解

画面 = **三层融合**(每镜至少两层):**组件层**给信息(控制台、代码差异、清单、数字行、柱条、结论条……),**线稿层**让观众认出「在讲什么东西」(30 个内置简笔线稿,跟着皮肤墨色),**讲解层**把两者连起来(手绘圈注 / 下划线 / 引线 / 手写小字)。
含线稿镜头占片长 30–60%,纯组件镜头 ≤30%,纯文字镜头 ≤10%(锤子帧除外);主题里的那个东西全片至少出现一次,否则 `validate-fusion` 判 P0。配方见 [references/recipes.md](references/recipes.md),线稿写法见 [references/linework.md](references/linework.md)。

组件仍然是信息的主体:每一镜都要有真组件(控制台、代码差异、清单、数字行、漏斗、进度环、印章、结论条……),
由引擎虚拟摄影机推近 / 跟随 / 横摇。**常规镜头不要做满屏大字的「文字页」**——一句话也要放进卡片(`Callout` / `StampBanner`)里;
例外是每片 2–3 个**锤子帧**(整章最该被记住的一句,满屏单独出现 1.5–2.5 秒),规则见 [references/pacing-rhythm.md](references/pacing-rhythm.md)。
锤子帧怎么做:组件路线用 `StampBanner`(或 `Callout` 放大到 displayL)独占一镜;手作路线用 `HandLettering` 手写满屏一句,或 `Seal` 印章大字——都放在媒介里,不是白底大字。
只有 16:9;五个皮肤:`flat`(默认)、`cel`,以及 3.3.0 的手作皮肤 `journal`(手账水彩)/ `papercut`(红色剪纸)/ `archive`(档案灯台)。
TTS 是正式步骤:`notebook-video tts <工程>`(默认 edge-tts;也可 `--engine=file` 用你自己的录音),字幕与镜头按**词级时间**对齐;没有真实旁白时 `--render` 会停在渲染前(静音占位只给 `--stills` / `preview`)。默认无 BGM,音效稀疏。

## 先选路线