{
  "$schema": "https://bestaiskill.com/schemas/agent-install/2.json",
  "skill": "vox-explainer",
  "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": "Executes local script or command: node <SKILL_DIR>/scripts/seam-stamp.mjs --ledger ledger.json --write index."
    },
    {
      "file": "网络端点",
      "summary": "Declares external network access: registry.npmjs.org: In --project mode, uses npx to spin up pinned HyperFrames preview service (downloads when not cached); npx ski"
    },
    {
      "file": "本地工作目录",
      "summary": "File read/write and artifact output: Within user project directory: index.html (replaces only // <seams:auto> block), project source code, downloaded assets, audio/, contact sheet, r"
    }
  ],
  "verification": {
    "method": "第二遍独立重读 + token 反查：① grep process.env / fetch( / https?:// / API_KEY|TOKEN|SECRET / curl / child_process|execFile|spawnSync / writeFile 覆盖本 skill 目录，命中逐条打开确认归属（本目录命中只有 localhost URL、seam-gate 的 httpOk fetch 与 npm registry 端点）；② 通读 seam-gate.mjs 的取参、环境过滤、Chrome 查找与 ledger 校验段，确认『只接受 localhost』与『白名单环境』不是文档空话；③ 核对 seam-stamp.mjs 的 --write 边界（resolve 后必须在项目目录内、拒绝 symlink）；④ 反查文档声明的门禁（LOOK GATE 色值、技术地板、QC 数值表）是否都有对应 reference 条目支撑。",
    "second_pass": [
      {
        "item": "『--url/--comp-url 只接受 localhost』是否真在代码里",
        "status": "ok",
        "detail": "seam-gate.mjs 有 localUrl(value, label) 校验函数，非 localhost 直接报错；--project 模式自己 spawn 预览服务后拼 http://localhost:<port> 再连。文档声明与实现一致。"
      },
      {
        "item": "seam-gate 到底验什么（本题重点）",
        "status": "ok",
        "detail": "逐 seam 的报告行对应规则：ledger（plan 层 exit/entry 向量一致）、exit-moving / entry-moving（规则1/3：不许静止退出、不许从静止入场）、exit-direction / entry-direction（实测符号 = ledger 符号）、speed-match（law §3 速度匹配，仅 WARN）、zero-overlap（规则6：同帧只有一侧可见，切口不是叠化）、z-sign-scan（规则7：incoming 场景自身入场不得与 Z 符号打架）、carrier-*（规则3/4：carrier 矩形连续性，含祖先 scale，12px/5% 容差）。速度不匹配只是警告，不是失败——使用者需自己看警告与渲染帧对。"
      },
      {
        "item": "子进程环境是否被显式过滤",
        "status": "ok",
        "detail": "previewEnv() 只取 15 个白名单系统变量 + npm_config_audit/fund，不用 process.env 整包；另单独读 CHROME_PATH 找浏览器。"
      },
      {
        "item": "stamp 的写入边界",
        "status": "ok",
        "detail": "seam-stamp.mjs 的 --write 目标 resolve 后必须落在当前项目目录内，且拒绝符号链接（lstatSync 判定）——降低借 ledger 写项目外文件的面。"
      },
      {
        "item": "文档量化门禁是否都有出处",
        "status": "ok",
        "detail": "色值/字体/recipe 命名在 vox-collage-layout.md 与 SKILL.md 的 LOOK GATE；运动法则与反模式表在 motion-continuity.md；转场代码与占位符在 velocity-matched-transitions-gsap.md；ledger schema 与容差在 seam-gate.md。引用链完整。"
      },
      {
        "item": "『Grammar measured from Vox's Cooper Black film』所述测量过程与样本",
        "status": "unlocatable",
        "detail": "该测量（以及 motion 的 frame-by-frame calibration）的过程与数据不在本 skill 目录内，无测量脚本或样本文件；只作为文档声明记录，本次只读侦查未运行 verifier 或渲染，故不作为已核事实使用。"
      }
    ],
    "level": 1,
    "level_label": "V1 已固定",
    "commit": "ba7a0bb6d3567d124c51f6074625043bfe0b32eb",
    "sha256": "e75b209b1949465d9df72ca3142c49d6dfeb0ff71b64c474acd6ed432a8a3fb5",
    "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/vox-explainer.tar.gz",
    "sha256": "e75b209b1949465d9df72ca3142c49d6dfeb0ff71b64c474acd6ed432a8a3fb5",
    "commit": "ba7a0bb6d3567d124c51f6074625043bfe0b32eb"
  },
  "original": {
    "github": "https://github.com/heygen-com/hyperframes-community-skills/tree/main/skills/vox-explainer",
    "path": "skills/vox-explainer",
    "commit": "ba7a0bb6d3567d124c51f6074625043bfe0b32eb"
  }
}