{
  "$schema": "https://bestaiskill.com/schemas/agent-install/2.json",
  "skill": "frame-macos-notification",
  "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": "第二遍独立重读 + 反查（换角度抓第一遍的错）：① glob 目录全量清单（含隐藏文件）核对资产面，并把 SKILL.md 正文与 example.html 逐条对照，找「规范说了但示例没做 / 示例做了但规范没说」；② 对目录内所有文本做 token 扫描（URL/fetch/XMLHttpRequest/WebSocket/<script>/API_KEY/token/secret/.env/cookies/exec/spawn/fs. 等）确认零脚本零端点零凭证；③ 沿消费链回源核对机制：/api/convert route → templates/loader.ts（loadSkill/loadSkillFromDir）→ templates/shared.ts（assemblePrompt 的共享前言）→ agents/invoke.ts（spawn 本地 CLI）→ components/preview-pane.tsx（sandbox iframe），确认「skill 是纯 prompt」而非本目录内有代码；④ 用 GitHub API 核对 stars/pushed_at/license，并以 git log -1 核对工作副本 HEAD == 任务 pin；⑤ 功能声明 vs 实际能力夸大检查：frontmatter description 描述的版式能力全部由 prompt 文本 + 示例兑现，无越界承诺。",
    "second_pass": [
      {
        "item": "规范↔示例：横幅尺寸",
        "status": "discrepancy",
        "detail": "正文写 `480×120 (或更长 480×180 含正文)`，示例实际是 w-[420px] p-3 的三张 420px 宽横幅（含标题 + 双行正文后高度超出 120px）——示例未按自身规范出图，模型同时看到两份口径。"
      },
      {
        "item": "规范↔示例：入场动效时长",
        "status": "discrepancy",
        "detail": "正文写 `200ms ease-out`，示例是 `animation: slideIn .4s ease-out`（400ms）。"
      },
      {
        "item": "规范↔示例：磨砂/图标/堆叠/按钮",
        "status": "ok",
        "detail": "rgba(28,28,30,0.78) + backdrop-filter blur(40px) saturate(180%)、-webkit- 前缀、CSS gradient 图标、scale 0.96/0.92 堆叠、Open 胶囊按钮均在 example.html 命中，与正文一致。"
      },
      {
        "item": "example.md 与 example.html 一致性",
        "status": "ok",
        "detail": "example.md 的 App/Title/Body/Time 与二级通知（Cursor/Spotify）逐条对应示例中的三张横幅。"
      },
      {
        "item": "目录资产面普查",
        "status": "ok",
        "detail": "glob 全量：SKILL.md、example.html、example.md；无 scripts/、无 references/、无数据文件、无包管理器清单。"
      },
      {
        "item": "可执行代码普查",
        "status": "ok",
        "detail": "example.html 内 <script> 计数 = 1，fetch/XMLHttpRequest/WebSocket 命中 0；SKILL.md 全篇无脚本或可执行代码。"
      },
      {
        "item": "外链端点普查",
        "status": "ok",
        "detail": "目录内 URL：https://cdn.tailwindcss.com、https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Noto+Sans+SC:wght@400;500;700&display=swap、https://hyperframes.heygen.com/catalog（皆为 example.html 产物示例或 frontmatter 出处标注；正文未要求运行期外发）"
      },
      {
        "item": "official_desc 逐字核对",
        "status": "ok",
        "detail": "meta.official_desc 与 SKILL.md frontmatter 的 description 逐字一致。"
      },
      {
        "item": "commit 核对",
        "status": "ok",
        "detail": "工作副本 HEAD = 553ed98c283f9c0f489902d035416a972d6a9699，与任务表 pin 一致；该 commit 提交时间 2026-09-15 11:36:24 +0800，等于 GitHub API 的 pushed_at 2026-09-15T03:36:24Z（即 pin 落在 main 顶端）。"
      }
    ],
    "level": 1,
    "level_label": "V1 已固定",
    "commit": "553ed98c283f9c0f489902d035416a972d6a9699",
    "sha256": "f9ec98ded8bf2d9610856e7b5c9f384d010a840a9e3e461a014b3abb02384519",
    "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/frame-macos-notification.tar.gz",
    "sha256": "f9ec98ded8bf2d9610856e7b5c9f384d010a840a9e3e461a014b3abb02384519",
    "commit": "553ed98c283f9c0f489902d035416a972d6a9699"
  },
  "original": {
    "github": "https://github.com/nexu-io/html-anything/tree/main/next/src/lib/templates/skills/frame-macos-notification",
    "path": "next/src/lib/templates/skills/frame-macos-notification",
    "commit": "553ed98c283f9c0f489902d035416a972d6a9699"
  }
}