{
  "$schema": "https://bestaiskill.com/schemas/agent-install/2.json",
  "skill": "hv-analysis",
  "built": "2026-10-26",
  "control_level": 4,
  "control_level_label": "L4 高权限",
  "capabilities": [
    "execute_command",
    "install_deps",
    "network",
    "write_file"
  ],
  "required_controls": {
    "agent": [
      "sandbox_recommended",
      "graded_authorization"
    ],
    "admin": [
      "approval_process",
      "rollback_support",
      "full_audit"
    ]
  },
  "evidence": [
    {
      "file": "scripts/",
      "summary": "Local script or command execution: scripts/md_to_pdf.py (local Python run by user or agent): reads Markdown, writes intermediate HTML and final PDF; no"
    },
    {
      "file": "scripts/ 或 SKILL.md",
      "summary": "Declares dynamic installation of external language package dependencies"
    },
    {
      "file": "网络端点",
      "summary": "Declares external network access: GET https://export.arxiv.org/api/query?search_query=... — paper retrieval for academic research subjects (SKIL"
    },
    {
      "file": "本地工作目录",
      "summary": "File I/O and artifact output: Research stage: `[Research_Subject]_Horizontal_Vertical_Analysis_Report.md` (Markdown draft saved to user's working directory)"
    }
  ],
  "verification": {
    "method": "第二遍独立重读 + 反查：① 文件清单核对资产面（SKILL.md + scripts/md_to_pdf.py + references/schema.json，无其它文件）；② 通读 md_to_pdf.py 核对「只读 md、写 html/pdf、无网络无 subprocess」；③ token 扫描确认网络端点仅 arxiv 两处 + 本地路径探测 /mnt/.claude/skills/web-access/SKILL.md；④ 核对篇幅表三行与质检清单末条是否互相矛盾（质检要求 10,000-30,000 字，与三段区间之和一致）；⑤ 核对 SKILL.md 里「脚本内置排版规范」与 md_to_pdf.py 的 CSS_TEMPLATE 是否对应（A4/margin、封面、H1-H4 颜色、页脚「第 X 页」）；⑥ 夸大检查：description 声称的「双轴分析 + 精美 PDF 报告」都由正文与自带脚本兑现，无越界承诺。",
    "second_pass": [
      {
        "item": "arxiv API 调用点真实存在",
        "status": "ok",
        "detail": "SKILL.md 子 agent 指引段给出 `curl -s \"https://export.arxiv.org/api/query?search_query=all:关键词1+AND+all:关键词2&max_results=10\"`，并说明返回 XML（标题/作者/摘要/日期/PDF 链接），调用点真实。"
      },
      {
        "item": "md_to_pdf.py 无网络/无子进程",
        "status": "ok",
        "detail": "脚本 import 仅 sys/os/re/argparse/markdown；无 requests/urllib/socket/subprocess；行为＝读 md、写 html、WeasyPrint 输出 pdf。"
      },
      {
        "item": "CSS 与正文所述排版规范对应",
        "status": "ok",
        "detail": "CSS_TEMPLATE 含 @page A4 margin 25mm/20mm、「第 X 页」@bottom-center、@page :first 隐藏页眉页脚等，与 SKILL.md「脚本内置的排版规范」一致。"
      },
      {
        "item": "第三方依赖与安装命令",
        "status": "ok",
        "detail": "SKILL.md 两处写 `pip install weasyprint markdown --break-system-packages`（环境准备与生成 PDF 步骤各一次），已标为 yellow 的附加风险点。"
      },
      {
        "item": "web-access skill 路径探测",
        "status": "ok",
        "detail": "原文为「如果用户环境中安装了 web-access skill（检查路径 `/mnt/.claude/skills/web-access/SKILL.md` 是否存在），优先加载它并遵循其指引」——是本地路径存在性判断，不产生网络请求。"
      },
      {
        "item": "字数指标一致性",
        "status": "ok",
        "detail": "纵向 6,000-15,000 + 横向 3,000-10,000 + 交汇 1,500-3,000 与「全文总计 10,000-30,000 字」及质检清单末条吻合。"
      },
      {
        "item": "来源分级与防循环印证",
        "status": "ok",
        "detail": "「一手来源优于二手来源，多个媒体引用同一个错误会造成循环印证假象」+ 五行信息类型/一手来源表逐字核对通过。"
      },
      {
        "item": "无凭证读取",
        "status": "ok",
        "detail": "API_KEY/token/secret/keychain 零命中；全文不涉及登录态或私有 API。"
      },
      {
        "item": "schema.json 的实际用途",
        "status": "ok",
        "detail": "references/schema.json 为横纵分析法的字段骨架（meta / 纵轴_生命历程 / …），SKILL.md 正文未强制输出该 JSON——它是参考契约而非运行时必需，已在 internal_assets 注明。"
      },
      {
        "item": "与 khazix-writer 的分工",
        "status": "ok",
        "detail": "description 明写「不要用于公众号写作（那个用khazix-writer）、不要用于纯标题摘要生成（用wechat-title）」，并在写作风格节引用 khazix-writer 的定义。"
      },
      {
        "item": "commit / 元数据",
        "status": "ok",
        "detail": "pin 目录 HEAD＝48e8ba527f0be55f77772debb979c92f06acf5c0（与任务表一致）；GitHub API：stars 20687、pushed_at 2026-09-13T06:39:20Z、仓库 spdx=MIT；skill 目录内无独立 LICENSE，沿用仓库根 MIT。"
      }
    ],
    "level": 1,
    "level_label": "V1 已固定",
    "commit": "48e8ba527f0be55f77772debb979c92f06acf5c0",
    "sha256": "9659c7f314c71b5876522260a1e6f40bea0c7fe84db291f438a8cb526d262292",
    "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/hv-analysis.tar.gz",
    "sha256": "9659c7f314c71b5876522260a1e6f40bea0c7fe84db291f438a8cb526d262292",
    "commit": "48e8ba527f0be55f77772debb979c92f06acf5c0"
  },
  "original": {
    "github": "https://github.com/KKKKhazix/khazix-skills/tree/main/hv-analysis",
    "path": "hv-analysis",
    "commit": "48e8ba527f0be55f77772debb979c92f06acf5c0"
  }
}