{
  "$schema": "https://bestaiskill.com/schemas/agent-install/2.json",
  "skill": "vfx-text-cursor",
  "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 directives and rule text, without script execution or external side effects"
    }
  ],
  "verification": {
    "method": "第二遍独立重读 + 反查（换角度抓第一遍的错）：① 对 9 个模板目录逐个 find，核对资产面（每个目录仅 SKILL.md + example.html[/example.md]，无 scripts/references/模板/数据文件）；② 逐目录 grep 'https?://' 与 '<script'，把端点与脚本执行面钉到具体文件行；③ 沿调用链反查宿主是否真消费模板约定：next/src/lib/templates/loader.ts（扫盘 + frontmatter 解析）、next/src/lib/templates/shared.ts（assemblePrompt 与全局指令）、next/src/app/api/convert/route.ts（body → prompt）、next/src/app/api/templates/[id]/preview/route.ts（example.html 直出）、cli/src/skills-matcher.ts（关键词直配）、next/src/lib/deck.ts 与 next/src/lib/hyperframes.ts（section 约定解析）、next/src/components/export-menu.tsx（导出动作）；④ 功能声明 vs 示例实现逐条对表：凡正文要求而示例未实现者（如 vfx 的逐字揭示、weekly-update 的 hash 同步、video-hyperframes 的行内 frame 标记、soft 的 button-in-button、wireframe 的字体名与 CLI 强信号行）一律标 discrepancy，不硬写为 ok；⑤ 元数据核对：本地 git HEAD == 553ed98c283f（== 任务 pin），git remote 为 github.com/nexu-io/html-anything，GitHub API 取 stars/license/pushed_at。步骤 ④ 的结果即下方 second_pass 的 discrepancy 项。",
    "second_pass": [
      {
        "item": "skill 目录文件清单",
        "status": "ok",
        "detail": "find 得 SKILL.md + example.html + example.md，无 scripts/references。"
      },
      {
        "item": "外部端点只出现在示例/元数据",
        "status": "ok",
        "detail": "SKILL.md 正文无 URL；两个 URL 分别位于 frontmatter example_source_url（元数据）与 example.html 的 Tailwind CDN / Google Fonts link。"
      },
      {
        "item": "逐字揭示/计时器是否在示例中实现",
        "status": "discrepancy",
        "detail": "SKILL.md 写明「@keyframes + JS 计时器 (setTimeout 逐字)」与 0.5s shimmer、reduced-motion 降级；example.html 只有 CSS blink 光标 + 静态 text-shadow，grep 无 setTimeout / prefers-reduced-motion / shimmer，属示例未实现正文声明的动效（示例是静帧预览）。"
      },
      {
        "item": "「不要外链字体以外的资源」是否被示例遵守",
        "status": "discrepancy",
        "detail": "正文禁非字体外链，但 example.html 引入 https://cdn.tailwindcss.com 脚本；该 Tailwind 要求实为宿主全局指令（shared.ts）强制，说明模板正文与宿主壳在此点冲突。"
      },
      {
        "item": "chromatic 只在 reveal 瞬间 vs 示例静态",
        "status": "discrepancy",
        "detail": "正文要求像散在 reveal 瞬间出现并 200ms 内收敛；示例 .chroma 是整段 h1 的静态 text-shadow。"
      },
      {
        "item": "CLI 匹配器路由",
        "status": "ok",
        "detail": "cli/src/skills-matcher.ts 存在 [[\"VFX\", \"特效\", \"光标\", \"cursor\", \"chromatic\", \"reveal\"], \"vfx-text-cursor\"] 行。"
      },
      {
        "item": "判级 green 自证",
        "status": "ok",
        "detail": "目录零脚本文件、零凭证、零写盘；正文未点名运行时接口，端点仅见示例与 frontmatter 元数据 → green。"
      },
      {
        "item": "official_desc 逐字",
        "status": "ok",
        "detail": "meta.official_desc 取自 frontmatter description 原文。"
      }
    ],
    "level": 1,
    "level_label": "V1 已固定",
    "commit": "553ed98c283f9c0f489902d035416a972d6a9699",
    "sha256": "315c18b1b92b614f4ce37594393a26ebd543c74301cc5d337be0e5edb5ca5ef3",
    "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/vfx-text-cursor.tar.gz",
    "sha256": "315c18b1b92b614f4ce37594393a26ebd543c74301cc5d337be0e5edb5ca5ef3",
    "commit": "553ed98c283f9c0f489902d035416a972d6a9699"
  },
  "original": {
    "github": "https://github.com/nexu-io/html-anything/tree/main/next/src/lib/templates/skills/vfx-text-cursor",
    "path": "next/src/lib/templates/skills/vfx-text-cursor",
    "commit": "553ed98c283f9c0f489902d035416a972d6a9699"
  }
}