{
  "$schema": "https://bestaiskill.com/schemas/agent-install/2.json",
  "skill": "gsap-scrolltrigger",
  "built": "2026-10-26",
  "control_level": 1,
  "control_level_label": "L1 基础",
  "capabilities": [],
  "required_controls": {
    "agent": [
      "auto_load"
    ],
    "admin": [
      "register_source_and_version"
    ]
  },
  "evidence": [
    {
      "file": "SKILL.md",
      "summary": "Pure prompt instructions and rule text; no script execution or external impact."
    }
  ],
  "verification": {
    "method": "第二遍独立重读 + 反查（换角度抓第一遍的错）：① 全仓文件清单核对资产面：gsap-skills 仓库只有 README.md / AGENTS.md / LICENSE / skills/<8 个 SKILL.md> + llms.txt / .github 三条 Copilot 指令 / .claude-plugin 与 .cursor-plugin 清单 / assets/*.svg / examples/{vanilla,react,vue,nuxt}；没有任何 scripts/ 目录、没有 *.py *.sh *.js 的 skill 附属脚本（examples 下的 js 是参考 demo，skill 不调用）；② 对 skills/*.md 逐类 token 扫描：curl、wget、exec(、child_process、fetch(、XMLHttpRequest、process.env、API_KEY、secret、.env 全部零命中；『token』全仓命中 5 处、分布在 gsap-plugins/SKILL.md（2 处）与 skills/llms.txt（3 处），语境全部是「不要用 auth token / 私有 registry」的否定式告诫或索引关键词，无任何实际读取凭证的指令；③ URL 清单逐条落地核对：全部指向 gsap.com（官方文档/blog），无第三方域名、无短链、无统计/回传端点；唯一非 gsap.com 的网络引用在 examples/vanilla/main.js（cdn.jsdelivr.net 拉 gsap@3.15.0 ESM），属示例文件、非 skill 资产、也不会被 skill 执行；④ 反例搜索：确认无隐藏脚本、无混淆内容、无 base64 载荷、无环境变量读取；⑤ 功能声明 vs 实际内容：每条 claim 均能定位到 SKILL.md 原文（见 second_pass 逐条），无夸大；⑥ 元数据核对：本地 git HEAD == 任务 pin aed9cfd32777；仓库根 LICENSE 为 MIT；GitHub API 复核 stars/pushed_at。",
    "second_pass": [
      {
        "item": "目录资产面：仅 SKILL.md",
        "status": "ok",
        "detail": "skills/gsap-scrolltrigger/ 下唯一文件 SKILL.md（18,390 B）；无 scripts/、references/、数据文件。"
      },
      {
        "item": "external_deps 逐条核实调用点",
        "status": "ok",
        "detail": "registerPlugin(ScrollTrigger) 代码块、三条 gsap.com URL（文档链接、batch()、scrollerProxy()）均在文件内逐字命中，无自造端点。"
      },
      {
        "item": "「ease: none 是硬约束」是否有原文支撑",
        "status": "ok",
        "detail": "原文两处强调：配方第 2 步「Use **ease: \"none\"** on that tween」与 Caveats「The container animation must use **ease: \"none\"**.」，并解释原因是 1:1 映射会被缓动破坏。"
      },
      {
        "item": "batch 回调签名描述（两参数）是否属实",
        "status": "ok",
        "detail": "原文明确「Batched callbacks receive **two** parameters (unlike normal ScrollTrigger callbacks, which receive the instance)」，与 GSAP 官方 batch 行为一致。"
      },
      {
        "item": "scrollerProxy getter/setter 双态语义描述",
        "status": "ok",
        "detail": "原文「called **with** an argument, it is a setter; called **with no** argument → getter」并给出 arguments.length 判定的示例代码，符合官方 API。"
      },
      {
        "item": "安全反例搜索（隐藏脚本/网络/凭证）",
        "status": "ok",
        "detail": "对该文件 token 扫描：curl/wget/fetch(/XMLHttpRequest/exec(/child_process/process.env/.env/API_KEY/secret 全零命中；URL 仅 3 条 gsap.com。"
      },
      {
        "item": "与 gsap-performance / gsap-react 的表述是否冲突",
        "status": "ok",
        "detail": "三者对 scrub、refresh、React 清理的说法一致（performance 提出去抖 refresh、react 提供 useGSAP 自动清理），无自相矛盾。"
      },
      {
        "item": "元数据与 pin",
        "status": "ok",
        "detail": "frontmatter license MIT；本地 HEAD = aed9cfd3277740755f6bfc1155c7aa645403b760；GitHub API stars 15326 / pushed_at 2026-07-29T17:36:08Z（晚于 pin，结论不跨版本）。"
      },
      {
        "item": "examples 一致性抽查",
        "status": "ok",
        "detail": "examples/vanilla/main.js 的 ScrollTrigger 挂在 timeline 上（非子 tween）、examples/nuxt/index.vue 用 gsap.context 包裹 SplitText 动画，均符合本 skill 的硬约束。"
      }
    ],
    "level": 1,
    "level_label": "V1 已固定",
    "commit": "aed9cfd3277740755f6bfc1155c7aa645403b760",
    "sha256": "d77050ca6e9970e03703d3c63bda13be5cbbf0ccd560f439ff171e8ce0a21189",
    "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/gsap-scrolltrigger.tar.gz",
    "sha256": "d77050ca6e9970e03703d3c63bda13be5cbbf0ccd560f439ff171e8ce0a21189",
    "commit": "aed9cfd3277740755f6bfc1155c7aa645403b760"
  },
  "original": {
    "github": "https://github.com/greensock/gsap-skills/tree/main/skills/gsap-scrolltrigger",
    "path": "skills/gsap-scrolltrigger",
    "commit": "aed9cfd3277740755f6bfc1155c7aa645403b760"
  }
}