{
  "$schema": "https://bestaiskill.com/schemas/agent-install/2.json",
  "skill": "deck-ljg-present",
  "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, containing no script execution or external impact"
    }
  ],
  "verification": {
    "method": "第一遍：读 SKILL.md frontmatter + 正文，再逐行读 example.html，把每条描述落到具体 CSS/SVG/JS 实现；同时读宿主链路 loader.ts / shared.ts / deck.ts / convert route / agents/invoke.ts 以判断哪些行为属宿主。第二遍（独立重做，抓第一遍的错）：① 目录逐文件清点与字节数；② 全目录 token 扫描（script/curl/wget/fetch/XHR/env/KEY/token/.env/write/eval）核对「无脚本无凭证无外发」；③ 对每条「实现原理」claim 反向找反例（如自称力导向是否有布局计算、自称 WebGL 是否有 canvas、自称单色是否有渐变）；第四步：功能声明 vs 实际能力对照（SKILL.md 描述逐条到 example.html 找实现点，找不到或与描述不符的记 discrepancy/unlocatable，不替模板圆场）；第五步：git rev-parse HEAD 核对 pin，并确认 skill.path 下有 SKILL.md。判级对象仅限 skill 自身目录。",
    "second_pass": [
      {
        "item": "「1:1 铸页」是否在示例中真实成立",
        "status": "ok",
        "detail": "example.md 的结构（# AI / ## 两个二级标题 / 两个列表 / --- / ## 收束问句）与 example.html 的 8 项 SLIDES 逐项对应：首项 emphasis 单字 AI、列表项按 indent:1 渲染、--- 变成空 lines 的 emphasis 休止页、末页 emphasis 收束。"
      },
      {
        "item": "字号档位是否由代码而非人工决定",
        "status": "ok",
        "detail": "lengthTier() 以「最长行字符数 +（行数-1）×4」判断档位，lineCharLen() 对 CJK 字符计权 1.8，与 SKILL.md 的档位表一致。"
      },
      {
        "item": "「不要外链 CDN」是否被示例遵守",
        "status": "ok",
        "detail": "example.html 与 SKILL.md 各自的 http(s):// 计数均为 0；SKILL.md 内有 2 处 github.com 链接（frontmatter example_source_url 与正文致谢的上游 ljg-skills 出处），属第三方来源标注而非运行时资源。内嵌骨架本身不含任何 CDN / 字体外链，字体走系统栈，产物可离线双击打开。"
      },
      {
        "item": "注入面：SLIDES 文本是否被转义",
        "status": "ok",
        "detail": "escapeHtml() 对 & < > \" ' 做实体转义，再拼进 innerHTML；SLIDES 内容来自用户大纲，属必要防护。"
      },
      {
        "item": "example.html 的 <script> 是否属模板自带可执行代码",
        "status": "discrepancy",
        "detail": "是（本批 deck 示例里唯一有 1 个 <script> 的目录）。该脚本是 SKILL.md 内嵌骨架的一部分（翻页交互 + 字号分档），只会操作 DOM 与读取键盘/触摸事件，无网络请求、无存储、无凭证访问；展示层按「模板自带脚本」理解即可，不影响判档（仍为 green：无外发、无写盘）。"
      },
      {
        "item": "pin commit 与路径",
        "status": "ok",
        "detail": "HEAD = 553ed98c283f9c0f489902d035416a972d6a9699；skill.path = next/src/lib/templates/skills/deck-ljg-present，含 SKILL.md。"
      },
      {
        "item": "README 收录一致性",
        "status": "discrepancy",
        "detail": "README 的 deck 表列出 20 个 deck-* 模板，但没有 deck-ljg-present（该 pin 下 deck-* 实为 21 个）。文档滞后，不影响模板行为。"
      }
    ],
    "level": 1,
    "level_label": "V1 已固定",
    "commit": "553ed98c283f9c0f489902d035416a972d6a9699",
    "sha256": "d549ea071c2237ece9d11ef5ff1706538f81af015775f54b7c785b8b24bd5264",
    "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/deck-ljg-present.tar.gz",
    "sha256": "d549ea071c2237ece9d11ef5ff1706538f81af015775f54b7c785b8b24bd5264",
    "commit": "553ed98c283f9c0f489902d035416a972d6a9699"
  },
  "original": {
    "github": "https://github.com/nexu-io/html-anything/tree/main/next/src/lib/templates/skills/deck-ljg-present",
    "path": "next/src/lib/templates/skills/deck-ljg-present",
    "commit": "553ed98c283f9c0f489902d035416a972d6a9699"
  }
}