{
  "$schema": "https://bestaiskill.com/schemas/agent-install/2.json",
  "skill": "micro-interaction",
  "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": "External network access declaration: Zero outbound network calls at execution time; delivery pages fetch React and motion from CDN (text explicitly references esm.sh; artifact-phase reference, not graded)"
    },
    {
      "file": "本地工作目录",
      "summary": "File I/O and artifact outputs: Zero disk writes within the skill directory; artifact is 1 self-contained .html file (pure CSS or inline type=module via CDN) generated by the agent"
    }
  ],
  "verification": {
    "method": "第二遍独立重读 + 反查：① 文件清单核对（本 skill 目录 4 个文件，无隐藏文件或二进制）；② token 扫描零命中（fetch(/XMLHttpRequest/curl/wget/child_process/process.env/API_KEY|TOKEN|SECRET/.env/eval(）；③ URL 扫描：仅 references 尾部的 iart.ai utm 推广链，esm.sh 只作为文字出现在 SKILL.md 的输出契约（无代码请求）；④ 支持面声明对照（SKILL.md 与 references 的 Baseline 描述差异），记 unlocatable 并在 risks 提示；⑤ 参数一致性核对（100–250ms、0.96、stiffness 400/damping 30、三条缓动）跨正文与两份 references；⑥ 档位复核：无脚本、无凭证、无写盘、执行期零外发 → green；⑦ meta 直采同批。",
    "second_pass": [
      {
        "item": "transition-behavior: allow-discrete 与 @starting-style 的支持面",
        "status": "unlocatable",
        "detail": "SKILL.md 写 Baseline in Chrome/Edge/Safari、references 写 Baseline-available in current Chrome/Edge/Safari/Firefox——两处描述不同（SKILL.md 未含 Firefox），且均无源码内依据。正文要求读者 verify @starting-style and allow-discrete for your support floor，即文档自己把核实责任交给使用者，故按文档声明记录并在 risks 提示。"
      },
      {
        "item": "layout 造成圆角与文字变形的告诫是否与配方一致",
        "status": "ok",
        "detail": "SKILL.md 的 Gotcha 段与 references 的 magic-move/layout 小节都提示需子元素反向缩放或改用 layout=\"position\"；references 另给 useMotionValue 加 useSpring 的免重渲染建议，互不矛盾。"
      },
      {
        "item": "验收方式与动效性质是否匹配（状态驱动 vs 时间驱动）",
        "status": "ok",
        "detail": "SKILL.md 明写 A micro-interaction's frames are its states (idle / hover / pressed / open) 并给 ?state= 方案，同时保留 CSS 循环动画的 animationDelay 加 paused 冻结写法，两路都对得上其讨论的动效类型。"
      },
      {
        "item": "Packaged helper 的路径基准与语义",
        "status": "discrepancy",
        "detail": "SKILL.md 写 scripts/seek-shot.sh anim.html 0 1.5 3（秒制、时间冻结），但本 skill 的验收是状态冻结（?state=open），helper 与之不匹配；且 scripts/ 在仓库根，单装形态下相对路径亦不成立。"
      }
    ],
    "level": 1,
    "level_label": "V1 已固定",
    "commit": "b6dba3eb759726845a44163ff0bad70dd9e7fbb6",
    "sha256": "17fbed1b9f12f5ad13e30ef01f04a9d77437570067f9ea015d0c5b0c42296440",
    "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/micro-interaction.tar.gz",
    "sha256": "17fbed1b9f12f5ad13e30ef01f04a9d77437570067f9ea015d0c5b0c42296440",
    "commit": "b6dba3eb759726845a44163ff0bad70dd9e7fbb6"
  },
  "original": {
    "github": "https://github.com/iart-ai/web-animation-skills/tree/main/skills/micro-interaction",
    "path": "skills/micro-interaction",
    "commit": "b6dba3eb759726845a44163ff0bad70dd9e7fbb6"
  }
}