hyperframes-teaching-video
Create, revise, render, package, and prepare publishing for Chinese HyperFrames videos of many kinds, including teaching videos, explainers, product demos, workflow breakdowns, case studies, showcase videos, social posts, and general narrated visual videos. Use for HyperFrames HTML video composition, synced narration, Doubao/Volcano or Edge TTS voice generation, large single-line subtitles, Apple-style or user-specified visual direction, thumbnail or cover generation, real MP4 verification, social platform draft assets, pacing fixes, animation enrichment, transition repair, or when the user says to use HyperFrames instead of Web Video Engineer or web-video-presentation.
1How It Works & Mechanism
Designate HyperFrames as the sole production interface for Chinese narrated videos (not limited to tutorials) and explicitly forbid using the legacy web-video-presentation path, unless the user specifically requests a click-driven web demo.
Use HyperFrames as the primary production surface for Chinese narrated videos, not only teaching videos. … Do not use the old Web Video Engineer / `web-video-presentation` implementation path unless the user explicitly asks for a click-driven webpage presentation.
Default to an Apple Keynote / macOS visual style and a conversational tone, strictly banning formulaic hooks (e.g., 'In the AI era, stop...') and audience-exposed internal tags (s03, directory names).
Use Apple Keynote / macOS style unless the user gives a stronger reference … Avoid starting with formulaic lines like "AI 时代,别再...".
Write the narration before animating, strictly referencing references/CODE-GARDEN-VOICEOVER.md; start by defining a single positioning statement in DESIGN.md before writing.
For narration drafting or rewriting, read `references/CODE-GARDEN-VOICEOVER.md` first. … Before writing the script, write a one-sentence **positioning statement** in `DESIGN.md`
Maintain a single sync manifest as the single source of truth: narration, subtitles, and scene start cues are derived from it rather than manually managing three separate arrays.
Keep one sync manifest as the source of truth for narration, subtitles, and scene starts.
Specify explicit TTS defaults: Doubao/Volcano seed-tts-2.0 + zh_male_liufei_uranus_bigtts + speech_rate=20; provide Edge TTS as a fallback with male/female voice options and a +20% speech rate recommendation.
In `/Users/d2/project/web vidio` projects, default to Doubao / Volcano `seed-tts-2.0`, voice `zh_male_liufei_uranus_bigtts`, and `speech_rate=20` unless the user says otherwise. … Recommended Edge TTS defaults for Chinese: voice `zh-CN-YunxiNeural` for a male presenter voice, or `zh-CN-XiaoxiaoNeural` for a female presenter voice; rate `+20%` unless the user requests a slower or faster delivery.
Durations must be measured from actual audio: once audio files exist, estimating via character count, Edge TTS word-boundary metadata, or narration text is prohibited; require ffprobe verification before backfilling durations and cue timings.
Do not estimate timing from character count, Edge TTS word-boundary metadata, or narration text alone when audio files exist.
Detail subtitle specifications down to pixels and line counts: ~66-72px Chinese characters, strong contrast or drop shadows, default centered bottom plain text (no 'Voiceover:' labels, no large backing plates), keeping visible subtitles strictly single-line.
Keep visible subtitles to one line. … Use roughly 66-72px Chinese text for burned-in HyperFrames subtitles, strong contrast or shadow, and enough bottom margin to avoid covering the scene focus.
Adhere strictly to the HyperFrames implementation contract from ecosystem conventions: root element carries data-duration, audio uses native <audio> tags, window.__timelines registers paused GSAP timelines, animations are deterministic, and transitions default to soft cross-fades.
Register a paused GSAP timeline in `window.__timelines` and build deterministic animation.
Rely strictly on real artifacts for validation: npm run check (or hyperframes lint/inspect), ffprobe verification of actual duration after rendering MP4, and ffmpeg contact sheet extraction for item-by-item visual review.
ffprobe -v error -show_entries format=duration,size -of json renders/final.mp4
Enforce a safety latch on publishing drafts: automated browser workflows may prepare drafts and verify fields, but final submission must not be clicked without user confirmation of platform, account, title copy, tags, MP4, and cover asset.
When using a live browser to upload to social platforms, prepare drafts and verify fields, but do not click the final publish/submit button until the user confirms
2Core Capabilities
3External Dependencies
| Kind | Dependency / Endpoint |
|---|---|
| cli | HyperFrames CLI(lint / inspect;渲染经项目 npm run render 或 npx hyperframes) |
| cli | ffprobe / ffmpeg(真实时长核对、抽接触表) |
| api | Doubao / Volcano 语音合成(seed-tts-2.0,需凭证;本 skill 未自带客户端,走项目 TTS 脚本) |
| cli | Edge TTS(免豆包 key,但需网络与 edge-tts CLI/Python 包) |
| network | 社交平台网页(用真实浏览器准备发布草稿,需用户确认后才提交) |
| reference | 口播写作参考(随包分发):references/CODE-GARDEN-VOICEOVER.md |
4Recommended Governance & Evidence
- scripts/: Local script or command execution: (No scripts, templates, or executable code exist directly within this skill directory)
- 网络端点: Declared external network access: Speech synthesis: Doubao / Volcano TTS (credentials held by the project TTS script) or Edge TTS (requires internet connectivity, keyless alternative to Doubao)
- 本地工作目录: File I/O and artifact output: Within the project: DESIGN.md (including positioning statement and selected TTS provider/voice/speech rate), assets/sync-script.json and generated narrati
5Second-Pass Verification
- [ok] 本 skill 是否夹带脚本/凭证读取(档位下限依据) — find 目录只返回 SKILL.md、references/CODE-GARDEN-VOICEOVER.md、agents/openai.yaml;grep 无 process.env / fetch / curl 调用点。所有外部能力都以「指示」形式出现,由项目侧脚本或宿主 CLI 执行。
- [ok] TTS 外部依赖与凭证是否真实存在(橙档依据) — SKILL.md 原文给出 Doubao/Volcano seed-tts-2.0 + zh_male_liufei_uranus_bigtts + speech_rate=20 的项目默认,并写 'Edge TTS does not require the Doubao API key, but it still needs network access and the `edge-tts` CLI or Python package installed.' 即既确认凭证类后端存在,也确认有免 key 备选。
- [ok] 社交平台动作是否越界(是否会自动发布) — 原文 'When using a live browser to upload to social platforms, prepare drafts and verify fields, but do not click the final publish/submit button until the user confirms the exact platform, account, title/copy/tags, MP4, and cover.' 明确把最终提交留给人工确认,属安全阀而非绕过。
- [discrepancy] 文档里写死的本机路径对其他使用者意味着什么 — [判定:私有前提,非缺陷]SKILL.md 写 'In `/Users/d2/project/web vidio` projects, default to Doubao / Volcano `seed-tts-2.0` …'——该默认值绑定作者本机目录;在别处使用需替换为本地路径/项目约定,否则「默认音色语速」这一段不适用(不是安全风险,但是可见的可移植性问题)。
- [ok] 字幕/时长是否真以实测音频为准(避免估算冒充) — SKILL.md 明写 'Do not estimate timing from character count, Edge TTS word-boundary metadata, or narration text alone when audio files exist.' 并要求对每段或最终音频跑 ffprobe、由真实时长重生成 sync-map.js;缺依赖时要求报阻断而不是静默换提供方或换慢速默认值。
- [ok] 仓库级验证/提交指示是否真在文档中(工程侧影响) — SKILL.md 末尾 'If the target is inside a git repository, inspect the diff, run verification, and commit the task-related changes unless there is no change, no repository, or a real blocker.'——即 skill 会指示 agent 做 git 提交;已在 file_writes 与 risks 中标注,供使用者知情。
6Verdict & Scenarios
4d726d1ecfb6c878…