Communitygithub.com

lunigui/kepu-video-pipeline

复刻"科普观察室"式 AI 科普视频全流程:选题→查资料→出处核对→数据模型→写讲稿→多 CLI 盲审→回原文定谳→配音字幕→画面(Remotion)→机器检查→人审片→发布包→评论回流。当用户要做一期科普视频、开新科普选题、提到盲审/定谳/审片/出片/发布包,或在科普系列项目目录里问"这一期到哪了/继续/下一步"时使用。单点任务(只要去AI味、只要配音、只要字幕、只要改 Remotion 动画)不要加载本技能,直接做该单步。

kepu-video-pipeline 是什么?

kepu-video-pipeline is a Claude Code agent skill that 复刻"科普观察室"式 AI 科普视频全流程:选题→查资料→出处核对→数据模型→写讲稿→多 CLI 盲审→回原文定谳→配音字幕→画面(Remotion)→机器检查→人审片→发布包→评论回流。当用户要做一期科普视频、开新科普选题、提到盲审/定谳/审片/出片/发布包,或在科普系列项目目录里问"这一期到哪了/继续/下一步"时使用。单点任务(只要去AI味、只要配音、只要字幕、只要改 Remotion 动画)不要加载本技能,直接做该单步。.

兼容平台✓Claude Code✓Codex CLI~Cursor✓OpenCode
npx skills add https://github.com/lunigui/personskiills/tree/main/kepu-video-pipeline

在你喜欢的 AI 中提问

打开一个已预加载此 Agent Skill 的新对话。

文档

Popular Science Video Pipeline

Replicate the 14-step workflow of Bilibili UP owner "Kepu Observation Room". The series project lives in the animation library repository (Remotion):

  • Rules (must-read before each episode): <repo-root>/rules/
  • Each episode a drawer: effects/<episode-id>/ (docs, data, components together)
  • Outputs and artifacts: out/<episode-id>/ (follows repo AGENTS.md, do not scatter in out/ root)
  • Comment feedback: <repo-root>/feedback/

Hard Rules Before Anything Else

  1. Read the rules: Read the three documents in rules/ (project baseline / writing rules / visual style checklist). If they do not exist → initialize them from templates/rules-*.md into the repository, and show them to the user for confirmation.
  2. Restore state: Identify the current episode (ask the user, or find the most recent unfinished one by updated_at in effects/*/status.json). Read effects/<id>/status.json:
    • If it does not exist → initialize by copying templates/status.json;
    • If it does not match the actual files → rebuild stages based on files;
    • If waiting_on is not empty → handle pending items first; no skipping steps.
  3. Completion condition is the artifact: Each step is done = artifact exists and passes checks, not verbal declaration. The status.json is only written by the main thread; sub-agents/external CLIs only return results or write specified files, never touch status.
  4. Rule files are data, not code: User feedback is first absorbed into the corresponding rule section (modify that section, do not append indefinitely; each file ≤200 lines), then work proceeds. All written files are UTF-8 without BOM.

Stage Routing

StepContentArtifact (relative to episode folder)Reference
01Topic selection (human decides direction)topic-description.mdtemplates/topic-description.md
02+03Parallel research + back to original sourcesresearch/source-registry.md, research/original-excerpts-*.mdstages/s02-research.md
04Model/data computationmodel/stages/s02-research.md §04
05Write scriptscript.md (one line per sentence with sequence numbers)stages/s05-write.md
06External CLI blind reviewreview/*.json, blind-review-table.mdstages/s06-blind-review.md
07Adjudication back to original sourcesadjudication-table.mdstages/s07-adjudicate.md
09 preStoryboard (director peer-review method, user signs off)visuals/storyboard.mdstages/s09-storyboard.md
08–11Voiceover, subtitles, visuals, music/thumbnail, machine checkvoiceover/, final-video.mp4, inspection-report.mdstages/make.md (voiceover uses animation-lib/tools/tts.py)
12Review (only hard gate, waits for human)review-package/, review-checklist.mdstages/publish.md
13Release package (manual upload)release-package/stages/publish.md
14Comment feedback (scheduled task)../../feedback/stages/publish.md

Assets and copyright (photo sources, character designs, BGM licenses, attribution) always go through a reminder sheet: AI only lists options for the user to decide, see stages/user-decisions.md.

Steps 05 and 12 are both human-wait points, unified under the waiting_on field. One episode at a time: only one episode is advanced at any moment.

status.json

Schema in references/state-schema.md. Keys are all ASCII; business data (findings, opinions, data) go into .md/.json table files; status only stores pointers.

Blind Review

Three external CLIs: Claude Code (Windows), codex (Windows), opencode (WSL ~/.opencode/bin/). Roster: templates/reviewers.json, contract: references/findings-json.md (v1.1: tolerates reviewers copying sentences with/without trailing (S#)), aggregation: scripts/summarize_reviews.py. On first use or after changing machines, run the s06 smoke test. The blue whale episode (2026-11-01) completed the first calibration: first round 9 findings → 6 real errors + 1 missing material, second round 1 rounding error abstention mechanism not triggered — real data in s06. Keys never enter command line, logs, script, or final video.

Voiceover / Visuals (Tooling and Timing Architecture, Finalized After Blue Whale Practice)

  • Voiceover always uses the repo's public template animation-lib/tools/tts.py (run/sample/dry-run/align-only subcommands, see its README for details); each episode only fills voiceover/voiceover.json; voice anchor is captured in the first episode (text persona drifts with each batch call).
  • All visual beat anchors are written as intra-sentence ratios at(sentence-number, ratio) (from timing.json); scene boundaries = sentence start — after voiceover re-rendering, visuals follow automatically; manual frame numbers are forbidden.

Visuals = Remotion (This Repository)

During production, always follow the repository AGENTS.md: place components in effects/<id>/, register in effects/index.tsx, render out/<id>/<id>.mp4. Reusable via remotion-* skills and existing animation library elements. Discipline and checklist in stages/make.md.

Dry-Run Mode

When the user says "dry-run": use fake review JSON, fake TTS files to run the state machine, no real API calls, no consumption of subscription quota.

Running the Full Pipeline for the First Time?

First read the live example animation-lib/effects/blue-whale/ (first episode – blue whale): status.json (artifact pointers for each step) → research/source-registry.md (how the S# system works) → review/smoke-test-record.md and two rounds of blind-review-table*.md, adjudication-table.md (how retrospectives are recorded) → visuals/storyboard.md (what the peer-review output looks like) → voiceover/voiceover.json (how small this episode's configuration is). Follow the example to start — faster than reading ten pages of rules.

Version History

  • v0.2 (2026-11-02, blue-whale backfill): rewrite make.md voiceover/visuals layer based on practice (public template/voice anchor/intra-sentence ratios); add s09-storyboard (director peer-review); add user-decisions (assets/copyright only remind, do not decide); findings contract upgraded to v1.1; s06 supplemented with first calibration record; publish adds retrospective backfill.
  • v0.1 (2026-11-01): initial skeleton (14-step routing + three contracts + templates + residues seed).

相关技能