{
  "$schema": "https://bestaiskill.com/schemas/agent-install/2.json",
  "skill": "virtual-couple-travel-vlog",
  "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": "Local script/command execution: python scripts/check-tools.py --show-install-hints (probe only, no installation)"
    },
    {
      "file": "网络端点",
      "summary": "External network access declaration: repository code contains no HTTP/socket calls; network activity occurs solely through invoked external CLIs"
    },
    {
      "file": "本地工作目录",
      "summary": "File I/O and artifact generation: creates <Project Title>/ and subdirectories prompts, images, videos, audio under the user-selected output root, writing brief.m"
    }
  ],
  "verification": {
    "method": "第二遍独立重读 + 反查：① 逐个通读 5 个脚本全文（split-grid/check-tools/check-video-providers/run-topview-omni/assemble-vlog），定位每一处 subprocess/环境变量/写盘；② 全仓 grep 'https?://' 复核本技能目录零命中，确认「仓库内无直接网络调用」成立；③ 反查 SKILL.md 的工具路由描述与脚本实际参数是否一一对应（split-grid 的 --input-image/--output-dir/--prefix；run-topview-omni 的 --prompt-file/--sheet/--male-card/--female-card/--board-id；assemble-vlog 的 --clips/--music/--output）；④ 反查 references/task_list.md 的 Task -1~Task 10 是否覆盖 SKILL.md 列出的 12 条任务归属，确认作业单不是空壳；⑤ 夸大检查：『Always write the final Chinese music prompt』与检查脚本中「无音乐生成 CLI」的说法一致；README 中『Skill 会先提示使用者，不会静默安装』与脚本只探测不安装的实现一致；⑥ 专项找反例：是否有被遗漏的网络/写入/凭证读取（重点看 check-video-providers.py 是否会打印密钥值——first_env 返回的是变量名）。",
    "second_pass": [
      {
        "item": "「仓库内无直接网络调用」是否成立",
        "status": "ok",
        "detail": "全仓 https?:// 扫描中本技能目录零命中；5 个脚本 import 仅 argparse/json/os/shutil/importlib/subprocess/sys/time/pathlib/PIL，无 urllib/requests/socket/http。"
      },
      {
        "item": "密钥是否会被回显（凭证泄露风险）",
        "status": "ok",
        "detail": "first_env() 只返回命中的环境变量名，print_table() 打印的 evidence 列即该变量名；未出现 os.environ.get(name) 取值的输出路径，结论：不回显密钥值。"
      },
      {
        "item": "外部依赖条目逐条反查",
        "status": "ok",
        "detail": "FFmpeg/FFprobe/Node/npm/npx/PIL 在 check-tools.py 的 results 列表中逐项存在；Topview 路径解析在 run-topview-omni.py 与 check-video-providers.py 两处互证；npx hyperframes 三连命令在 SKILL.md 与 tooling.md 两处出现。"
      },
      {
        "item": "Topview 平台域名（未能定位）",
        "status": "unlocatable",
        "detail": "本仓库内没有任何 Topview/Seedance/Krea/Lovart/LibTV 的域名或端点字符串，只有平台名与「本机是否安装/是否配置 key」的判断。真实网络端点位于被引用的第三方技能与平台侧，超出本次可读源范围，按纪律标为待补，不臆测域名。"
      },
      {
        "item": "付费闸门是否真的落在流程里（而非口号）",
        "status": "ok",
        "detail": "SKILL.md 有独立的 Topview 段要求提交前展示设置/积分/等待并等用户回答；task_list.md Task 6 给出「Do not submit video tasks until the user replies」与逐次/整批授权规则；tooling.md 提供决策话术模板。「不静默花费」在指令层有三处互证。"
      },
      {
        "item": "写入范围是否被限定在输出根目录内",
        "status": "ok",
        "detail": "SKILL.md Operating Rules 第一条要求所有资产存于 <Output Root>/<Project Title>/；assemble-vlog.py 的工作目录默认取输出文件父目录；split-grid.py 的 output_dir 由参数传入。未发现写到技能目录或系统目录的路径（唯一例外是 npx 自身的缓存行为，属工具侧）。"
      },
      {
        "item": "HyperFrames 定位是否前后一致（防止第一遍读错）",
        "status": "ok",
        "detail": "SKILL.md『HyperFrames editing only』段、README『HyperFrames 不再作为四段源视频的生成 provider 使用』、tooling.md『Do not use HyperFrames as the source provider』三处口径一致，第一遍所述成立。"
      },
      {
        "item": "任务清单完整性",
        "status": "ok",
        "detail": "task_list.md 实含 Task -1、Task 0 至 Task 10 共 12 段，与 SKILL.md Task List 的 12 条编号一一对应；每条带 Acceptance 或 Fallback，非空壳。"
      }
    ],
    "level": 1,
    "level_label": "V1 已固定",
    "commit": "fcee81beb62a0907b206e62b269195dbd9aac4c3",
    "sha256": "c85905174ced23a97f0b17434c79e57a384d0b6344d4b76398ddfdbf348fd3b3",
    "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/virtual-couple-travel-vlog.tar.gz",
    "sha256": "c85905174ced23a97f0b17434c79e57a384d0b6344d4b76398ddfdbf348fd3b3",
    "commit": "fcee81beb62a0907b206e62b269195dbd9aac4c3"
  },
  "original": {
    "github": "https://github.com/vibeshotclub/vsc-skills/tree/main/virtual-couple-travel-vlog",
    "path": "virtual-couple-travel-vlog",
    "commit": "fcee81beb62a0907b206e62b269195dbd9aac4c3"
  }
}