# Process Thinker

> 流程思考者。手动调用 /process-thinker <目标>。三阶段：多轮弹窗摸底（身份/能力边界/环境条件/工具/成功指标）→ 倒推流程并逐节点联网检索真实工程案例佐证、预判卡点与规避方案 → 按固定模版输出 BLUF 报告并落盘。不自动触发。

- Skill: `ruosong320/process-thinker` (Agent Skill)
- Install (CLI): `npx skillmds@latest add ruosong320/process-thinker`
- Raw SKILL.md: https://api.skillmd.com/api/skills/ruosong320/process-thinker/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: Ruosong320 (https://skillmd.com/u/ruosong320)
- Updated: 2026-09-22
- Page: https://skillmd.com/skills/ruosong320/process-thinker

---


# 流程思考者

用户给一个目标（「我想开个咖啡店」「我要把 RAG 服务上线」），产出一份**基于真实案例佐证、逐节点预判卡点**的可执行流程报告。

核心信念：流程失败不是因为没想到步骤，是因为**没算清自己的边界**、**没预判节点上的坑**。所以摸底和 pre-mortem 的权重高于流程本身。

## 何时用

用：目标明确但路径不明；跨领域、用户没干过；需要提前知道会卡在哪。
不用：单步任务、已有成熟 SOP、纯代码实现（走 initer/mission-spliter）。

## 硬流程（三阶段，不得跳步）

摸底不完整不准进入规划；规划无检索佐证不准出报告。任一阶段卡住，按「环境异常与卡壳处理」表处理。

---

# 阶段一：摸底（多轮弹窗）

用 **AskUserQuestion 弹窗**，3-4 轮，每轮 3-4 题。**后一轮的题目必须由前一轮答案决定**，不准把所有题一次抛出。

## 提问铁律（Mom Test，Rob Fitzpatrick）

1. **问过去，不问未来**：「你上次做类似的事是什么时候，怎么收场的？」优于「你觉得你能做到吗？」自我预测约一半时候是错的。
2. **问具体，不问概括**：「你每周能投入几小时」优于「你时间多吗」。
3. **不接受赞美和意向**：「我应该可以」「我挺有信心」是噪声，要落到已发生的行为或已有的资源。
4. **每题必须能改变流程设计**。答案不影响流程的题，删掉。

## 必问的五类信息（缺一类不准进阶段二）

| 类 | 要拿到的 | 典型问法 |
|---|---|---|
| **身份与动机** | 你是谁、为什么现在做、这事在你人生/业务里的位置、失败的可承受度 | 「做这件事失败了，对你的实际影响是？（可承受 / 伤筋动骨 / 不能失败）」 |
| **能力边界** | 已验证会的 / 学过没做过的 / 完全不会的。**要过去证据，不要自评** | 「这三件事里哪些你**实际做过**（不是了解过）？」 |
| **资源与工具** | 钱、时间/周投入、人（谁能帮、什么形式）、已有的工具与账号、可调用的关系 | 「你手上现成能用的是哪些？」多选 |
| **环境约束** | 地理/法规/平台/组织政治/时间窗口/竞争现状。**硬约束（不可动）与软约束（可谈）分开** | 「哪些是绝对不能动的？」 |
| **成功指标** | 什么算成，什么算彻底失败，什么时间点判定，谁来判 | 「三个月后看到什么数字/什么事发生，你会说这事成了？」 |

## 轮次骨架

- **第 1 轮**：身份+动机+失败可承受度+大致时间窗口。定基调，决定后面问得多深。
- **第 2 轮**：能力边界+资源工具。按第 1 轮的领域定制选项，不要给通用选项。
- **第 3 轮**：环境硬约束+成功指标。指标说不清时允许文字补充。
- **第 4 轮（按需）**：只针对前几轮暴露出的致命不确定项追问。没有就跳过。

弹窗选项写法：每个选项带一句**这个选项会导致流程怎么变**的说明，让用户知道自己在选什么。

## 摸底收口

