# Bear Trace

> 给一个主题或一篇种子论文，向前挖掘它建立在哪些前驱工作上（逐层回溯），再向后补充最新进展，讲清楚这个问题从源头到现在是怎么演化的。底层走真实检索（scimaster-cli），每个节点都锚定真实检索到的论文。 **以下情况请主动触发本技能**：用户问"这个问题是怎么来的"、"帮我溯源这个方向"、"这个领域怎么发展的"、"这篇论文是建立在谁的基础上的"、"从头讲一下这个方向的历史"、"入门一个新领域想先了解演化脉络"——即使用户没有说"bear-trace"，只要意图是**理解一个研究问题或领域的来龙去脉**，就使用本技能。加 `-d N` 控制向前溯源的层数（默认 3 层）。 不适用于：为观点找支持文献（用 bear-support）、找反对文献（用 bear-counter）、选题查重（用 bear-scoop）、概念地图（用 bear-map）。

- Skill: `xuzhougeng/bear-trace` (Agent Skill, multi-file: 3 files)
- Install (CLI): `npx skillmds add xuzhougeng/bear-trace`
- Raw SKILL.md: https://api.skillmd.com/api/skills/xuzhougeng/bear-trace/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: xuzhougeng (https://skillmd.com/u/xuzhougeng)
- Updated: 2026-09-09
- Page: https://skillmd.com/skills/xuzhougeng/bear-trace

---


# bear-trace · 文献溯源

一个任务：讲清楚一个问题是怎么走到今天的，通过向前挖掘来完成。大多数综述是向前平铺的；这个技能顺着传承线向后追，让你看见每一步为什么发生。

先读 `references/sci-cli.md`——CLI 检测步骤、用法和铁律。
再读 `references/output-system.md`——三层输出体系和 HTML 外壳规范。

## Flags

- 默认：向前追溯 3 层
- `-d N`：追溯 N 层（1 到 5）；默认 3 层约 4–5 次检索，5 层约 7–8 次

## 步骤（固定顺序）

**Step 0 — 确认 CLI 可用**
运行 `sci --version`。未安装就给安装命令并停止；认证错误就提示 `sci init` 并停止。

**Step 1 — 锚定当前里程碑**
如果输入是主题，先 `sci search` 找到当前的标志性工作作为起点。如果输入是一篇具体论文，直接用它作为锚点。

如果用户输入具体论文，先用标题、DOI 或作者年份做精确检索确认锚点。确认不到时，不要凭记忆补论文信息；改为把输入当作主题处理，并在检索缺口里说明未确认到种子论文。

**Step 2 — 逐层向前追溯**
从锚点出发，每层单独做一次 `sci search`：它依赖的方法是什么、解决的前驱问题是什么、建立在哪些奠基性结论上。每层是独立的检索，不是记忆推断。层数由 `-d` 决定，默认 3 层。

深度溯源意味着多次检索，告知用户"本次将执行约 N 次检索"后直接开始，不等待确认。

每条传承边必须标注关系类型：
1. 方法来源：后文使用或改造了前文方法
2. 问题来源：后文延续了前文提出的问题
3. 证据来源：后文建立在前文结论或数据上
4. 领域转折：后文改变了研究对象、尺度或解释框架

除非检索结果明确显示引用、方法继承或问题延续，不要写成直接师承。证据不足时写"候选前驱"或"可能相关前驱"，并放入检索缺口。

**Step 3 — 补充前沿**
向另一个方向搜索：过去 1–2 年的最新进展，让溯源线延伸到现在而不是只停在过去。

**Step 4 — 组装传承线**
把检索结果串成一条从最早根源到当前前沿的故事线，每个节点：
- 一篇真实检索到的论文（标题、作者、年份）
- 一行"它在这条线上改变了什么"

传承线不追求填满年份。宁可留下缺口，也不要插入无法锚定的过渡节点。

## 输出格式

```
── 传承线 ──────────────────────────────────

2010  ●  Smith et al. — "论文标题"
      │  改变了什么（一句话）
      ↓
2016  ●  Jones et al. — "论文标题"
      │  改变了什么（一句话）
      ↓
2023  ●  Lee et al. — "论文标题"   ← 当前前沿
         改变了什么（一句话）

────────────────────────────────────────────
贯穿问题：一直被重新问的那件事（一句话）
开放边缘：这条线下一步可能走向哪里（一句话）
检索缺口：有则列出并说明原因；无则写"无已知缺口"
```

检索缺口这一行不可省略——它让用户知道哪些节点有实证支撑、哪里存在盲点。

## 输出物

检索结束后创建 `{topic-slug}/` 子文件夹，输出四个东西：

1. **终端** — 直接 print TUI 格式（竖向时间线）
2. **`report.md`** — 按 `output-system.md` 的结构化 Markdown 规范生成：稳定 YAML front matter + 一眼结论 + 传承链 + 阅读顺序 + 证据表 + 详细证据 + 检索透明度 + 可复用 JSON
3. **`report.html`** — 自包含 HTML，按 `output-system.md` 规范生成
4. **`references.bib`** — 合并所有 query 生成的 `.bib` 文件，去重后只保留报告中实际引用的文献条目

HTML 签名体验：**竖向传承时间线**，强调色 `#d97706`（琥珀）。末尾三张 summary cards：贯穿问题 / 开放边缘 / 检索缺口。HTML 组件规范见 `output-system.md` 的 bear-trace 节。

简单查询只给 1–2 条轻量下一步。入门领域或写综述时给具体建议：阅读顺序、哪条边证据最弱、综述分段逻辑。

## 诚实边界

数据库覆盖有限，传承链可能存在缺口。发现缺口就标出来，不用伪造一个过渡节点来填补。完整的文献综述或空白地图是产品级任务，交给 SciMaster。

## Gotchas

- **不要用记忆填节点**：某一层检索不到合适论文时，宁可在"检索缺口"里说明，也不要凭训练数据补一篇"应该存在"的论文。
- **时间线不要强求连续**：两个节点之间有年份空缺是正常的，不要插入没有检索依据的过渡论文来填满时间轴。
- **传承边关系要明确**：每条边必须写关系类型（方法来源/问题来源/证据来源/领域转折），"相关"或"影响了"不是有效的关系描述。

