{
  "$schema": "https://bestaiskill.com/schemas/agent-install/2.json",
  "skill": "talking-head-recut",
  "built": "2026-10-26",
  "control_level": 4,
  "control_level_label": "L4 高权限",
  "capabilities": [
    "execute_command",
    "write_file"
  ],
  "required_controls": {
    "agent": [
      "sandbox_recommended",
      "graded_authorization"
    ],
    "admin": [
      "approval_process",
      "rollback_support",
      "full_audit"
    ]
  },
  "evidence": [
    {
      "file": "scripts/",
      "summary": "Executes local scripts or commands: (No bundled production scripts) Workflow instructs the host to run: npx hyperframes doctor / transcribe / render / snapshot"
    },
    {
      "file": "本地工作目录",
      "summary": "File I/O and artifact output: videos/<project>/metadata.json, audio.mp3, transcript.json, storyboard.json (ag"
    }
  ],
  "verification": {
    "method": "第二遍独立重读 + 反查（换角度抓第一遍的错）：① 全量文件清单（含隐藏）核对：28 个文件 = SKILL.md + NOTICE.md + media-contract.test.mjs + references/DESIGN_INDEX.md + references/{frames 3, layouts 4, styles 10} + assets/{fonts 6 woff2, vendor/gsap.min.js}，与 skills-manifest.json 的 files=28 一致，无隐藏文件。② token 扫描（URL / fetch / process.env / child_process / writeFile / API_KEY|TOKEN|SECRET|.env|Bearer / keychain / heygen）：URL 6 处全部可解释——NOTICE.md 的上游仓库链接、vendored gsap.min.js 的文件头注释链接（gsap.com 与 standard-license）与其 UMD 包装；fetch/http.request/axios 0 命中；process.env 0 命中；凭证关键词 15 处逐条核对全部是 SKILL.md/DESIGN_INDEX.md 里『tokens』（设计 token 之意）的子串误配，无真实凭证访问；heygen 0 命中（Unlike product-launch-video / faceless-explainer，本 skill 不触及 HeyGen 账号）。③ 打开唯一可执行文件逐个断言核对：media-contract.test.mjs 读 SKILL.md 文本，断言 <video id=\"bg-video\" muted> 与 <audio id=\"source-audio\"> 的 src/data-start/data-duration 一致、data-track-index 不同——确证它是文档一致性测试而非生产脚本。④ 第三方来源核对：NOTICE.md 声明改编自 notedit/vtake-skills（MIT, Copyright (c) 2026 leeoxiang），并列出四项改造（改名、转录改为本地 Whisper、用 ffmpeg/ffprobe 内联音频与元数据抽取、去掉固定品牌片尾）；与 SKILL.md 中『no third-party service, API key, or rate-limited proxy』自述一致。⑤ 数字类声明核对：DESIGN_INDEX.md 的 10×4×3=120 与实际文件数（styles 10、layouts 4、frames 3）吻合；vendored GSAP 版本 3.15.0 可由文件头验证。⑥ 功能声明 vs 实际能力：description 的用途（动力标题、下三分之一、数据标注、引用、侧栏、画中画 + 三种画幅 + 原片不动）与 SKILL.md 步骤、参考库维度一一对应，无夸大。",
    "second_pass": [
      {
        "item": "是否真的无凭证、无第三方 API（蓝档判定的关键）",
        "status": "ok",
        "detail": "整目录 grep：(API_KEY|TOKEN|SECRET|\\.env|keychain|Bearer|Authorization) 命中 15 处全为 'tokens' 子串误配（设计 token 语境）；heygen/OPENAI/ANTHROPIC 0 命中；process.env 0 命中；fetch 0 命中。SKILL.md 与 NOTICE.md 双重声明转录为本地 Whisper。结论成立。"
      },
      {
        "item": "『无脚本』是否属实（有没有隐藏的执行体）",
        "status": "ok",
        "detail": "全量清单中 .mjs 仅 1 个且为测试；无 .sh/.py/.cjs。流程里的命令是文档中给宿主执行的 ffmpeg/CLI 调用，不是随包脚本。『runs entirely on the hyperframes CLI plus system ffmpeg/ffprobe』表述与文件构成一致。"
      },
      {
        "item": "『外部资源』逐条回查调用点",
        "status": "ok",
        "detail": "npx hyperframes doctor/transcribe/render/snapshot/preview 均在 SKILL.md 原文；ffprobe/ffmpeg 两条命令在 Step 3 原文、重编码命令在 Step 9 原文；随包字体与 gsap 的复制命令在 Step 9 原文；上游仓库链接在 NOTICE.md 原文。无推测项。"
      },
      {
        "item": "转录模型选择与同批 skill 的口径差异",
        "status": "discrepancy",
        "detail": "本 skill 硬编码 `--model small.en`（Step 4 原文），而同仓 embedded-captions 的 transcribe.cjs 明确**禁止**默认 small.en（注释：'Default = multilingual `small`, NOT `small.en`. Per media-use: \".en models mistranslate non-English and mis-handle accented speech\"'，并记录了曾被 small.en 在重口音说话人上产出错误转录的实例）。本 skill 在 description 中虽未宣称多语种，但也没有对非英语素材给出提示。这是**同一仓库内两个 skill 对同一问题给出相反默认**的真实出入，对非英语/重口音素材的使用者有实际影响（本 skill 使用者也可能会中同样的坑）。"
      },
      {
        "item": "vendored GSAP 的许可约束是否被标注",
        "status": "ok",
        "detail": "assets/vendor/gsap.min.js 文件头写明 'GSAP 3.15.0 … @license Copyright 2026, GreenSock. All rights reserved. Subject to the terms at https://gsap.com/standard-license.'；随包分发即意味着产出物沿用该许可约束（同批其它 skill 走 CDN 引用、许可披露方式不同）。已在 meta.license 与 risks 中记录。"
      },
      {
        "item": "验证：渲染/预览类声明是否可在源码内证实其行为",
        "status": "unlocatable",
        "detail": "SKILL.md 描述的行为（稀疏 GOP 导致渲染器 seek 卡帧、单帧 snapshot 的位置与命名、`--at` 单值会忽略 --out）需要实际运行 hyperframes render/snapshot 才能证实；本次为只读侦查且不得运行构建/渲染，故记为无法在源码内定位，不作为已验证事实。"
      }
    ],
    "level": 1,
    "level_label": "V1 已固定",
    "commit": "b8328f957368713d288900957eb5bee0dca31dd9",
    "sha256": "ff96f4df7b933a0f78d13afa185ad2b1815bcb6a1c7b8ef0cb3a3d527cbb0801",
    "reviewed_by": null,
    "reviewed_at": null
  },
  "assessed_at": "2026-10-25",
  "method_version": "2.0",
  "mirror": {
    "archive": "https://skillpub.pages.dev/r2/v/2026-09-15/talking-head-recut.tar.gz",
    "sha256": "ff96f4df7b933a0f78d13afa185ad2b1815bcb6a1c7b8ef0cb3a3d527cbb0801",
    "commit": "b8328f957368713d288900957eb5bee0dca31dd9"
  },
  "original": {
    "github": "https://github.com/heygen-com/hyperframes/tree/main/skills/talking-head-recut",
    "path": "skills/talking-head-recut",
    "commit": "b8328f957368713d288900957eb5bee0dca31dd9"
  }
}