Agent Skills › andyhuo520/vibe-knowledge › vibe-knowledge

vibe-knowledge

GitHub

Vibe知识大赏技能,将知识点转化为含旁白、出处及视听特效的精品知识短片。支持多风格母版、双档制作及自动化BGM适配,严格遵循视觉与叙事规范。

skills/vibe-knowledge/SKILL.md andyhuo520/vibe-knowledge

Trigger Scenarios

用户请求生成知识科普短视频 需要为特定选题推荐视频风格 调用脚本进行视频成片或风格图鉴生成

Install

npx skills add andyhuo520/vibe-knowledge --skill vibe-knowledge -g -y
More Options

Use without installing

npx skills use andyhuo520/vibe-knowledge@vibe-knowledge

指定 Agent (Claude Code)

npx skills add andyhuo520/vibe-knowledge --skill vibe-knowledge -a claude-code -g -y

安装 repo 全部 skill

npx skills add andyhuo520/vibe-knowledge --all -g -y

预览 repo 内 skill

npx skills add andyhuo520/vibe-knowledge --list

SKILL.md

Frontmatter
{
    "name": "vibe-knowledge",
    "description": "「Vibe知识大赏」精品知识短片工作室:一个知识点 → 一条 45 秒~5 分钟、有旁白、每句有出处的精品知识短片(抖音"
}

Vibe知识大赏 · 精品知识短片工作室

一期 = 一个知识点 → 一条有旁白的精品短片(默认 16:9 1080p60)。时长由用户定:先按复杂度给四档建议(速览 / 精讲 / 标准 / 深挖),每档写清能讲多细、要砍什么(references/13-duration.md)。 引擎复用 ai-teardown 的 cine(旁白驱动的 seek(t) 代码成片),本 skill 加四样东西:6 种脚本母版(讲法)、风格库(长相 + 讲法,styles/,44 套 · 8 个家族已验证(每个家族至少 3 套) + 用户自己的风格)、知识片组件库 know.js、Renoise 增强层(图 / 视频 / 配乐 / 音效)。

一期 = 母版 × 风格 × 手法(≤2)× 档位。风格分 8 个家族:东方、暗场概念、明亮流行、印刷与纸、图解与设计、剪辑与纪实、电影感、游戏;其中敦煌壁画、青花、木刻、半调拼贴、长卷、铜版博物是增强档风格(每段约 2 张生图)。风格可以用库里的、改成自己的、或从空白做(references/09-style-studio.md)。

两档制作(references/08-tiers.md):

  • 基础档 · 0 积分:Opus 手写 SVG 分层插画 + 粒子 / 3D + 数据组件,小米 MiMo 配音(限免),默认 BGM(见下),earshot 代码音效(references/10-earshot.md,两档通用)。
  • 增强档 · 按镜头挑:只把代码做不好的镜头(写实场景、最需要被记住的 1–3 个时刻、真实运动)交给 Renoise,其余照样代码。轻 ≈25–40 / 标准 ≈250–300 / 旗舰 ≈600–700 积分,每次先报价再生成。
  • 同一份 film.js 两档通用(ENH 开关:plate/vclip ↔ layers)。

BGM(强制,2026-10-28 起,两档通用)

每条视频都必须有这首 BGM,音量统一(用户规定)。唯一例外:用户在对话里明确要求换曲——那条音乐写 bgm: true, user_request: "用户原话",它就当 BGM,vibe-bgm 让位,音量照样校准;没写原话的一律不认。强制在混音环节完成:finish.py 打了 bgm_force.py 钩子——film.js 没放 BGM 就自动按片长补上;其他 ≥20 秒的整段配乐(Lyria、曲库)一律停用;BGM 音量不看 film.js 写的 gain,统一校准到「说话时比人声低 10 dB」(用户要求音量高一点;停顿处自动抬起约 2–4 dB),gain_curve 只保留起伏形状。qa.py 会检测成片里有没有这首 BGM,没有就报 ⚠⚠,不能交付。

