{
  "$schema": "https://bestaiskill.com/schemas/agent-install/2.json",
  "skill": "ad-creative-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": "Execute local scripts or commands: No bundled scripts inside the skill directory; SKILL.md instructs the agent to run `node csv-to-props.js variants.csv ./pr"
    },
    {
      "file": "网络端点",
      "summary": "Declare external network access: No business API calls or business endpoint requests during runtime; ad data and assets are strictly local."
    },
    {
      "file": "本地工作目录",
      "summary": "File I/O and artifact outputs: Writes `props/<id>.json`, `out/<id>.mp4`, and `out/demo.gif` in the user project; contact-sheet.sh writes "
    }
  ],
  "verification": {
    "method": "第一遍按固定框架读全目录（SKILL.md + 两份 references + 仓库根 scripts/ 与 .claude-plugin/），逐条摘取逐字引用；第二遍独立重读并反向找茬：① 目录级清点确认「纯指令」（skill 目录内无自带脚本）；② 全仓 token 扫描 process.env|API_KEY|TOKEN|cookie|keychain|Bearer 确认无凭证面；③ 逐条复核外部依赖调用点（remotion/zod/npx/ffmpeg）；④ 用代码语义核对 SKILL.md 声明与 reference 实现（校验器行为、命令路径、示例数字）；⑤ 拼装脚本内置与 tools/verify_analysis.py 同口径的 quote 回源校验（含 … 省略式分段命中）。仓库元数据 stars/last_push 取自 GitHub API 快照 2026-09-28；本地 pin 目录 git rev-parse 与工作单 commit 逐字一致。",
    "second_pass": [
      {
        "item": "skill 目录内是否藏脚本或凭证读取",
        "status": "ok",
        "detail": "目录只有 README.md(0B)/SKILL.md/references/*.md；全仓 token 扫描 process.env|API_KEY|TOKEN|cookie|keychain|Bearer 零实质命中（唯一命中是 product-demo reference 的 `.cookie-banner{display:none!important}`，属 UI 清理样式，非凭证读取）。"
      },
      {
        "item": "SKILL.md 与 reference 的渲染命令是否自洽",
        "status": "ok",
        "detail": "SKILL.md 走「扁平 props/ + --props-merge 传 aspect」，reference 走「props/<ar>/ 目录 + calculateMetadata 解析尺寸」；两条路线实现同一目标，非矛盾。"
      },
      {
        "item": "CSV 解析器校验的真实行为",
        "status": "discrepancy",
        "detail": "`if (errors) return;` 用的是全局错误计数：首个坏行之后，后续原本合法的行也不会写盘（注释宣称的语义是「不产出坏广告」）。行为偏保守、不会产出错误广告，但会让使用者误以为只有 1 行坏。"
      },
      {
        "item": "hook 长度告警阈值与平台规格是否一致",
        "status": "ok",
        "detail": "解析器 `if (row.hook && row.hook.length > 60) console.warn(...)` 与 platform-specs 的 hook 在 9:16 ≤ ~60 chars 的规格对得上。"
      },
      {
        "item": "`Packaged helper (scripts/)` 的路径可解析性",
        "status": "discrepancy",
        "detail": "SKILL.md 写 `scripts/contact-sheet.sh` / `scripts/probe-mp4.sh` 这类相对路径，但这些脚本位于**仓库根** scripts/，skill 目录内并无 scripts/（skill 位于 skills/ad-creative-video/）；从 skill 目录直接执行会找不到文件。"
      },
      {
        "item": "跨 skill 指名与边界声明",
        "status": "ok",
        "detail": "SKILL.md 用结构描述而非 skill 名排除促销与证言类（\"Not for sale/discount countdown promos, and not for testimonial/review-driven ads\"），不存在跨仓库依赖或指纹不明的外部 skill 调用。"
      }
    ],
    "level": 1,
    "level_label": "V1 已固定",
    "commit": "0de0f2a1c1f42a98103fc0ec436509276428372c",
    "sha256": "6cc9db5805b68bad5d5a9c7909dcee9a2820b835c33b69cad094080698fd56e2",
    "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/ad-creative-video.tar.gz",
    "sha256": "6cc9db5805b68bad5d5a9c7909dcee9a2820b835c33b69cad094080698fd56e2",
    "commit": "0de0f2a1c1f42a98103fc0ec436509276428372c"
  },
  "original": {
    "github": "https://github.com/iart-ai/ad-video-skills/tree/main/skills/ad-creative-video",
    "path": "skills/ad-creative-video",
    "commit": "0de0f2a1c1f42a98103fc0ec436509276428372c"
  }
}