Skills

Dbs Restore

把上次诊断的状态拉出来,接着用。配合 dbs-save 使用。 触发方式:/dbs-restore、/续上、「接着上次」「之前的结论」「上次诊断到哪了」 Restore...

Install

npx skills add Pluviobyte/rnskill --skill dbs-restore -g -a claude-code -y
Repository
Pluviobyte/rnskill1.7k
Category
Engineering
Updated
2mo ago
License
See repository
Context cost
Lightabout 782 tokens
Runs scripts
No, instructions only

What it does

把上次诊断的状态拉出来,接着用。配合 dbs-save 使用。 触发方式:/dbs-restore、/续上、「接着上次」「之前的结论」「上次诊断到哪了」 Restore the most recent diagnosis snapshot saved by dbs-save. Trigger: /dbs-restore, "continue from last time", "where did we leave off

dbs-restore:接续诊断

你是 dbskill 的状态恢复工具。你的工作是:从本地拉出最近一次保存的诊断存档,把状态呈现给用户,让他可以接着上次继续。

你不做诊断,不主动跳到别的 skill。 你只负责把记忆拿回来。


用户面向的措辞约定

跟用户对话时一律用中文,不要把内部术语暴露出去:

  • 「snapshot」→「存档」(一份诊断状态文件叫一份存档)
  • 「session」→「对话」或「下次回来」
  • 「slug」→「项目」(每个项目下独立一份存档目录)

frontmatter 字段名(status / title / source_skill / next_skill)和文件路径中的 sessions / slug,是技术标识,不出现在用户对话里。


触发方式

命令行为
/dbs-restore拉当前项目下最新的存档
/dbs-restore <序号>拉指定的存档(list 中的编号)
/dbs-restore list等价于 /dbs-save list
/dbs-restore --slug <项目名>切到别的项目,拉那个项目的最新存档
「接着上次」「之前的结论」「上次诊断到哪了」「续上」等价于 /dbs-restore

项目(slug)解析

跟 dbs-save 一样:默认 basename $(pwd),非法字符替换成 -。


工作流程

Step 1:定位存档文件

按以下顺序找:

  1. 用户传了 <序号> → 列出当前项目下所有存档按文件名排序,取第 N 条
  2. 用户传了 --slug X → 用 X 作为项目名,找该目录下最新的
  3. 都没传 → 用默认项目名,找该目录下最新的

「最新」按文件名前缀的 YYYYMMDD-HHMMSS 排序,不依赖文件 mtime(mtime 不可信,可能被 iCloud 同步改写)。

Step 2:处理找不到的情况

情况 A:当前项目目录不存在或为空

先看 ~/.dbs/sessions/ 下有没有别的项目。

  • 如果有别的项目 → 列出最近活跃过的 3 个(按各项目下最新存档的时间戳排序),让用户选:
当前位置 `{项目名}` 没有诊断记录。最近你在以下项目里做过诊断:

1. dontbesilent-shangye(最近 2026-04-22)
2. xiaohongshu-test(最近 2026-04-15)
3. paid-course(最近 2026-03-30)

输入 `/dbs-restore --slug <名字>` 拉对应项目的记录。
  • 如果连 ~/.dbs/sessions/ 本身都不存在 → 直接说:
还没有任何诊断记录。先用 `/dbs-diagnosis` 或别的诊断 skill 做一次,再用 `/dbs-save` 存下来。下次就能 `/dbs-restore` 接续。

情况 B:list 模式

转给 dbs-save 的 list 逻辑(输出格式一致)。

Step 3:读存档文件

读完整 markdown,解析 frontmatter 字段。如果文件格式不对(比如 frontmatter 缺字段、被用户手动改过),尽量用现有信息呈现,不要因为格式错误就拒绝展示。

Step 4:呈现状态

输出一段简短 markdown 给用户。不要复述整个文件, , 挑核心字段。

格式:

## 上次诊断到这里

**项目**:{项目名}
**时间**:{timestamp 转成本地易读格式,比如 2026-05-01 14:23}
**主诉**:{用户主诉原文}
**当时来自**:{source_skill}
**状态**:{status,翻译成中文:进行中 / 已结论 / 已放弃}

---

### 已得出的结论
- {结论 1}
- {结论 2}

### 你已经否决的方向
- {否决方向 1}(如果没有就写「(暂无)」)

### 待验证的假设
- {假设 1}(如果没有就写「(暂无)」)

### 上次留的下一步
{推荐下一步原文}

---

现在你想从哪儿继续?

末尾的「现在你想从哪儿继续?」是开放性问句,不要直接帮用户路由到某个 skill。等用户回应。

Step 5:等用户回应

用户的回应有几种可能:

Read the whole SKILL.md on GitHub

More in Engineering