所有知识大赏默认用同一首 BGM:assets/music/vibe-bgm.m4a(用户指定,112.9 BPM,160 秒,节拍网格在同名 .json)。配音定稿后一条命令按片长裁好,切点都在小节线上,开头照原曲、结尾接原曲的自然淡出,片子更长时按 8 小节循环:

$CINE_PY ~/.claude/skills/vibe-knowledge/tools/fit_bgm.py $L/assets/audio/bgm.wav --lesson $L --tail 3   # 总长 = 旁白 + 尾卡
# 同时输出 bgm.beats.json(成片里每一拍 / 每一小节的秒数),film.js 想卡点就读它

film.js 里:music.push({ src: P("audio/bgm.wav"), from: 0, at: 0, dur: END + TAIL, gain_curve: [[0, -11], [END, -11], [END + TAIL, -8]], fade_in: 0.3, fade_out: 1.8 })(旁白段 finish.py 会自动再压低)。 不再生成 Lyria 整段配乐(生成了也会被强制停用);Renoise 只用来做短音效。

首次使用与风格推荐(先做这一步)

  • 首次使用(~/.vibe-knowledge/welcomed 不存在):先跑 python3 ~/.claude/skills/vibe-knowledge/tools/welcome.py,生成并打开本地「风格图鉴」(~/Desktop/vibe-knowledge/风格图鉴/index.html:风格快闪片、样片集、按家族分组的风格卡、三种开口方式、两档、流程),然后在对话里用 5–6 句话介绍:母版 × 风格 × 档位、8 个家族各举一两套、三种开口方式,最后问「想先做哪个选题?」。风格库更新后用 --force 重新生成。
  • 用户给了选题:先跑 python3 ~/.claude/skills/vibe-knowledge/tools/recommend.py "<选题>",拿到 3 套推荐后用 AskUserQuestion 问(推荐第一的排第一、标「(推荐)」、description 写理由和搭配母版;preview 写一句画面描述和风格图路径),同时用 SendUserFile 把 3 张风格图发给用户对照。用户点名了风格就跳过推荐。推荐到增强档风格时,在选项 description 里写明「需生图,约 8 积分/段」。
  • 风格目录的唯一来源是 styles/catalog.json(推荐、图鉴、快闪片都读它);加新风格时同步 catalog.json、STYLE.md、still.jpg。

核心主张(不能丢)

  1. 精品标准是硬门槛(references/02-premium.md):三层构图、没有静止超 3 秒的画面、每章一个「王炸」镜头(增强档 Renoise 动态镜头 / 基础档代码粒子、视差)、分层声音、整期一个视觉系统。
  2. 没出处不上屏:数字、人名、年份、引文全部进 facts.md;示意画面标明;分歧两说并列。
  3. 旁白讲故事,画面给关键词:画面字 ≤8 字一组、同屏最多两组;整句交给旁白和自动字幕。
  4. 先猜后讲、标题延后、一个主道具贯穿、结尾回问(母版共用规则,references/01-templates.md)。
  5. 旁白对位硬规则:没念到不露面、计数在念到时落定、强调有预算、最长静止 ≤3 秒(references/11-absorbed.md 第一节)。
  6. 能代码就代码,花积分先确认:Renoise 只补代码做不好的镜头;所有生成先列表报价,用户在对话里明确同意才提交(references/04-renoise.md、08-tiers.md)。配音用小米 MiMo(限免)。

工作区

python3 ~/.claude/skills/vibe-knowledge/tools/new_film.py <期号> --template A --title "本福特定律"
#   默认工作区 ~/Desktop/vibe-knowledge、系列 vk;第一次会自动建 cine 系列、装 know.js、给录制工具打补丁、放用户克隆音色
S=~/Desktop/vibe-knowledge/examples/vk; L=$S/lessons/<期号>

