三思而后行 · 改前通读的自律流程
改任何已成形的文档之前,先看整体,再动手。软约束,不阻断交付,只挡在「要动手改」这个动作前面。
范围说明:本技能只管文档类产物(文章、调研、方案、技能文档等成形文字)的修改。代码/工程改动不在本技能范围,交给专门的验证流程,别在这里处理。
为什么单开这个技能
不替你写,只挡在修改动作前面。
文档、方案、技能文档这类成形的东西,都会犯同一个毛病:只盯局部,不看整体。这个毛病不属于任何一个具体产物,单开一个技能来管它。
它是前置动作,跟写作/改稿技能并行,不是二选一。 那些技能管怎么把内容写好,这个技能管的是动手之前先看整体骨架——判断这处怎么改才不破坏整体。它是底层能力,该跟具体的写作技能一起走,不占它们的名额。顺序是:先三思(看骨架、判断这处怎么改才不破坏整体),再动手写/改。别因为一句话里带了"润色""精简",就只想着动笔、把这一步跳了。
触发场景(反模式清单)
命中任一即启动:
- 评审 / 反馈意见指出文档某处有问题,准备直接冲上去改那一处,没回头看全文。
- 用户说「改一下」「加一段」「顺手改一下」「只改这一处」「补一下」「快速改一下」。
- 用户说「润色一下」「精简一下」「优化下措辞」「压缩这段」「扩写一下」「顺一顺」——文字加工也是改已有内容,先看这段在骨架里的位置再动。
- 用户丢一整篇文章说「优化一下」「通篇顺一顺」,没指改哪儿——别逐句润色,先抽骨架,自己找出承接断了、论据放错节、结论收不全的地方(细则见
doc-scope.md)。
- 新增一段内容 / 一节章节,准备挂在已有文档末尾。
- 改文档的一节,没重读其他章节。
- 处理别人对文档的评审意见,准备逐条改,不看全文骨架。
- 迭代 / 更新一个已有技能文档、方案、配置说明。
不触发:从零新起一篇(没有既有骨架可通读)、纯一句话答疑、明确说"随手写个一次性草稿"。
「整体」怎么定义(按载体分)
不同载体,「整体」落到不同东西上:
| 载体 |
「整体」指什么 |
通读到什么程度 |
| 文档 · 修改一处 |
全文骨架 + 前后章节的承启 |
知道这一处在骨架里的位置、上一段收在哪、下一段起在哪 |
| 文档 · 通篇优化(没指改哪儿) |
全文骨架 + 论据归位 + 结论闭合 |
抽出主干,自己找出哪几节承接断了、论据放错了、结论收不全(细则见 doc-scope.md) |
| 文档 · 新增一节 |
全文骨架 + 主线 |
新节能不能顺进骨架,顺不进去要么调骨架,要么不加(细则见 doc-scope.md) |
| 技能文档更新 |
SKILL.md 主体 + 所有 references + 已发布版本 frontmatter |
找到本次改动的既有依据,不叠加平行防线;不覆盖已定的 description |
| 方案/配置说明 |
完整方案/配置文件 + 上游被谁引用 |
改一处能说出谁会受影响 |
三步硬约束(改前必走)
底子是三条业界经典:Shotgun Surgery(改一处要连带看多处)、Chesterton's Fence(拆之前先搞清它为什么在)、Outline-First(骨架先立)。源头见 references/prior-art.md。
通读整体
按上表读到位。不到位不许下笔。
- 文档:通读全文,列出骨架(一节一句话观点)。
- 技能文档:读 SKILL.md 主体 + 所有 references。
- 方案:读完整方案。
列影响面
两栏,写下来(重档)或口头说清(中轻档):
- 这次要动的点:准备改/新增的具体位置。
- 跟这个点相关的既有逻辑:文档骨架里的前后章、已有的类似论述、依赖此处的下游章节。
相关的没列全,不许下笔。
三问过闸
一条一条问,一条不过就停:
- 这个点,全文 / 技能历史 / 方案版本里之前动过吗? 动过就先看历史,别把上次刚删的加回来,别推翻上一次评审已经定的事(对应 Chesterton's Fence)。
- 修法的风险比原问题大吗? 大就换修法,别硬扛(对应 Band-Aid 反模式)。
- 改这一处,会不会破坏整体骨架的连贯? 破坏就回骨架重来,不许硬插(对应 Shotgun Surgery)。
三问任一不过,回退到「不改」或「重设计」,不许硬修。
骨架优先(文档场景专用规矩)
新写和大改文档时,单独一条硬约束:骨架先立,内容后填,过渡最后加(对应 Outline-First):
- 先列骨架:每一节一句话观点,顺一遍能不能立住、之间有没有承启。
- 骨架顺了,再填内容:每一节内容展开。
- 最后加过渡:章节之间的承启句,让整篇喘得上气。
- 改了任何一节,回骨架重扫一遍:骨架被破坏了就重来,不许打补丁维持假连贯。
产出:改前通读报告
三步都过完,给一份报告(中重档写下来,轻档在心里过并口头说):
【改前通读报告】
## 通读了什么
- 载体:文档 / 技能文档 / 方案
- 读的范围:...(具体到文件、章节)
- 读到什么程度:...
## 影响面清单
- 这次要动的点:第 N 节「XX」
- 跟这个点相关的既有逻辑:
- [章节/位置]:...
- [章节/位置]:...
## 三问回答
1. 这个点历史上动过吗?
→ 未动过 / 动过:[章节 / 版本],历史结论是「...」
2. 修法风险比原问题大吗?
→ 不大,理由:... / 大,换修法:...
3. 会破坏整体骨架吗?
→ 不破坏,理由:... / 破坏,决定回骨架:...
## 决定
- [ ] 改(按上面结论动手)
- [ ] 不改(理由:原有机制能兜住 / 修法风险大)
- [ ] 回骨架重设计(理由:硬插会破坏一致性)
三问任一不过,给「不改」或「回骨架」,不许硬修。
反模式硬禁止
- 「先改上再说,以后统一整理」:补丁摞补丁的入口,禁止。
- 「小问题快速改一下,不用看那么多」:「小」和「快」是补丁的两个借口,不成立。
- 「只改这一处,不动其他的」:不看整体就不知道要不要动其他。
- 「说优化就逐句润色」:没指改哪儿时只抠措辞,论据放错节、结论收不全这类骨架病全漏掉。先抽骨架再动。
- 「新增的挂在末尾,不影响原文」:挂在末尾也是骨架的一部分,不融就是补丁。
- 「上次刚删的又加回来」:文档 / 版本历史都不看,禁止。
- 「一遍改一遍看效果,来回反复」:是没通读整体的症状,回第一步。
力度与豁免
软约束,不阻断交付:
- 重档(对外文档 / 已发布技能文档更新):三步全跑,报告写下来。
- 中档(内部文档修改 / 手记类):三步跑,报告口头说清。
- 轻档(拼写、typo、格式微调、明显笔误):可跳过,但要在心里过一遍,这真的只是 typo 吗?
豁免:一次性丢弃的草稿、纯一句话答疑,可以跳过。豁免要在心里对自己说一句「这是草稿,不是产出」,能说出口才算数。
出稿前自检
- 通读做到位了吗?(文档通读全文了吗?技能看了所有 references 吗?)
- 影响面清单列全了吗?
- 三问答完了吗?任一"不过"有没有硬修?
- 有没有踩到"上次已删的又加回来"这条?
- 骨架还立得住吗?
任一答不上,回去补。软约束不是可跳过,是"跑不过不阻断,但要显式说出豁免理由"。
1---2name: sansi-erhouxing3description: 三思而后行:改任何已成形的文档之前(写文章、改稿、调研、方案、技能文档),先通读全文骨架再动手,别只盯一段、别补丁摞补丁。这是前置动作技能,跟写作/改稿技能并行、先于它们跑,不是二选一:它管「动手前先看整体」,写作类技能管「怎么写好」,两层都走,先三思再动笔,别因带了"润色""精简"就跳过。最典型、命中必用:改文档、补一段或一节、精简/润色/优化/压缩/扩写已有段落、新增章节、按评审意见改稿。触发词:改文档、改稿、补内容、加一节、改一处、改一段、顺手改、只改这一处、润色、精简、优化、通篇优化、整篇改、压缩、扩写、顺一顺、通篇顺一顺、调措辞、重写这节、评审意见、反馈意见。DO NOT USE WHEN:从零新起一篇、纯一句话答疑、代码/工程改动(交给专门的验证流程)。4---56# 三思而后行 · 改前通读的自律流程78改任何已成形的文档之前,先看整体,再动手。**软约束**,不阻断交付,只挡在「要动手改」这个动作前面。910> **范围说明**:本技能只管**文档类产物**(文章、调研、方案、技能文档等成形文字)的修改。代码/工程改动不在本技能范围,交给专门的验证流程,别在这里处理。1112---1314## 为什么单开这个技能1516不替你写,只挡在**修改动作**前面。1718文档、方案、技能文档这类成形的东西,都会犯同一个毛病:只盯局部,不看整体。这个毛病不属于任何一个具体产物,单开一个技能来管它。1920**它是前置动作,跟写作/改稿技能并行,不是二选一。** 那些技能管怎么把内容写好,这个技能管的是动手之前先看整体骨架——判断这处怎么改才不破坏整体。它是底层能力,该跟具体的写作技能一起走,不占它们的名额。顺序是:先三思(看骨架、判断这处怎么改才不破坏整体),再动手写/改。别因为一句话里带了"润色""精简",就只想着动笔、把这一步跳了。2122---2324## 触发场景(反模式清单)2526命中任一即启动:2728- 评审 / 反馈意见指出文档某处有问题,准备直接冲上去改那一处,没回头看全文。29- 用户说「改一下」「加一段」「顺手改一下」「只改这一处」「补一下」「快速改一下」。30- 用户说「润色一下」「精简一下」「优化下措辞」「压缩这段」「扩写一下」「顺一顺」——文字加工也是改已有内容,先看这段在骨架里的位置再动。31- 用户丢一整篇文章说「优化一下」「通篇顺一顺」,没指改哪儿——别逐句润色,先抽骨架,自己找出承接断了、论据放错节、结论收不全的地方(细则见 `doc-scope.md`)。32- 新增一段内容 / 一节章节,准备挂在已有文档末尾。33- 改文档的一节,没重读其他章节。34- 处理别人对文档的评审意见,准备逐条改,不看全文骨架。35- 迭代 / 更新一个已有技能文档、方案、配置说明。3637**不触发**:从零新起一篇(没有既有骨架可通读)、纯一句话答疑、明确说"随手写个一次性草稿"。3839---4041## 「整体」怎么定义(按载体分)4243不同载体,「整体」落到不同东西上:4445| 载体 | 「整体」指什么 | 通读到什么程度 |46|---|---|---|47| **文档 · 修改一处** | 全文骨架 + 前后章节的承启 | 知道这一处在骨架里的位置、上一段收在哪、下一段起在哪 |48| **文档 · 通篇优化(没指改哪儿)** | 全文骨架 + 论据归位 + 结论闭合 | 抽出主干,自己找出哪几节承接断了、论据放错了、结论收不全(细则见 `doc-scope.md`) |49| **文档 · 新增一节** | 全文骨架 + 主线 | 新节能不能顺进骨架,顺不进去要么调骨架,要么不加(细则见 `doc-scope.md`) |50| **技能文档更新** | SKILL.md 主体 + 所有 references + 已发布版本 frontmatter | 找到本次改动的既有依据,不叠加平行防线;不覆盖已定的 description |51| **方案/配置说明** | 完整方案/配置文件 + 上游被谁引用 | 改一处能说出谁会受影响 |5253---5455## 三步硬约束(改前必走)5657底子是三条业界经典:Shotgun Surgery(改一处要连带看多处)、Chesterton's Fence(拆之前先搞清它为什么在)、Outline-First(骨架先立)。源头见 `references/prior-art.md`。5859### 通读整体6061按上表读到位。**不到位不许下笔。**6263- 文档:通读全文,列出骨架(一节一句话观点)。64- 技能文档:读 SKILL.md 主体 + 所有 references。65- 方案:读完整方案。6667### 列影响面6869两栏,写下来(重档)或口头说清(中轻档):7071- **这次要动的点**:准备改/新增的具体位置。72- **跟这个点相关的既有逻辑**:文档骨架里的前后章、已有的类似论述、依赖此处的下游章节。7374**相关的没列全,不许下笔。**7576### 三问过闸7778一条一条问,一条不过就停:79801. **这个点,全文 / 技能历史 / 方案版本里之前动过吗?** 动过就先看历史,别把上次刚删的加回来,别推翻上一次评审已经定的事(对应 Chesterton's Fence)。812. **修法的风险比原问题大吗?** 大就换修法,别硬扛(对应 Band-Aid 反模式)。823. **改这一处,会不会破坏整体骨架的连贯?** 破坏就回骨架重来,不许硬插(对应 Shotgun Surgery)。8384**三问任一不过,回退到「不改」或「重设计」,不许硬修。**8586---8788## 骨架优先(文档场景专用规矩)8990新写和大改文档时,单独一条硬约束:**骨架先立,内容后填,过渡最后加**(对应 Outline-First):91921. **先列骨架**:每一节一句话观点,顺一遍能不能立住、之间有没有承启。932. **骨架顺了,再填内容**:每一节内容展开。943. **最后加过渡**:章节之间的承启句,让整篇喘得上气。954. **改了任何一节,回骨架重扫一遍**:骨架被破坏了就重来,不许打补丁维持假连贯。9697---9899## 产出:改前通读报告100101三步都过完,给一份报告(**中重档写下来,轻档在心里过并口头说**):102103```104【改前通读报告】105106## 通读了什么107- 载体:文档 / 技能文档 / 方案108- 读的范围:...(具体到文件、章节)109- 读到什么程度:...110111## 影响面清单112- 这次要动的点:第 N 节「XX」113- 跟这个点相关的既有逻辑:114 - [章节/位置]:...115 - [章节/位置]:...116117## 三问回答1181. 这个点历史上动过吗?119 → 未动过 / 动过:[章节 / 版本],历史结论是「...」1202. 修法风险比原问题大吗?121 → 不大,理由:... / 大,换修法:...1223. 会破坏整体骨架吗?123 → 不破坏,理由:... / 破坏,决定回骨架:...124125## 决定126- [ ] 改(按上面结论动手)127- [ ] 不改(理由:原有机制能兜住 / 修法风险大)128- [ ] 回骨架重设计(理由:硬插会破坏一致性)129```130131三问任一不过,给「不改」或「回骨架」,**不许硬修**。132133---134135## 反模式硬禁止136137- **「先改上再说,以后统一整理」**:补丁摞补丁的入口,禁止。138- **「小问题快速改一下,不用看那么多」**:「小」和「快」是补丁的两个借口,不成立。139- **「只改这一处,不动其他的」**:不看整体就不知道要不要动其他。140- **「说优化就逐句润色」**:没指改哪儿时只抠措辞,论据放错节、结论收不全这类骨架病全漏掉。先抽骨架再动。141- **「新增的挂在末尾,不影响原文」**:挂在末尾也是骨架的一部分,不融就是补丁。142- **「上次刚删的又加回来」**:文档 / 版本历史都不看,禁止。143- **「一遍改一遍看效果,来回反复」**:是没通读整体的症状,回第一步。144145---146147## 力度与豁免148149**软约束**,不阻断交付:150151- **重档**(对外文档 / 已发布技能文档更新):三步全跑,报告写下来。152- **中档**(内部文档修改 / 手记类):三步跑,报告口头说清。153- **轻档**(拼写、typo、格式微调、明显笔误):可跳过,但要在心里过一遍,这真的只是 typo 吗?154155**豁免**:一次性丢弃的草稿、纯一句话答疑,可以跳过。豁免要在心里对自己说一句「这是草稿,不是产出」,能说出口才算数。156157---158159## 出稿前自检160161- 通读做到位了吗?(文档通读全文了吗?技能看了所有 references 吗?)162- 影响面清单列全了吗?163- 三问答完了吗?任一"不过"有没有硬修?164- 有没有踩到"上次已删的又加回来"这条?165- 骨架还立得住吗?166167任一答不上,回去补。软约束不是可跳过,是"跑不过不阻断,但要显式说出豁免理由"。