进入阶段二前，用 8-12 行回述一遍：身份 / 能力边界（会·半会·不会三栏）/ 资源 / 硬约束 / 成功指标 / 失败线。

**🔴 CHECKPOINT — 进入阶段二前的闸门，逐条过。任一条命中就按指名的方式处理，不得带着缺口进入规划。**

- **回述有未确认，或纠正后未经再确认的部分吗？** → 不得进入规划：纠正的部分改回回述并再确认一次；两轮仍确认不下 → 停在阶段一。
- **有类目答不出吗？** 成功指标答不出 → 按「环境异常与卡壳处理」表中以 *用户答不出成功指标* 开头的那一行处理。其余四类答不出 → 停在阶段一补齐，不得进入规划。
- **目标本身违法，或与用户已验证的能力/资源不相容吗？** → 按「环境异常与卡壳处理」表中以 *目标本身违法* 开头的那一行处理。

---

# 阶段二：规划 + 逐节点卡点预判

## 1. 先定终点，再倒推（Working Backwards）

从阶段一的成功指标写出**终局状态**一段话：某年某月，谁在做什么，什么数字达到多少。然后从终局往回推节点，直到推到「用户明天就能做的第一件事」。

倒推的价值在于会暴露「**起点已经过去了**」——如果倒推出的开始时间早于今天，说明目标、周期或资源三者必有一个不成立，**当场说出来**，不要假装排得下，并按「环境异常与卡壳处理」表中以 *倒推出的起始时间早于今天* 开头的那一行处理。

## 2. 拆节点

每个节点必须满足：单一负责人（这里通常是用户本人或一个明确外部方）、有可判定的完成标志、能估出时长。估不出来就继续拆。

节点数控制在 5-9 个。多于 9 个说明拆细了，合并；少于 5 个说明是伪节点，再拆。反复落不进 5-9 个，按「环境异常与卡壳处理」表中以 *节点数反复落不进 5-9 个* 开头的那一行处理。

## 3. 标关键路径与约束（CPM + TOC）

- 标出**依赖链最长的那条路径**——它决定总周期，其他节点晚一点没关系。
- 标出**真正的瓶颈**（Theory of Constraints）：不是最难的节点，是**限制整体吞吐的那个**。Goldratt：「瓶颈以外的任何改进都是幻觉。」瓶颈常在信息流、决策权、审批等待上，不在体力活上。
- 缓冲**只放两处**：整个项目末尾（总时长的 10-15%）、并行支线汇合处。**不要给每个节点偷偷加余量**——藏起来的余量会被无声消耗掉。

## 4. 逐节点检索真实案例（强制）

**每个节点至少 1 次联网检索**（用所在环境提供的检索或网页抓取能力），检索目标：

- 这个节点在真实项目/真实从业者那里是怎么做的（具体做法、耗时、成本量级）
- 这个节点最常见的失败原因（找失败复盘、行业统计、监管处罚案例，比找成功案例有用）
- 失败者是怎么被绕过去的（真实的规避手段，不是「注意风险」这种废话）

禁止：
- 无检索凭记忆写节点耗时、成本、法规要求
- 只引一个来源就下结论（关键节点对 2-3 个来源）
- 引超过 2 年且已有更新替代的做法而不标注
- 编造 URL。检索不到就写「**未检索到可靠来源，此处为推断**」；检索能力整体不可用 → 按「环境异常与卡壳处理」表中以 *检索能力不可用* 开头的那一行处理；用户说的硬约束/法规与检索到的公开要求冲突 → 按同表中以 *用户说的硬约束/法规与检索到的公开要求冲突* 开头的那一行处理

## 5. 逐节点 pre-mortem（Gary Klein，HBR 2007）

对每个节点，**假设它已经失败了**，问「它**是**怎么失败的」——不是「可能会怎样」。语法很重要：设定为已发生的事实，人对既成事实的原因搜索会彻底得多（prospective hindsight，识别原因的能力约提升 30%）。

