{
  "$schema": "https://bestaiskill.com/schemas/agent-install/2.json",
  "skill": "kanban-board",
  "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": "正文写「To do / In progress / In review / Done」四列，示例首列是 `Backlog`（其余 In progress / In review / Done 一致）——命名口径不一致，模型照示例会输出 Backlog。"
      },
      {
        "item": "规范↔示例：卡片元数据",
        "status": "discrepancy",
        "detail": "正文要求卡片含「标题 / labels / due / avatar / 评论数」；示例命中标题、标签色（tag-feat 等）、头像缩写（av-sm av-dev）、点数（3 pts）与工单号，但**没有 due 日期、也没有评论数**——两项规范要求未在样本落地。"
      },
      {
        "item": "规范↔示例：filter bar",
        "status": "ok",
        "detail": "示例 topbar 有 `Search tickets…` 输入框，filterbar 有 Members / Labels 两组 chips，与正文 assignee/label/search 要求一致。"
      },
      {
        "item": "「看起来可拖」实现方式",
        "status": "ok",
        "detail": "示例用 `.card { … cursor: grab; }` 与 `.add-card` 虚线槽表达可拖，未引入任何拖拽脚本，符合正文「不需要真 drag，但视觉上要像可拖」。"
      },
      {
        "item": "泳道未在示例出现",
        "status": "ok",
        "detail": "正文把 swimlanes 标为「可选」，示例采用单层四列，属可选未启用，非缺口。"
      },
      {
        "item": "目录资产面普查",
        "status": "ok",
        "detail": "glob 全量：SKILL.md、example.html；无 scripts/、无 references/、无数据文件、无包管理器清单。"
      },
      {
        "item": "可执行代码普查",
        "status": "ok",
        "detail": "example.html 内 <script> 计数 = 0，fetch/XMLHttpRequest/WebSocket 命中 0；SKILL.md 全篇无脚本或可执行代码。"
      },
      {
        "item": "外链端点普查",
        "status": "ok",
        "detail": "目录内（含 example.html）零 http(s) 命中，产物离线自持。"
      },
      {
        "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": "eec7d423885faf6fb2ef21117e94607b5f59724ca080504b768c29c3510efc56",
    "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/kanban-board.tar.gz",
    "sha256": "eec7d423885faf6fb2ef21117e94607b5f59724ca080504b768c29c3510efc56",
    "commit": "553ed98c283f9c0f489902d035416a972d6a9699"
  },
  "original": {
    "github": "https://github.com/nexu-io/html-anything/tree/main/next/src/lib/templates/skills/kanban-board",
    "path": "next/src/lib/templates/skills/kanban-board",
    "commit": "553ed98c283f9c0f489902d035416a972d6a9699"
  }
}