{
  "$schema": "https://bestaiskill.com/schemas/agent-install/2.json",
  "skill": "social-media-dashboard",
  "built": "2026-10-26",
  "control_level": 4,
  "control_level_label": "L4 高权限",
  "capabilities": [
    "execute_command",
    "network"
  ],
  "required_controls": {
    "agent": [
      "sandbox_recommended",
      "graded_authorization"
    ],
    "admin": [
      "approval_process",
      "rollback_support",
      "full_audit"
    ]
  },
  "evidence": [
    {
      "file": "scripts/",
      "summary": "Execute local script or command: inline <script> in example.html (browser-side: platform switching, KPI formatting, SVG line/area plotting, contributor grid) — only inside picker preview ifra"
    },
    {
      "file": "网络端点",
      "summary": "Declare external network access: fonts.googleapis.com (<link> in example.html, font requested by the browser during preview)"
    }
  ],
  "verification": {
    "method": "第二遍独立重读 + 反查（换角度抓第一遍的错）：① glob 该模板目录全量文件（含隐藏文件）核对资产面；② 在 SKILL.md / example.* 上做 token 扫描（URL / curl / wget / fetch / exec / spawn / process.env / API_KEY / token / secret / \\.env / write / save / append / delete），逐个记录命中位置，用于判定「无脚本、无凭证、无写盘、无运行时外发」；③ 回到仓库源码核对运行时链路（loader.ts 读 frontmatter → shared.ts assemblePrompt → app/api/convert/route.ts spawn CLI → [id]/preview/route.ts 吐 example.html），确认模板不参与执行；④ git HEAD 与 GitHub API 核对 commit / license / stars / pushed_at；⑤ 用 README 与 loader.ts 的字段表交叉核对 frontmatter 语义，并逐个比对 example.html 与正文规格是否一致（本模板的差异项见 second_pass）。",
    "second_pass": [
      {
        "item": "skill 目录的脚本 / 网络 / 凭证 / 写盘面",
        "status": "ok",
        "detail": "目录仅 SKILL.md / example.html 2 个文件，无 scripts/references/数据目录；token 扫描（curl / wget / fetch / exec / spawn / process.env / API_KEY / token / secret / write / save / delete）在该目录的 SKILL.md 中零命中；无自带可执行脚本。"
      },
      {
        "item": "运行时链路复核",
        "status": "ok",
        "detail": "重读 loader.ts / shared.ts / app/api/convert/route.ts / app/api/templates/[id]/preview/route.ts：模板正文只作为 prompt body 被 assemblePrompt 拼装，宿主 spawn 本地 CLI 并捕获 stdout；模板不参与任何执行。"
      },
      {
        "item": "commit 与元数据",
        "status": "ok",
        "detail": "工作副本 git HEAD = 553ed98c283f9c0f489902d035416a972d6a9699（＝任务表 pin 的 full 40 位）；GitHub API nexu-io/html-anything：stars 8827、license spdx Apache-2.0、pushed_at 2026-09-15T03:36:24Z（与本地 HEAD 提交时间 2026-09-15 11:36:24 +0800 一致）。"
      },
      {
        "item": "README 与源码的 frontmatter schema 漂移（仓库级）",
        "status": "discrepancy",
        "detail": "README 第 213 / 217 / 468 行称模板 frontmatter 必须含 mode · scenario · surface · preview · design_system；但在 next/src/lib/templates/skills/ 下 '^mode:'、'^surface:'、'^design_system:' 全部零命中，实际字段是 category / scenario / aspect_hint / featured / recommended + example_*（loader.ts 的 SkillFrontmatter）。文档滞后于代码，不影响本模板运行，但照 README 新写模板会踩空。"
      },
      {
        "item": "frontmatter 元数据映射",
        "status": "ok",
        "detail": "loader.ts fmToMeta 逐字段映射 zhName / enName / emoji / description / category / scenario / aspectHint / tags + featured / recommended + example 卡；本模板取自 SKILL.md 的实际取值与之相符。"
      },
      {
        "item": "example.html 与 SKILL.md 的一致性（平台数量）",
        "status": "discrepancy",
        "detail": "正文写 '- 顶部平台 switcher (X / LinkedIn / YouTube / Instagram / TikTok)'，示例 HTML 只渲染两个按钮（data-platform=\"x\" 与 data-platform=\"github\"）；内联 platformData 里确有 x/linkedin/youtube/instagram 四套数据，GitHub 走贡献者分支。只看示例会以为平台只有两个。"
      },
      {
        "item": "外部图片 URL 与仓库共享指令相左",
        "status": "discrepancy",
        "detail": "shared.ts 的共享指令要求「不要引用任何外部图片 URL」，但本模板的 example.html 把 5 个 GitHub 头像写成 https://avatars.githubusercontent.com/u/… 绝对地址并在 <img src> 里加载，是该产物唯一会向第三方图床发请求的地方（作为示例产物可接受，但用户直接复用示例时会带上外部依赖）。"
      },
      {
        "item": "端点扫描（目录内）",
        "status": "ok",
        "detail": "2 类端点：fonts.googleapis.com（Space Grotesk / Inter）与 avatars.githubusercontent.com（5 个头像）；无 Tailwind CDN；SKILL.md 正文零 URL。"
      }
    ],
    "level": 1,
    "level_label": "V1 已固定",
    "commit": "553ed98c283f9c0f489902d035416a972d6a9699",
    "sha256": "5c0986485a0bc508a5e9fa3048a84180605bc5cf7fa068ad563319bbb8fba9bf",
    "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/social-media-dashboard.tar.gz",
    "sha256": "5c0986485a0bc508a5e9fa3048a84180605bc5cf7fa068ad563319bbb8fba9bf",
    "commit": "553ed98c283f9c0f489902d035416a972d6a9699"
  },
  "original": {
    "github": "https://github.com/nexu-io/html-anything/tree/main/next/src/lib/templates/skills/social-media-dashboard",
    "path": "next/src/lib/templates/skills/social-media-dashboard",
    "commit": "553ed98c283f9c0f489902d035416a972d6a9699"
  }
}