{
  "$schema": "https://bestaiskill.com/schemas/agent-install/2.json",
  "skill": "fact-checker",
  "built": "2026-10-26",
  "control_level": 3,
  "control_level_label": "L3 联网",
  "capabilities": [
    "network",
    "write_file"
  ],
  "required_controls": {
    "agent": [
      "declare_domain_and_key_scope"
    ],
    "admin": [
      "least_privilege_keys",
      "keep_request_logs"
    ]
  },
  "evidence": [
    {
      "file": "网络端点",
      "summary": "Declared external network access: All network traffic is initiated via the host's web search tool (the skill contains no code or endpoint constants of its own); SKILL.md designates search targets as official vendor domains and package registries."
    },
    {
      "file": "本地工作目录",
      "summary": "File read/write and artifact output: Modifies assertions in user documents deemed incorrect/outdated using the host's Edit tool (Step 5; strictly conditional on obtaining explicit user approval)."
    }
  ],
  "verification": {
    "method": "第二遍独立重读 + 反查（换角度抓第一遍的错）：① glob 全量文件清单核实目录面（仅 fact-checker/SKILL.md 与 fact-checker/README.md，无 scripts/、references/、evals/、无隐藏文件）——这决定了 scripts_executed 必为空，不能凭 description 里的「web search」推测出脚本；② 全目录 token 扫描（https?://、curl、wget、fetch(、API_KEY、TOKEN、SECRET、.env、cookie、keychain、credential、process.env、os.environ、subprocess、exec(、spawn），仅 3 处命中且全为文档内容：SKILL.md:106 的 platform.claude.com 来源示例、SKILL.md:113 的 openai.com 示例、README.md:188 的仓库链接——均属修正报告模板里的来源 URL，非调用点；③ 逐条核对 external_deps 是否为「真实调用点 vs 文档提及」：本 skill 无代码，故全部外部依赖都在文档层，已在 endpoint 与 name 字段中逐条标注是「作为检索目标列出」还是「建议用户运行」；④ 功能声明 vs 实际能力：description 承诺 web search + official sources + user confirmation 三件事，SKILL.md 的 Step 2 / 来源分层 / Step 5 门禁逐条兑现，无夸大；⑤ 文档一致性交叉核对：SKILL.md 与 README.md 的五步流程、来源排序、四档状态、局限清单互相一致（README 是 SKILL 的对外复述，无额外承诺）。",
    "second_pass": [
      {
        "item": "是否真的没有脚本（description 提到 web search 会不会误导）",
        "status": "ok",
        "detail": "事实核查：目录内无 .py/.sh/.mjs/.js，无 package.json；description 的『using web search』指的是宿主提供的搜索能力，不是自带脚本。故 scripts_executed = []，与 README『No configuration required. The skill works out of the box.』一致。"
      },
      {
        "item": "『用户批准才改』是否只是口号",
        "status": "ok",
        "detail": "SKILL.md Step 5 明确列三条前置（Show the correction report / Wait for explicit approval / Only proceed after confirmation），并给出询问原句 'Should I apply these corrections?'。这是提示词级约束，无技术强制，但表述是命令式而非建议式。"
      },
      {
        "item": "外部资源条目：域名是否被误当成调用点",
        "status": "discrepancy",
        "detail": "〔第二遍标注：需精确措辞〕SKILL.md 里的 anthropic.com / openai.com / blog.google / platform.claude.com / npm / PyPI / crates.io / llm-stats.com 全部出现在「检索目标示例」与「来源评估」段落中，是给模型的指导清单，不是代码常量。已在 external_deps 的 name 字段逐条写明性质（『作为检索目标列出』『被明确要求严格管控』），避免读者误以为 skill 会主动请求这些站点。"
      },
      {
        "item": "『无法核实』是否真的一等公民（找反例）",
        "status": "ok",
        "detail": "四档里含 ❓ Unverifiable，Handling ambiguity 段落给出无来源时的三条动作（标 Unverifiable / 给限定话术 / 建议加 approximately 之类的限定词），Limitations 段落重申不能判定争议事实。三处互相印证，非单点承诺。"
      },
      {
        "item": "时效性纪律是否两文档一致",
        "status": "ok",
        "detail": "SKILL.md 的 Time-sensitive information 段落给出 Good/Poor corrections 对照；README 的 Real-World Example 把『Added temporal marker \"截至 2026 年 1 月\"』写进改动清单。两处一致。"
      },
      {
        "item": "数字精度要求是否有对应实现路径",
        "status": "ok",
        "detail": "Numerical precision 段落给出 Source says → Write 的对照（approximately 1 million tokens → 1M tokens (approximately)），并在 Citation format 段落要求把来源写进修正文本。属文档级规范，无脚本可验证，属『提示词约束』性质。"
      },
      {
        "item": "元数据（license/stars/last_push）",
        "status": "ok",
        "detail": "取自同 repo 同 commit 的池内既有值（MIT、1385★、2026-09-09T12:33:29Z）；本次未联网复核 gh。README 自述 License 为 MIT License - See repository for details，与仓库根 LICENSE 一致。"
      },
      {
        "item": "下游交接是否造成隐式依赖",
        "status": "ok",
        "detail": "Next Step 段落只提出选项并要求用户运行 /daymade-docs:pdf-creator 或 :ppt-creator，skill 自身不调用、不 import，属软建议而非硬依赖。"
      }
    ],
    "level": 1,
    "level_label": "V1 已固定",
    "commit": "d5c4678cb5d4fd6acc9c922690df035dbd33d247",
    "sha256": "fedd09ed5369f915a09f7464c022f0ca7112b5e476df735c4d6a3bee836f10e3",
    "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/fact-checker.tar.gz",
    "sha256": "fedd09ed5369f915a09f7464c022f0ca7112b5e476df735c4d6a3bee836f10e3",
    "commit": "d5c4678cb5d4fd6acc9c922690df035dbd33d247"
  },
  "original": {
    "github": "https://github.com/daymade/claude-code-skills/tree/main/fact-checker",
    "path": "fact-checker",
    "commit": "d5c4678cb5d4fd6acc9c922690df035dbd33d247"
  }
}