依赖:ai-teardown skill(cine 引擎、make_lesson 配音)、CINE_PY(numpy scipy pillow playwright 的 Python;本机是 /usr/local/bin/python3.12,跑之前 PYTHONPATH= 清空,否则会加载坏掉的 PIL)、MiMo 密钥 ~/.config/ai-teardown/mimo.env、Renoise MCP(只有增强档需要;缺的话按 references/04-renoise.md「接入 Renoise」一节引导,注册链接原样给 https://renoise.ai/mcp?utm_medium=xcom&utm_source=official )、ffmpeg、swiftc(OCR)。

流水线(三个确认点)

段 做什么 产出
① 选题 三问:能不能让人 3 秒内先猜 / 先选?有没有贯穿道具?有没有反转?给用户 3–5 个候选 + 推荐母版 选题
确认 1 用户选题、母版、时长(先跑 duration.py 按复杂度给四档,推荐档排第一;用户选的档跟复杂度差两级以上要提醒)、风格(库里的 / 我的 / 改一套 / 从空白,见 09-style-studio.md;推荐项排第一附风格图)、做哪一档(基础 / 增强轻 / 标准 / 旗舰)
② 查 事实清单(T1/T2/T3 分级、原文摘录、用在哪拍) facts.md
③ 写 按母版骨架写旁白(字数上限见骨架 _guide)→ 子 agent 对抗审查(钩子、出处、字数)→ 改 narration.json
④ 分镜 / 资产单 每拍画面分镜(标明哪些镜头代码做、哪些增强);增强档写 assets.json + estimate_cost 报价;基础档选曲 assets.json
确认 2 用户看旁白稿 + 分镜(+ 增强镜头清单和报价),明确同意后才生成
⑤ 生成 增强档:Renoise 先图 + 音效 → 用户挑图 → 视频(首帧用选中的图)→ 下载、改名、clip2frames。基础档跳过 assets/
⑥ 配音 + 配乐 先出 15–20 秒开场试听让用户定音色和语速 → tts_mimo.py --gap 0.2 → speed.py → check_timings.py → voice_post.py → fit_bgm.py 按片长裁默认 BGM build/timings.json、assets/audio/bgm.wav
⑦ 编 film.js(know.js 组件)→ stills.py 接触表逐张看(含动画中途帧) stills/
⑧ 渲 queue.sh(record → finish → deliver) 成片
⑨ 质检 qa.py 接触表 + OCR 回读对照 facts.md + 响度;接触表里整段画面不变 = 录制出事,重录 qa/
确认 3 用户看成片;改完出发布包,封面用 cover_first.py 接成开头帧 post.txt、封面

常用命令

cd ~/Desktop/vibe-knowledge; S=examples/vk; L=$S/lessons/<期号>
python3 scripts/tts_mimo.py $L/narration.json $L/build --gap 0.2 --lead 0.3 --qa --jobs 2 > $L/voice.log 2>&1   # 配音 + 逐字对齐 + 回读(拍间只留 0.2 秒,别用 make_lesson 默认的 0.8)
python3 scripts/speed.py $L 1.1                                        # 需要时整体提速,目标 5.5–6 字/秒
(cd $S && python3 tools/check_timings.py <期号>)                       # 对齐有没有断
python3 ~/.claude/skills/vibe-knowledge/tools/voice_post.py $L         # 人声后期(克隆音色定稿那条 EQ + 压缩)
python3 ~/.claude/skills/vibe-knowledge/tools/clip2frames.py $L/assets/clips/v01.mp4 $L/assets/clips/v01   # 视频拆帧 → 打印帧数
cd $S && $CINE_PY cine/tools/stills.py <期号> lessons/<期号>/stills/sheet.png 1 B01+1 B02.title B05.count+0.5 …
echo "<期号>|<片名>|<封面秒>" >> cine/queue.txt   # 只能追加!queue.txt 多会话共用
pgrep -f cine/tools/queue.sh || CINE_PY=$CINE_PY cine/tools/queue.sh   # 已有队列在跑就别再起第二个,否则两路录制写坏同一个 picture.mp4
python3 ~/.claude/skills/vibe-knowledge/tools/qa.py lessons/<期号>/build/lesson<期号>.mp4
python3 ~/.claude/skills/vibe-knowledge/tools/cover_first.py <成片.mp4> cover_16x9.jpg <交付.mp4>   # 封面接成开头帧(0.5 秒),每期交付必做

voice.log 里回读 <95% 的拍删掉 build/audio/<拍>.* 重配;专名用 lexicon 写读音。

参考文件

文件 内容
references/01-templates.md 6 种母版(有旁白版):每拍做什么、画面、对标作品
references/02-premium.md 精品标准:画面、声音、内容、交付规格(交付前逐条过)
references/03-visual-systems.md 5 套视觉系统 + Renoise 画风前缀 + 时代拼贴
references/04-renoise.md Renoise 增强层:单价、预算、流程、提示词写法、安全
references/05-publish.md 发布包:活动标题规则、话题、封面、简介、交付文件夹
references/06-benchmarks.md 对标作品数据与共性
references/07-kit.md know.js 组件 API
references/09-style-studio.md 风格工作室:四个入口、一题一问(推荐排第一 / 你定 / 自由对话)、三分法、汇总 → 风格图 → demo → 固化到 ~/vibe-knowledge-styles/
styles/INDEX.md 风格库目录:44 套按 8 个家族分组(每套 STYLE.md + still.jpg,样片源码 styles/_samples/)
references/13-duration.md 时长与拆解细腻度:五项复杂度打分、四档时长(字数 / 拍数 / 细腻度 / 能讲到 / 要砍掉)、推荐规则、不匹配提醒、封面停留时长
references/14-pitfalls.md 制作踩坑清单(按环节):渲染队列共用、AI 器物图结构错、配音对齐断、Wan 下载失败、CSS 清底色、AAC 峰值…
references/12-style-families.md 风格家族与扩充路线:为什么 7 套显得单薄、风格 × 手法两条轴、87 种 UI 风格的取舍表、从 promo-video 借了什么、增强档风格踩坑(MJ 画成器物、年代词带偏服饰、ESRGAN 分块错位、画布等解码、Vision 投影)
references/10-earshot.md earshot 代码音效(252 个,MIT,0 积分):安装、film.js 写法、知识片角色→音效对照表、对齐时机
references/11-absorbed.md 吸星大法:14 个开源同类项目的旁白对位规则、9 种解说语法、结构与发布技巧、质检流程、12 个新风格候选、Vox 纸拼贴做法、许可证边界
references/08-tiers.md 两档制作:基础档 0 积分怎么做到精品、增强档怎么挑镜头、预算、两档通用写法
templates/narration/A–F.json 6 个母版的旁白骨架(每拍字数上限、[[cue]])
templates/film.skeleton.js film.js 骨架(配乐、音效、冷开场、尾卡写法)
templates/facts.md / assets.json 事实清单、Renoise 资产清单模板
tools/ new_film.py、clip2frames.py、voice_post.py、qa.py(+ ocr.swift)、recommend.py(按选题推荐风格)、welcome.py(首次介绍图鉴)、style_reel.py(新风格样片集的时间轴 + 旁白)、vision_layers.swift(生图拆主体层 / 底层)、earshot_render.py / patch_earshot.py(代码音效)、fit_bgm.py(默认 BGM 按片长按小节裁剪 / 循环 + 节拍表)、cover_first.py(封面接成开头帧)、duration.py(按复杂度给时长建议);qa.py 现在会报 >3 秒的静止画面

cine 引擎本身的契约、组件、渲染队列、坑:~/.claude/skills/ai-teardown/references/10-cine.md(改引擎前必读)。

Version History

  • c3a13a8 Current 2026-11-07 08:54

Same Skill Collection

skills/ai-teardown/SKILL.md

Metadata

Files
0
Version
c3a13a8
Hash
572b94ce
Indexed
2026-11-07 08:54

trang chủ - Wiki
Copyright © 2011-2026 iteam. Current version is 2.156.0. UTC+08:00, 2026-11-08 10:01
浙ICP备14020137号-1