{
  "$schema": "https://bestaiskill.com/schemas/agent-install/2.json",
  "skill": "gsap-web",
  "built": "2026-10-26",
  "control_level": 3,
  "control_level_label": "L3 联网",
  "capabilities": [
    "network",
    "write_file"
  ],
  "required_controls": {
    "agent": [
      "declare_domain_and_key_scope"
    ],
    "admin": [
      "least_privilege_keys",
      "keep_request_logs"
    ]
  },
  "evidence": [
    {
      "file": "网络端点",
      "summary": "Declared external network access: Zero outbound requests during execution; the deliverable template examples/standalone-template.html loads gsap 3.13.0 from cdnjs (runtime asset dependency, not execution-time egress)"
    },
    {
      "file": "本地工作目录",
      "summary": "File I/O and artifact outputs: Zero disk writes within the skill directory; outputs 1 self-contained .html deliverable or user-project module written directly by the agent"
    }
  ],
  "verification": {
    "method": "第二遍独立重读 + 反查：① 文件清单核对（本 skill 目录 6 个文件，无隐藏文件或二进制）；② token 扫描（fetch(/XMLHttpRequest/curl/wget/child_process/process.env/API_KEY|TOKEN|SECRET/.env/eval(）零命中；③ URL 全量扫描：仅 examples/standalone-template.html 两行 cdnjs（gsap.min.js 与实际 script 标签）与 references 尾部的 iart.ai utm 推广链；④ 关键接线复核（乘 1000、ticker 单循环、revert 清理）在 SKILL.md 与 references 两处一致；⑤ 例子可用性复核（markup 前提与 CSS 前提均写在头注释）；⑥ 档位复核：examples 属示例与模板而非 agent 直接执行的入口，无凭证、无写盘、执行期零外发 → green，cdnjs 属产物期引用不判级；⑦ meta 直采同批。",
    "second_pass": [
      {
        "item": "GSAP 3.12+ 全部插件免费含商用这一许可声明是否可在源码内核实",
        "status": "unlocatable",
        "detail": "SKILL.md 首段声明 As of GSAP 3.12+, every plugin (ScrollTrigger, SplitText, Flip, MotionPath, MorphSVG, Draggable, Observer) is 100% free, including for commercial use. 但仓库内只有自身 MIT LICENSE，没有上游许可文件或链接，属外部事实声明，源码内不可复核，按文档声明记录。"
      },
      {
        "item": "Lenis 同步的乘 1000 单位换算与不要再开 rAF 是否前后一致",
        "status": "ok",
        "detail": "SKILL.md 三段互相印证：接线代码 gsap.ticker.add((t) => lenis.raf(t * 1000))、Critical 段明写 ticker 传秒而 raf 要毫秒、Common bugs 段把 leftover requestAnimationFrame(raf) loop 列为抖动根因；references 的调试清单第 1、2 条同样指向这两点。"
      },
      {
        "item": "examples 里的两个文件是否真的可直接用",
        "status": "ok",
        "detail": "hero-timeline.js 头注释给出所需 markup 与 CSS 前提（.line 需 overflow:hidden），并内置 document.readyState 自动启动；standalone-template.html 除 cdnjs GSAP 外无外部依赖，自带 ?t=N 冻结与 window.__ready，与 SKILL.md 的输出契约逐条对应。"
      },
      {
        "item": "Packaged helper 的路径基准",
        "status": "discrepancy",
        "detail": "SKILL.md 写 scripts/seek-shot.sh anim.html 0 1.5 3，但 scripts/ 在仓库根而非本 skill 目录（目录内只有 examples/ 与 references/），单装形态下该相对路径不成立；好在 examples/standalone-template.html 自带 harness，可自给自足。"
      }
    ],
    "level": 1,
    "level_label": "V1 已固定",
    "commit": "b6dba3eb759726845a44163ff0bad70dd9e7fbb6",
    "sha256": "1c57c75354a29de0804adbeb9e03f0ecb1d446a0c6d386763fbfafd6931c440b",
    "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/gsap-web.tar.gz",
    "sha256": "1c57c75354a29de0804adbeb9e03f0ecb1d446a0c6d386763fbfafd6931c440b",
    "commit": "b6dba3eb759726845a44163ff0bad70dd9e7fbb6"
  },
  "original": {
    "github": "https://github.com/iart-ai/web-animation-skills/tree/main/skills/gsap-web",
    "path": "skills/gsap-web",
    "commit": "b6dba3eb759726845a44163ff0bad70dd9e7fbb6"
  }
}