{
  "$schema": "https://bestaiskill.com/schemas/agent-install/2.json",
  "skill": "dbs-save",
  "built": "2026-10-26",
  "control_level": 2,
  "control_level_label": "L2 本地",
  "capabilities": [
    "write_file"
  ],
  "required_controls": {
    "agent": [
      "restrict_working_directory"
    ],
    "admin": [
      "keep_operation_logs"
    ]
  },
  "evidence": [
    {
      "file": "本地工作目录",
      "summary": "File I/O and artifact output: {archive_root}/sessions/{slug}/{YYYYMMDD-HHMMSS}-{title-slug}.md (diagnostic archive containing chief complaint, conclusions, discarded directions...)"
    }
  ],
  "verification": {
    "method": "第二遍独立重读 + 反查：① 全目录 token 扫描（curl/wget/http/api_key/token/secret/exec/bash/python/openssl）零命中，确认无网络、无加密工具调用；② 逐条复核三个写入面（存档文件、config.json、可选 .gitignore）是否都带门槛——存档写入需用户明确表达保存意图、config 写入需 location 子命令 + 确认、gitignore 需用户确认；③ 复核配置解析 6 条规则与 dbs-restore/dbs-report 是否逐字一致（三处同一套，含相同失败停机条款），结论一致；④ 复核「隐私提醒三条」是否为一次性触发（首次选择项目或自定义模式时提醒一次）而非每次打扰；⑤ 反查 next_skill/status 的默认值纪律与 dbs-restore 侧使用纪律是否对齐（save 端宁空不猜 ↔ restore 端仅在用户确认后使用），两端对齐；⑥ 交叉核对仓库 README.md（「想跨对话保留工作，使用 /dbs-save、/dbs-restore 与 /dbs-report。数据默认保存在用户本机的 ~/.dbs/」）与 SKILL.md 描述一致；⑦ 复核文件命名/序号契约（YYYYMMDD-HHMMSS + title-slug，同秒冲突加随机后缀）与 dbs-restore 的排序假设兼容。",
    "second_pass": [
      {
        "item": "外部资源/工具：是否存在未声明的依赖",
        "status": "ok",
        "detail": "无 URL、无包、无 CLI；目录内仅 SKILL.md + agents/openai.yaml。external_deps 空数组成立（文中出现的 python3 datetime 命令只是 timestamp 生成建议，不构成依赖）。"
      },
      {
        "item": "安全结论：写入是否可能落到危险位置",
        "status": "ok",
        "detail": "配置解析显式拒绝 path 指向 /、家目录、项目根的场景并停机（「不要静默退回默认位置」）；config 写入有绝对路径确认；存档写入固定在 {存档根目录}/sessions/ 下，无删除操作。除用户自定义 root 外，默认落点为 ~/.dbs/。"
      },
      {
        "item": "实现原理是否成立：跨会话可恢复是否真由本 skill 保证",
        "status": "ok",
        "detail": "四要素齐备：确定路径规则、含时间戳文件名（供 dbs-restore 排序）、固定 frontmatter 字段（供解析）、固定 body 六段（供报告搬运），并规定 source_skill/next_skill 的填写纪律。恢复端（dbs-restore）的读取假设与本端写入格式逐条对应。"
      },
      {
        "item": "功能声明 vs 实际能力：description 声称的「查看或设置存档位置」",
        "status": "ok",
        "detail": "对应 location 子命令三态（查看 / default / project / custom <路径>）与「只读显示不写文件」的区分，实现与声明相符。"
      },
      {
        "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": "b6062f2bb252be4a1f33477991179c314443858b92fdd0fb85d0f5021fba57c4",
    "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-save.tar.gz",
    "sha256": "b6062f2bb252be4a1f33477991179c314443858b92fdd0fb85d0f5021fba57c4",
    "commit": "8b8e33f1ecaed8cee606fe950c4426b525ead314"
  },
  "original": {
    "github": "https://github.com/dontbesilent2025/dbskill/tree/main/skills/dbs-save",
    "path": "skills/dbs-save",
    "commit": "8b8e33f1ecaed8cee606fe950c4426b525ead314"
  }
}