{
  "$schema": "https://bestaiskill.com/schemas/agent-install/2.json",
  "skill": "explainer-video",
  "built": "2026-10-26",
  "control_level": 4,
  "control_level_label": "L4 高权限",
  "capabilities": [
    "execute_command",
    "network",
    "write_file"
  ],
  "required_controls": {
    "agent": [
      "sandbox_recommended",
      "graded_authorization"
    ],
    "admin": [
      "approval_process",
      "rollback_support",
      "full_audit"
    ]
  },
  "evidence": [
    {
      "file": "scripts/",
      "summary": "Execution of local scripts or commands: npx remotion still / render / compositions (specified in SKILL.md and scripts/README.md)"
    },
    {
      "file": "网络端点",
      "summary": "Declared external network access: fetches fonts from Google Fonts at render time if @remotion/google-fonts is used following remotion-recipes in the same pack"
    },
    {
      "file": "本地工作目录",
      "summary": "File read/write and artifact output: out/*.mp4 (final renders), out/*.gif, out/f-*.png (still frames)"
    }
  ],
  "verification": {
    "method": "第二遍独立重读并逐项找茬（不沿用第一遍结论）：① 复核每个 external_deps 的真实调用点（含仓库根 scripts/ 的实现，而非只信 SKILL.md 的转述）；② 反查有无隐蔽外发/凭证读取（API_KEY、token、env、curl、上传端点）；③ 核对「帧驱动」纪律在正文与 reference 中是否口径一致；④ 复核 VO 数学与两张表（叙事弧 / runtime share）是否自洽；⑤ 清点目录资产面；⑥ 检查跨目录与跨 skill 引用能否解析。",
    "second_pass": [
      {
        "item": "外部依赖调用点复核（npx remotion / ffprobe / @remotion/google-fonts）",
        "status": "ok",
        "detail": "SKILL.md Verify loop 实际给出 `npx remotion still Explainer out/f-start.png --frame=0 --props='{...}'` 与 `npx remotion render Explainer out/explainer.mp4`；仓库根 scripts/probe-mp4.sh 确为 ffprobe 实现。@remotion/google-fonts 出现在同 pack 的 wrapped-video/references/remotion-recipes.md，本 skill 只写 `<Audio src={staticFile()}>`，故未把它记为本 skill 的行为。"
      },
      {
        "item": "无凭证 / 无业务 API 反查",
        "status": "ok",
        "detail": "SKILL.md 与 reference 中无密钥、无 endpoint、无上传动作；`staticFile()` 指向项目内静态资源而非远端。判橙依据仅为远程包依赖，非凭据读取。"
      },
      {
        "item": "帧驱动纪律的内部一致性",
        "status": "ok",
        "detail": "SKILL.md 的输出契约、Before-you-finish 第 4 条与另两份文档的「no Date.now() / Math.random() / timers」主张互相一致，并与 Remotion 的逐帧快照渲染模型相符（帧驱动才可 seek、可复现）。"
      },
      {
        "item": "VO 数学与叙事两张表的自洽性",
        "status": "ok",
        "detail": "SKILL.md 五拍表（讲「为什么与顺序」）与 Script formula 表（Problem 20% / Solution 15% / How 45% / Payoff 20%，讲「占比预算」）口径可对齐：How 占比最大对应「slowest — hold each step to read」；60s≈138 词与 2.3 w/s 自洽（60×2.3≈138）。"
      },
      {
        "item": "跨目录 / 跨 skill 引用可解析性",
        "status": "ok",
        "detail": "正文引用的 `scripts/contact-sheet.sh`、`scripts/probe-mp4.sh` 位于仓库根（单装本 skill 目录会悬空，需装整个 repo）；把单场景网页动效分流到同 repo 的 diagram-animation，该 skill 确实存在于本 repo 的 skills/ 下，引用可解析。"
      },
      {
        "item": "功能声明 vs 实际能力",
        "status": "ok",
        "detail": "frontmatter 宣称覆盖 script→storyboard→scene build→narration/caption sync→edit→polish 全链，正文六步流水线与 reference 的模板/计时表/字幕规范逐项兑现；未见夸大——未声称能自动配音或自动剪素材。"
      }
    ],
    "note": "结论仅对本 pin commit（3e2d411b725d9a72939cf8e5eb81579e751373e7）有效。",
    "level": 1,
    "level_label": "V1 已固定",
    "commit": "3e2d411b725d9a72939cf8e5eb81579e751373e7",
    "sha256": "ae5f4f77121acf12164c4ff0656e2c627dbca6476a2aad68ed0d435653e9e44d",
    "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-28/explainer-video.tar.gz",
    "sha256": "ae5f4f77121acf12164c4ff0656e2c627dbca6476a2aad68ed0d435653e9e44d",
    "commit": "3e2d411b725d9a72939cf8e5eb81579e751373e7"
  },
  "original": {
    "github": "https://github.com/iart-ai/explainer-video-skills/tree/main/skills/explainer-video",
    "path": "skills/explainer-video",
    "commit": "3e2d411b725d9a72939cf8e5eb81579e751373e7"
  }
}