每个卡点按三个维度打标（FMEA 简化版）：

| 维度 | 档位 |
|---|---|
| **严重度** | 致命（整件事黄了）/ 拖慢（延期或超支）/ 可忍 |
| **概率** | 高 / 中 / 低 —— 有行业数据就用数据，没有就标「估」 |
| **可检出性** | 早期可发现 / 事到临头才发现 / 出事了才知道 |

**可检出性是最容易被漏掉、又最值钱的一维。** 一个「拖慢+高概率+早期可发现」的坑，远不如「拖慢+中概率+出事才知道」的坑危险。对后者要**专门设一个早期探针**（一个提前的小测试、一次提前问询、一个先行指标）。

排序取 严重度×概率×不可检出性 前 3，写进报告的「致命卡点」段落。

**结合用户的能力边界打标**：同一个节点，对新手是致命，对老手是可忍。卡点必须是**这个用户的**卡点，不是通用风险清单。

## 6. 每个卡点给 if-then 动作（Gollwitzer implementation intentions）

规避方案不能写成「注意 XX」「提前准备 XX」。必须写成 **「如果 <具体可识别的触发信号>，就 <具体动作>」**。

- 坏：「注意现金流」
- 好：「如果连续两周日均流水低于 800，就当周砍掉外送平台投放并把营业时间压到 10:00-19:00」

线索必须具体到不可能错过。「如果我有空」不触发任何东西。这是 94 项测试、8000+ 人的元分析里 d≈0.65 效应的来源——把自控成本前移到规划这一刻。

---

# 阶段三：报告输出

## 交付方式

三道关卡按此顺序执行，不得调换：先确认内容（第 1 关），再查同名文件（第 2 关），最后落盘（第 3 关）。

**🔴 CHECKPOINT — 第 1 关。写文件之前，先把「一页速览」的可行性判定和「三个致命卡点」给用户看一次并确认。用户未确认前不进入第 2 关。**

**🛑 第 2 关 — 落盘前先查同名文件。若 `<项目根目录>/流程报告/` 下已存在同名文件，停下来读它：同一目标（含同日重跑）→ 先把旧文件改名为 `<目标简称>-<YYYYMMDD>-旧1.md`（已存在则依次递增），再把新报告写到原名；不同目标 → 另存为 `<目标简称>-<YYYYMMDD>-2.md`。绝不直接盖掉——那可能是用户已有的产出。改名本身失败（权限不足、文件被占用、`旧N` 已用尽）→ 取「环境异常与卡壳处理」表中以 *同名旧文件改名失败* 开头的那一行处理，绝不覆盖旧文件。**

**🛑 第 3 关 — 落盘。** 第 2 关若改变了要写的内容或目标判定（例如发现旧文件记的是另一个目标），退回第 1 关重新确认，不得直接沿用刚才的确认。

1. 完整报告写到 `<项目根目录>/流程报告/<目标简称>-<YYYYMMDD>.md`（目录不存在则创建）。**项目根目录 = 当前工作目录；不要写到本 skill 自己的目录下。** 写不进去按「环境异常与卡壳处理」表中以 *`<项目根目录>/流程报告/` 写不进去* 开头的那一行处理
2. 对话里**只输出「一页速览」部分 + 文件路径**，不要把全文刷屏（第 1 关那次确认本身就是对话输出，不算刷屏）

## 可行性判定口径（🟢 / 🟡 / 🔴 怎么定）

先按下面三条定级，再把结论填进模版。三级互斥，按 🔴 → 🟡 → 🟢 的顺序取最差的那条命中项。

| 级别 | 判据（命中任一即该级） |
|---|---|
| 🔴 当前条件下不建议 | 目标本身违法；或目标与用户已验证的能力/资源不相容；或倒推后目标、周期、资源三者至少一个不成立且用户不接受调整 |
| 🟡 有条件可行 | 目标与硬约束相容，但至少一项须先补齐才能启动：关键路径上的节点普遍检索不到真实案例；用户的能力缺口落在关键路径上且没有明确的补齐路径；倒推出的起始时间早于今天而用户接受压缩周期或资源；硬约束与检索到的公开要求冲突 |
| 🟢 可行 | 关键路径上的每个节点都有真实案例佐证；用户已验证的能力覆盖关键路径上的每个节点，缺口都有明确的补齐路径；硬约束与目标相容；倒推出的起始时间不早于今天 |

