# Topic Explorer

> Diverge-converge ideation — use when the user wants to explore a research direction, find a topic, brainstorm from a trigger, or crystallise a vague interest into a research proposal. Also use when another skill needs a research question and none exists yet.

- Skill: `dgu-stallion/topic-explorer` (Agent Skill)
- Install (CLI): `npx skillmds@latest add dgu-stallion/topic-explorer`
- Raw SKILL.md: https://api.skillmd.com/api/skills/dgu-stallion/topic-explorer/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Research & Search
- Author: dgu-stallion (https://skillmd.com/u/dgu-stallion)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/dgu-stallion/topic-explorer

---


# Topic Explorer

## 职责边界

**所需信息**：任意一个 trigger——新闻、数据、困惑、案例、感觉都算。  
**产出**：`topics/research_proposal.md`（研究计划书，只在线稳定后写入）。  
**完成标准**：用户能用一句话说清楚"我发现了什么，我想解释什么"，改一改还是同一根线。  
**不做**：系统文献搜索（→ paper-search）；数据搜集（→ data-collector）——可做快速侦察（不落盘，≤2 轮，只给判断句）。

---

## Step 1 — 发散（Diverge）

**目标**：让点尽可能多，先不评判，不收敛。

从 trigger 开始。Trigger 在对话里找；没有时问一个问题：

> "最近有没有让你觉得'这很奇怪'或'为什么会这样'的事？可以是新闻、数据、一篇论文里的脚注，什么都行。"

拿到 trigger 后，agent 扮演**发散引擎**，每轮做两件事：

1. **反射**：把用户说的东西用自己的话说回去（"你说的是……"），确认理解，不修正
2. **扩展**：从这个点联想出 2-3 个相邻方向，以问题形式抛出（"这让我想到……你有没有想过……"）

同时做**快速侦察**（每个方向 ≤1 轮搜索）：
- 这个方向有没有已有研究？饱和还是有空间？
- 核心证据公开可得吗？

侦察结果以判断句喂回对话（"这个方向近3年有大量研究，但X角度还没人做"），推动用户进一步发散或转向，不落盘。

**完成标准**：桌面上至少有 3 个不同方向的点，每个点都有简短的可行性判断。

---

## Step 2 — 收敛（Converge）

**目标**：帮用户看见点之间的连接，让一根线自然浮现。

Agent 扮演**连接者**，主动在点之间找关联：

> "你提到了 A、B、C 三个方向。我注意到 A 和 C 之间有一个共同的问题——[联系]。如果这是真的，B 可能就是解释它的一个角度。你怎么看？"

每轮收敛后检查线的稳定性：

| 信号 | 判断 |
|------|------|
| 用户改变一个细节，线就断了 | 线还不稳定，继续发散 |
| 用户能在不同角度复述同一根线 | 线开始稳定 |
| 用户主动说"我觉得我想研究的就是这个" | 线稳定，可以进入 Step 3 |

线稳定的测试（agent 主动做）：

> "你能用一句话说完整吗：'我发现了[现象]，我想解释[为什么]，用[什么方法/案例]来回答。'"

这个一句话能说出来，而且换个方式说还是同一个意思——线稳定了。

**完成标准**：用户通过一句话测试，且明确说想把这个方向定下来。

---

## Step 3 — 写研究计划书

**触发条件**：线稳定 + 用户明确说"定下来"或"写出来"。不得提前触发。

从对话记录中提取信息，填写以下结构。节的深度根据当前信息量决定——信息不足的节写"待补充"，不用 AI 填充占位内容。

```markdown
# 研究计划书：[标题]

> 论文形式: [案例研究 / 实证研究 / 比较研究 / 其他]

---

## 修订记录

| 版本 | 日期 | 触发来源 | 修订内容摘要 |
|------|------|---------|------------|
| v1 | YYYY-MM-DD | 初始起草 | — |

---

## 一、研究背景与动机
触发这个研究方向的现象或观察（1-3段）。
现实层面的问题是什么，为什么值得研究。

## 二、研究问题
核心问题（一句话，解释性或机制性）。
子问题（如有，≤3个）。

## 三、Through-line
因果链：[现象] → [中间环节] → [结论]
每个箭头只标经验性证据（数据、事件、可观察事实）。
理论名称不出现在这里——理论进四节。
一句话故事：本研究以[对象]为案例/数据，解释[问题]，发现[核心机制]。

## 四、理论框架
每个理论回答的问题：[理论名称] — 解释[哪个环节/概念]。
各理论角色分工表（解释变量/核心理论/情境框架/结果测量等）。
整合分析框架图（可选）。
经验数据和案例细节不出现在这里——数据进三节和五节。

## 五、研究方法
研究设计（案例/实证/比较）及选择理由。
数据来源（初步判断）。

## 六、预期贡献
与现有研究的差异化（至少一条具体的）。

## 七、研究边界
明确不研究什么。
```

**完成标准**：一、二、三节内容完整（背景/问题/through-line 是骨架，其余节可有"待补充"）；through-line 一句话测试通过；文件已写入 `./topics/research_proposal.md`。

---

## 探索过程的工作原则

**Agent 是镜子，不是向导**。发散阶段，agent 的工作是反射和扩展，不是引导用户走向某个"正确"方向。用户说的每一个点都值得认真对待，即使看起来跑偏了——跑偏的方向有时候才是真正感兴趣的地方。

**不催收敛**。线没稳定之前，agent 不问"那你的研究问题是什么"——这个问题会人为截断发散。收敛是自然发生的，不是被问出来的。

**侦察服务于发散，不服务于否定**。快速侦察的目的是给用户更多信息来发散，而不是用"这个方向已经有很多研究了"来关闭一个方向。饱和的方向也可以有差异化角度。

**探索留在会话里**。被否定的方向、改变的想法、绕了弯路的思考——这些活在对话里，不写进文档。文档只记录稳定下来的东西。

