{
  "$schema": "https://bestaiskill.com/schemas/agent-install/2.json",
  "skill": "dbs-restore",
  "built": "2026-10-26",
  "control_level": 3,
  "control_level_label": "L3 联网",
  "capabilities": [
    "network"
  ],
  "required_controls": {
    "agent": [
      "declare_domain_and_key_scope"
    ],
    "admin": [
      "least_privilege_keys",
      "keep_request_logs"
    ]
  },
  "evidence": [
    {
      "file": "环境变量 / API Key",
      "summary": "Read provider service credentials: reads .dbs/config.json (archive root config, mode=default/project/custom + root), which is local user configuration containing no secrets"
    }
  ],
  "verification": {
    "method": "第二遍独立重读 + 反查：① 全目录 token 扫描（curl/wget/http/api_key/token/secret/exec/bash/write/mkdir/rm）零命中——特别是写类动词全无，坐实「只读」；② 复核存档根目录解析三条与 dbs-save/dbs-report 是否逐字一致（三模式 + 同一失败停止条件），三处一致；③ 反查「不主动路由」与 Step 5/与其他 skill 的衔接表是否矛盾——不矛盾：衔接表有前置条件「用户回应」，且 A 分支要求用户明确确认；④ 复核容错条款（格式错误不拒绝展示）与 dbs-report 同类条款一致；⑤ 复核 next_skill 使用纪律是否与 dbs-save 侧一致（dbs-save 要求「不要瞎猜…错了比空更糟」，dbs-restore 要求仅在用户确认后使用），两端对齐；⑥ 交叉核对仓库 README.md（「想跨对话保留工作，使用 /dbs-save、/dbs-restore 与 /dbs-report。数据默认保存在用户本机的 ~/.dbs/」）确认存储位置描述一致。",
    "second_pass": [
      {
        "item": "外部资源/工具：是否存在未声明的依赖",
        "status": "ok",
        "detail": "无 URL、无包、无 CLI；目录内仅 SKILL.md + agents/openai.yaml。external_deps 空数组成立。"
      },
      {
        "item": "安全结论：是否真的零写入",
        "status": "ok",
        "detail": "全文写入动作为零；对配置明确「只读取配置，不修改配置」，用户要改位置时引导到 /dbs-save location。边界情况里的「不要跨目录自动搜索私人文件」进一步收窄读取面。"
      },
      {
        "item": "实现原理是否成立：跨会话接续真能成立吗",
        "status": "ok",
        "detail": "成立的前提三件：存档命名含时间戳（dbs-save 保证）、按文件名而非 mtime 排序（本 skill 明文规定）、路由时把存档内容喂给下一跳（本 skill 明文规定）。三者环环相扣，缺一不可，文中都已写死。"
      },
      {
        "item": "证据定位：仓库级元数据（stars/last_push）与 installs",
        "status": "unlocatable",
        "detail": "stars=10121、last_push=2026-09-07 来自站点池 data/pool.json（GitHub API 采集），pin 源码内无法逐字定位；installs 未采集记 null。license 可在仓库根 LICENSE 逐字命中。"
      }
    ],
    "level": 1,
    "level_label": "V1 已固定",
    "commit": "8b8e33f1ecaed8cee606fe950c4426b525ead314",
    "sha256": "b38b6b7cd8efab8281e2f8781510f1c5e76f9a0e409e31918f6bcabe0893c1fc",
    "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/dbs-restore.tar.gz",
    "sha256": "b38b6b7cd8efab8281e2f8781510f1c5e76f9a0e409e31918f6bcabe0893c1fc",
    "commit": "8b8e33f1ecaed8cee606fe950c4426b525ead314"
  },
  "original": {
    "github": "https://github.com/dontbesilent2025/dbskill/tree/main/skills/dbs-restore",
    "path": "skills/dbs-restore",
    "commit": "8b8e33f1ecaed8cee606fe950c4426b525ead314"
  }
}