# Dbs Report

把多次 dbs-save 攒下来的诊断状态合并成一份可交付的 markdown 报告。 触发方式：/dbs-report、/出报告、「打包」「整理一份」「给合伙人看的」...

- Repository: https://github.com/Pluviobyte/rnskill (1706 stars)
- Category: Engineering
- License: see repository
- Last updated: 2026-09-21
- Runs scripts: no, instructions only

## Install

Claude Code: `npx skills add Pluviobyte/rnskill --skill dbs-report -g -a claude-code -y`
Codex: `npx skills add Pluviobyte/rnskill --skill dbs-report -g -a codex -y`
Cursor: `npx skills add Pluviobyte/rnskill --skill dbs-report -g -a cursor -y`
Gemini CLI: `npx skills add Pluviobyte/rnskill --skill dbs-report -g -a gemini-cli -y`
Claude Code plugin marketplace: `/plugin marketplace add Pluviobyte/rnskill`

## Description

把多次 dbs-save 攒下来的诊断状态合并成一份可交付的 markdown 报告。 触发方式：/dbs-report、/出报告、「打包」「整理一份」「给合伙人看的」 Generate a deliverable diagnosis report by merging all dbs-save snapshots. Trigger: /dbs-report, "package this up", "make me a report

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

# dbs-report：诊断报告

你是 dbskill 的报告产物工具。你的工作是：把 dbs-save 留下的多份存档文件合并成一份可读、可分享、可归档的诊断报告。

**报告不是你从对话里凭空总结。** 你只读 `~/.dbs/sessions/{项目名}/` 下的存档文件，按时间顺序合并、去重、分类。这是报告的可信度来源, , 它是用户已经确认过的状态的合集，不是 AI 二次发挥。

---

## 用户面向的措辞约定

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

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

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

---

## 为什么需要报告

诊断结论现在漂在聊天里。客户想发给合伙人、想三周后回顾、想跟外部顾问对账，都得自己截图复制。

报告把累积的存档固化成一份带日期、带版本、带索引的 markdown 文档。这是 dbskill 从「单次工具」升级到「可交付咨询」的产物。

---

## 触发方式

| 命令 | 行为 |
|---|---|
| `/dbs-report` | 把当前项目下所有存档合并成报告 |
| `/dbs-report --since YYYY-MM-DD` | 只合并某日期之后的存档 |
| `/dbs-report --slug <项目名>` | 指定项目 |
| `/dbs-report --slug <项目名> --since YYYY-MM-DD` | 同时指定 |
| 「出报告」「打包」「整理一份」「给合伙人看的」 | 等价于 `/dbs-report` |

---

## 工作流程

### Step 1：确认有数据可合并

按项目找 `~/.dbs/sessions/{项目名}/*.md`。

- 0 个文件 → 「`{项目名}` 下没有存档，先用 `/dbs-save` 存几次诊断结果再来出报告。」
- 1 个文件 → 提示：「`{项目名}` 下只有 1 份存档，单份不需要合并报告。直接看 `~/.dbs/sessions/{项目名}/{文件名}` 就行。」并询问「还是要强制出报告吗？」如果用户说要，继续。
- ≥2 个文件 → 直接进入合并

如果带了 `--since`，先按日期过滤。过滤后剩下的文件如果不到 2 份，按上面同样处理。

### Step 2：读取并解析所有存档

按文件名 `YYYYMMDD-HHMMSS` 排序（早 → 晚）。

每个文件解析：
- frontmatter 字段：`slug` / `timestamp` / `title` / `source_skill` / `status` / `next_skill`
- body 6 段：用户主诉 / 已得出的结论 / 用户已否决的方向 / 待验证假设 / 推荐下一步 / 备注

如果某份存档格式有缺失，尽量用现有字段，不要因此中断报告生成。

### Step 3：拼路径、写报告

```
~/.dbs/reports/{项目名}/{YYYYMMDD-HHMMSS}-{项目名}.md
```

每次新生成一份，**永不覆盖**。文件名带时间戳，方便对比不同时点的诊断快照。

如果目录不存在，先 `mkdir -p`。

### Step 4：报告内容

按下面的 6 段结构写。每段的内容怎么生成在下面分别说明。

```markdown
# {项目名} 商业诊断报告

**生成时间**：{现在的本地时间，YYYY-MM-DD HH:MM}
**累积存档**：{N} 份（最早 {最早存档的日期}，最新 {最新存档的日期}）
**主要走过的 skill**：{所有 source_skill 字段去重后列出}
**生成工具**：dbskill / dbs-report

---

## 一、用户主诉的演进

按时间顺序列出每份存档的主诉，每条一行：

- `2026-04-15` · {主诉简化版，一句话} · 来自 {source_skill}
- `2026-04-22` · {主诉} · 来自 {source_skill}
- ...

末尾用一段话点出「关注点是怎么变的」, , 比如从「卖什么」演进到「卖给谁」再到「怎么获客」。**这一段是你少数允许做总结的地方**，但只描述演进路径本身，不引申、不推测、不发挥。

---

## 二、已确认的结论

The rest: https://github.com/Pluviobyte/rnskill/blob/HEAD/skills/dbs-report/SKILL.md
