1实现原理 · 为什么它能做到
本体是「总管型」编排提示词:不含任何脚本,靠把每步委派给专门 skill 来跑完整条剪辑流水线;单点需求则直接路由到对应专家 skill。
Use for a complete edit; route a single requested operation directly to its specialist skill.
第 1 步先做媒体摸底与保源:ffprobe 探时长/流/分辨率,源片要么复制进项目 assets 要么只引用给定的本地路径。
1. Inspect duration, streams, and source resolution with ffprobe. Copy the source into the project's assets or reference an explicitly provided local path.
第 2 步是唯一的外部服务入口,且把「先读成本文档 → 复用已有转录 → 才考虑调服务 → 未授权先解释上传与费用」写成硬顺序。
2. Read `docs/TOOLS-AND-API-KEYS.md` before service setup. Reuse a matching word transcript. Otherwise use the student's chosen provider; Nate defaults to `node scripts/transcribe-elevenlabs.mjs <source>`. OpenAI Whisper and local Whisper are supported workflow alternatives after transcript normalization. Check available credentials or local dependencies. Explain uploads and costs before any service call whose authorization is still missing.
剪辑段被显式拆成两跳:先按 ../cut-silences/SKILL.md 出 EDL 与重定时转录,再按 ../cut-mistakes/SKILL.md 做审查式口误剪辑。
3. Read `../cut-silences/SKILL.md`. Produce an EDL and a retimed transcript, and render the silence pass when editing is authorized. … 4. Read `../cut-mistakes/SKILL.md`. Inspect candidates in context and preserve intentional emphasis.
动效段同样走委派:视觉弧线交给 video-storytelling,覆盖层/节拍交给 hyperframes-video-beats,并有「写 beat sheet + 每拍一个视觉主意 + 有意回扣」的产出要求。
5. Read `../video-storytelling/SKILL.md` for the visual arc and `../hyperframes-video-beats/SKILL.md` for overlays. Write a beat sheet with transcript anchors, one visual idea per beat, and deliberate callbacks.
质量门分两道:先跑 preflight + HyperFrames lint + 转录同步校验器并过 Studio 审看,再渲染草稿后抽帧看画面与听切点边界。
7. Run preflight and HyperFrames lint from the project, plus the transcript-sync validator for anchored sub-compositions. Review Studio before the draft. … 8. Render a draft, inspect encoded frames and transitions, and listen across cut boundaries.
交付是一组产物而非单个文件:成片路径、剪辑决策、重定时转录、composition,以及一份说明「检查了什么、还剩什么限制」的 VERIFY.md。
Deliver the final MP4 path, edit decisions, retimed transcript, composition, and `VERIFY.md` describing what was checked and any remaining limitations.
2核心能力
3外部依赖
| Kind | Dependency / Endpoint |
|---|---|
| cli | ffprobe(媒体摸底:时长/流/分辨率) |
| api | ElevenLabs Scribe(默认转录服务;经仓库级 helper 上传音频取词级时间戳) |
| api | OpenAI Whisper API(替代云转录;自带 key 与计费) |
| api | Kie.ai(可选生成式 B-roll/图像素材服务,作者自述偏好而非必需) |
| cli | HyperFrames CLI(preflight / lint / preview / render,路径与用法由 ../hyperframes 与 ../hyperframes-cli skill 指路) |
| package | Node.js + 仓库级脚本(transcribe-elevenlabs.mjs、validate-beat-sync.mjs、preflight 系列) |
| network | HyperFrames Studio(本地预览服务器,渲染前人工审看) |
4管控建议与判定依据
- scripts/: 执行本地脚本或命令: 本 skill 自身 0 个脚本(目录内只有 SKILL.md,find -type f 核对)
- 网络端点: 声明外部网络访问: 执行期:ElevenLabs 转录上传 —— POST 音频到 api.elevenlabs.io(经仓库级 helper;SKILL.md 第 2
- 本地工作目录: 文件读写与工件输出: video-projects/<slug>/ 下的项目文件(源片副本、assets/、BRIEF.md 或 DESIGN.md、composition
5第二遍独立确认
- [ok] 目录文件清单(是否真的无脚本) — find .claude/skills/edit-video -type f 仅返回 SKILL.md;无 scripts/、无 agents/、无隐藏文件。
- [ok] 被引用路径是否真实存在 — 仓库内存在 .claude/skills/{cut-silences,cut-mistakes,video-storytelling,hyperframes-video-beats,hyperframes,style-library}/SKILL.md、docs/TOOLS-AND-API-KEYS.md、MOTION_PHILOSOPHY.md、scripts/transcribe-elevenlabs.mjs —— 委派链与文档依赖均非空指。
- [ok] 转录 helper 的凭证与端点(橙档证据) — scripts/transcribe-elevenlabs.mjs 定位到:ELEVENLABS_API_KEY 三别名 env 读取 + .env 兜底、POST https://api.elevenlabs.io/v1/speech-to-text、请求头 xi-api-key、timestamps_granularity=word、ffmpeg 抽 16kHz 单声道 mp3 上传。
- [ok] 「可选服务」是否被误判为主线 — Kie.ai 在 docs 中被标为 Optional,且明确 the kit does not bundle a universal Kie generation script;本 skill 的 SKILL.md 未直接点名 Kie,只写『学生自选 provider』——已按可选路径写入 external_deps 并在 reason 里附条件说明。
- [ok] 自动化边界是否夸大 — SKILL.md 末句 『An automated detector proposes edits; editorial judgment remains necessary.』,与 cut-mistakes 的 review-gate 设计一致,无夸大。
- [ok] 红档特征反查 — 全文无 sandbox 关闭、无 --no-verify/TLS 降级、无 AutomationControlled/反爬绕过、无下载并执行远端代码的指令;渲染与校验均为本地 CLI。
6结论
ec3a3991479999f4…