{
  "$schema": "https://bestaiskill.com/schemas/agent-install/2.json",
  "skill": "gsap-timeline",
  "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 side effects"
    }
  ],
  "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-timeline/ 下唯一文件 SKILL.md（4,394 B）；无 scripts/、references/、模板。"
      },
      {
        "item": "外部依赖清单：只有 gsap 包，无网络端点",
        "status": "ok",
        "detail": "该 SKILL.md 的 URL 正则扫描结果为空（0 条），确认无文档外链；包依赖证据取自 README 的 npm 安装说明。"
      },
      {
        "item": "位置参数语义描述是否与 GSAP 实际行为一致",
        "status": "ok",
        "detail": "「+0.5s after last end」「< same start as previous」「<0.2 = 0.2s after previous start」与 GSAP position parameter 官方语义一致，无编造。"
      },
      {
        "item": "tweenFromTo 描述是否准确",
        "status": "ok",
        "detail": "正文写明它会暂停 timeline 并返回一个把 playhead 从 intro 拖到 outro 的新 Tween（no ease），与官方 API 行为一致。"
      },
      {
        "item": "与 gsap-scrolltrigger 的边界是否自相矛盾",
        "status": "ok",
        "detail": "本文件 Do Not「Nest animations that contain a ScrollTrigger」与 gsap-scrolltrigger「Do Not 把 ScrollTrigger 放在 timeline 子 tween 上」方向一致，互为印证。"
      },
      {
        "item": "安全反例搜索",
        "status": "ok",
        "detail": "token 扫描：curl/wget/fetch(/exec(/child_process/process.env/.env/API_KEY 零命中；文件内无代码可执行单元（仅代码块中的示例）。"
      },
      {
        "item": "元数据（license/stars/commit）",
        "status": "ok",
        "detail": "frontmatter license: MIT；仓库 MIT；本地 HEAD = pin aed9cfd…；GitHub API stars 15326 / pushed_at 2026-07-29T17:36:08Z。"
      },
      {
        "item": "与 examples 的呼应",
        "status": "ok",
        "detail": "examples/vanilla/main.js 用 position parameter（\"+=0.2\"、\"-=0.1\"）按本 skill 规则编排 tl.to 链，可作可运行参照。"
      }
    ],
    "level": 1,
    "level_label": "V1 已固定",
    "commit": "aed9cfd3277740755f6bfc1155c7aa645403b760",
    "sha256": "b2100e5b57129ab45cdb135fa06c92b08cc8f853db119991bd28e37b7362156a",
    "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-timeline.tar.gz",
    "sha256": "b2100e5b57129ab45cdb135fa06c92b08cc8f853db119991bd28e37b7362156a",
    "commit": "aed9cfd3277740755f6bfc1155c7aa645403b760"
  },
  "original": {
    "github": "https://github.com/greensock/gsap-skills/tree/main/skills/gsap-timeline",
    "path": "skills/gsap-timeline",
    "commit": "aed9cfd3277740755f6bfc1155c7aa645403b760"
  }
}