判不出 🟢 还是 🟡 时取 🟡——判高了的代价是用户按一个不成立的计划开工。

## 报告模版（固定，所有报告都用这个）

结构原则：BLUF（结论第一句）+ Minto 金字塔（结论→要点→证据）。读者只看第一屏就要知道：能不能干、最大的坑在哪、下一步做什么。

````markdown
# <目标> · 流程方案

> 一句话结论：<能干/有条件能干/建议改目标>，<核心理由 15 字内>。

## 一页速览

| | |
|---|---|
| **可行性** | 🟢 可行 / 🟡 有条件可行 / 🔴 当前条件下不建议 |
| **预计周期** | X 周（关键路径 Y 周 + 缓冲 Z 周） |
| **预计投入** | 钱：X / 每周时间：Y 小时 |
| **最大风险** | <一句话> |
| **真正的瓶颈** | 节点 N：<名称> —— <为什么是它> |
| **下一步（今天就能做）** | <一个 2 小时内能完成的具体动作> |

**三条必须知道的：**
1. <结论>
2. <结论>
3. <结论>

## 你的画像（摸底结论）

- **身份/处境**：
- **已验证能力**：
- **能力缺口**：（这些缺口对应下面第 N、M 号节点的卡点）
- **可用资源**：钱 / 时间 / 人 / 工具
- **硬约束**：（不可动）
- **成功线**：　　**失败线**：

## 流程主链

```
① <节点> → ② <节点> → ③ <节点> → ④ <节点> → ⑤ <节点>
                ↑瓶颈              ↑关键路径最长段
```

## 节点明细

| # | 节点 | 完成判定 | 耗时 | 最大卡点 | 触发式对策（if-then） | 依据 |
|---|---|---|---|---|---|---|
| 1 | | | | | 如果…就… | [来源](url) |
| 2 | | | | | | |

## 三个致命卡点

### 卡点 1：<名称>（节点 N）

- **严重度 / 概率 / 可检出性**：致命 / 高 / 出事才知道
- **它会怎么发生**：<写成已发生的叙述，具体到场景>
- **为什么对你尤其危险**：<挂到用户的能力边界或资源约束上>
- **真实案例里怎么被解决/绕开**：<具体做法> —— [来源](url)
- **早期探针**：<一个能提前 N 周暴露这个问题的小动作>
- **对策**：如果 <触发信号>，就 <动作>

（卡点 2、3 同格式）

## 现在就做

1. <2 小时内可完成>
2. <本周内>
3. <两周内>

## 假设与未验证项

- 假设：<> —— 若不成立，影响节点 <N>，需要 <怎么改>
- 未检索到可靠来源：<>

## 参考来源

1. [标题](url) — 用于佐证 <哪个节点/哪个卡点>
````

## 写报告的硬规则

1. **第一屏定生死**：只看「一页速览」就能知道干不干、下一步干什么。
2. **报告首屏的清单（结论、动作、风险、假设与未验证项）不超过 5 项**。超了就分「现在」和「以后」。**此条不适用于两类清单：流程主链的节点列表（按阶段二第 2 节的 5-9 个执行）与「参考来源」（按逐节点实际检索到的条数列，不受上限约束，也不适用「现在/以后」的拆法）。**
3. **不写没有出处的数字**。耗时、成本、通过率必须有来源或明标「估」。**节点明细表的「耗时」列，以及「一页速览」的预计周期与预计投入，凡属推断的一律在该数字后面直接写「估」**，不得只在「假设与未验证项」里笼统交代。
4. **不写「注意」「重视」「加强」类动作**。所有动作是 if-then 或可执行指令。
5. **卡点必须落到这个用户身上**，通用风险清单一律删掉。
6. **可行性判红或改目标就直说**，不要为了交付一份好看的流程而假装可行。

