{
  "$schema": "https://bestaiskill.com/schemas/agent-install/2.json",
  "skill": "cuboid-carousel",
  "built": "2026-10-26",
  "control_level": 4,
  "control_level_label": "L4 高权限",
  "capabilities": [
    "execute_command",
    "network"
  ],
  "required_controls": {
    "agent": [
      "sandbox_recommended",
      "graded_authorization"
    ],
    "admin": [
      "approval_process",
      "rollback_support",
      "full_audit"
    ]
  },
  "evidence": [
    {
      "file": "scripts/",
      "summary": "Execute local script or command: cuboid-carousel.html (executed in browser/renderer: reads variables → builds three scene and card textures → registers paused timeline)"
    },
    {
      "file": "网络端点",
      "summary": "Declare external network access: fonts.googleapis.com / fonts.gstatic.com (runtime: Inter font; the only external endpoint in this block)"
    }
  ],
  "verification": {
    "method": "第二遍独立重读 + 反查（不看第一遍结论）：① 文件级清点并核对 registry-item.json 的 files 清单与盘上文件的差集；② 端点与敏感关键词扫描（http(s)://、process.env|secret|token|api_key|cookie|sudo|sandbox）；③ 确定性扫描（Math.random / Date.now / performance.now / requestAnimationFrame）；④ 变量数三方对齐与 duration/dimensions 一致性；⑤ 每条 evidence.quote 回源 pin 源文逐字校验（含 … 分段按序命中）。",
    "second_pass": [
      {
        "item": "变量数与声明一致性（frontmatter 自称 40 variables）",
        "status": "ok",
        "detail": "脚本实测：SKILL.md 变量表 40 行、html data-composition-variables 解析出 40 项、frontmatter 写 40 —— 一致。"
      },
      {
        "item": "「no rAF」注释 vs 代码里的 setInterval",
        "status": "ok",
        "detail": "该 setInterval 是一次性的就绪轮询（等 __timelines 出现后立即 clearInterval），不是渲染循环；时间线注释也确写 seek-safe, no rAF。两者不冲突。"
      },
      {
        "item": "外链清点",
        "status": "ok",
        "detail": "html 全文 http(s):// grep 仅命中三处 Google Fonts（preconnect ×2 + css2?family=Inter）；three/gsap/运动数据均为 ./assets/ 本地路径。"
      },
      {
        "item": "registry-item 文件清单 vs 盘上文件",
        "status": "ok",
        "detail": "声明 10 个文件全部存在于盘上（含两个 addons 与两份许可文本），无远端 url 兜底。"
      },
      {
        "item": "几何安全声称",
        "status": "ok",
        "detail": "SKILL.md 明写间距由尺寸与最大 X 半展推导；html 中 cuboidWidth/Height/Depth/cornerRadius/bevel/smoothness 均按 DialKit 区间读取（变量段注释写 every one clamped to the DialKit range）。"
      },
      {
        "item": "时长一致性",
        "status": "ok",
        "detail": "registry-item duration 6.67、html data-duration 6.666666666666667、SKILL.md 标题行 6.666666666666667s —— 前两者为同一精度的两种写法。"
      }
    ],
    "level": 1,
    "level_label": "V1 已固定",
    "commit": "d2f0bc7f34837da54ae22063772d75d75ce26477",
    "sha256": "fc159be9ba8023328bd9bf80a86f64a35a67ee29f812e38204ccce770068c3c0",
    "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/cuboid-carousel.tar.gz",
    "sha256": "fc159be9ba8023328bd9bf80a86f64a35a67ee29f812e38204ccce770068c3c0",
    "commit": "d2f0bc7f34837da54ae22063772d75d75ce26477"
  },
  "original": {
    "github": "https://github.com/heygen-com/hyperframes/tree/main/registry/blocks/cuboid-carousel",
    "path": "registry/blocks/cuboid-carousel",
    "commit": "d2f0bc7f34837da54ae22063772d75d75ce26477"
  }
}