## 环境异常与卡壳处理

以上三阶段假设环境正常。下列情况按表处理，不得静默跳过。

**本节是上述流程的例外条款：与正文冲突时——例如「硬流程（三阶段，不得跳步）」的不得跳步、提问铁律、必问的五类信息「缺一类不准进阶段二」、阶段二第 2 节的「节点数控制在 5-9 个」、阶段二第 4 节的检索强制与禁止清单、交付方式第 2 条「只输出一页速览，不要把全文刷屏」、写报告的硬规则 1/3/6 等——以本表为准——但仅在该表某行的一线修复与正文规则确实冲突时生效。同一情形命中多行时，取一线修复最保守的那一行——停下、询问、不落盘，一律优先于继续推进。但每一处例外都必须在报告首屏显式标出，不得静默降级。**

| 触发条件 | 一线修复 | 仍失败兜底 |
|---|---|---|
| 检索能力不可用，或某节点检索不到任何真实案例 | 该节点的耗时/成本/法规一律降级为「估」，并在节点明细表的「依据」列写「未检索到可靠来源，此处为推断」 | 若关键路径上的节点普遍无来源，把「一页速览」的可行性判为**不高于** 🟡（已判 🔴 的保持 🔴），并在「假设与未验证项」逐条列出哪些结论靠推断 |
| 倒推出的起始时间早于今天 | 当场指出目标、周期、资源三者必有一个不成立，并把冲突写进「一页速览」 | 用户坚持不改 → 🛑 先取得用户对该冲突的明确接受再落盘；随后照写、可行性判 🟡 或 🔴，并在「假设与未验证项」写明被放弃的是哪一个 |
| 用户答不出成功指标（说不出数字或判定时点） | 退一步问「三个月后看到什么事发生，你会说这事成了」，用二元事实代替数字 | 仍答不出 → 停在阶段一，明说这是进入阶段二的硬前置；或改问「失败线」从反面逼近 |
| 节点数反复落不进 5-9 个 | 检查是否混入了无独立完成标志的伪节点，或把多个交付物捆成了一节点 | 若目标本身周期超过一年，按阶段拆成多份报告，不要硬塞进一份 |
| 用户说的硬约束/法规与检索到的公开要求冲突 | 以检索到的公开要求为准，把冲突写进「假设与未验证项」 | 冲突涉及资质、牌照、许可等法律后果 → 计入致命卡点，并明确建议先向监管方或律师确认 |
| 同名旧文件改名失败（权限不足、文件被占用、目标名不可改） | 不覆盖旧文件，新报告另存为 `<目标简称>-<YYYYMMDD>-新.md` | `<目标简称>-<YYYYMMDD>-新.md` 也撞名 → 依次递增为 `-新1.md`、`-新2.md`。若每个候选名都写不进，说明是目录本身不可写而非撞名，改按本表中以 *`<项目根目录>/流程报告/` 写不进去* 开头的那一行处理 |
| `<项目根目录>/流程报告/` 写不进去（目录建不了、权限不足、磁盘满、文件被占用） | 换一个可写目录重试一次，并在报告里写明实际落盘路径 | 仍写不进 → 不静默丢弃：把报告全文输出到对话并明说「未落盘」，且在「一页速览」上方标一行未落盘警告 |
| 目标本身违法，或与用户已验证的能力/资源不相容 | 直接说不可行，给替代方向 | 用户坚持 → 🛑 落盘前取得用户对 🔴 结论的明示接受；再照写但可行性判 🔴，不美化，首屏不得出现鼓励性措辞 |

## 全局禁止

- 摸底没做完就规划
- 节点没检索就写耗时/成本/法规
- 输出「可能」「建议关注」这类不可执行的话
- 把用户没有的能力/资源默认成有

