三思而后行 · 改前通读的自律流程

SkillDocs & knowledge

Think three times before acting: before modifying any fully-formed document (writing articles, editing drafts, research, proposals, skill documents), read through the full structure first before making changes, don't fixate on a single section, don't pile patch on patch. This is a pre-action skill th

Available today. Use it from your connected AI after setup.

Connect ahel once, and every AI you use reads what you have installed.

Then ask your AI: use the 三思而后行 · 改前通读的自律流程 skill

What this skill tells your AI

The instructions your AI receives, as published by job-yang/jobyang-ai-skills in skills/sansi-erhouxing/SKILL.md and read by ahel’s review.

改任何已成形的文档之前,先看整体,再动手。软约束,不阻断交付,只挡在「要动手改」这个动作前面。

范围说明:本技能只管文档类产物(文章、调研、方案、技能文档等成形文字)的修改。代码/工程改动不在本技能范围,交给专门的验证流程,别在这里处理。


为什么单开这个技能

不替你写,只挡在修改动作前面。

文档、方案、技能文档这类成形的东西,都会犯同一个毛病:只盯局部,不看整体。这个毛病不属于任何一个具体产物,单开一个技能来管它。

它是前置动作,跟写作/改稿技能并行,不是二选一。 那些技能管怎么把内容写好,这个技能管的是动手之前先看整体骨架——判断这处怎么改才不破坏整体。它是底层能力,该跟具体的写作技能一起走,不占它们的名额。顺序是:先三思(看骨架、判断这处怎么改才不破坏整体),再动手写/改。别因为一句话里带了"润色""精简",就只想着动笔、把这一步跳了。


触发场景(反模式清单)

命中任一即启动:

  • 评审 / 反馈意见指出文档某处有问题,准备直接冲上去改那一处,没回头看全文。
  • 用户说「改一下」「加一段」「顺手改一下」「只改这一处」「补一下」「快速改一下」。
  • 用户说「润色一下」「精简一下」「优化下措辞」「压缩这段」「扩写一下」「顺一顺」——文字加工也是改已有内容,先看这段在骨架里的位置再动。
  • 用户丢一整篇文章说「优化一下」「通篇顺一顺」,没指改哪儿——别逐句润色,先抽骨架,自己找出承接断了、论据放错节、结论收不全的地方(细则见 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。
  • 方案:读完整方案。

列影响面

两栏,写下来(重档)或口头说清(中轻档):

  • 这次要动的点:准备改/新增的具体位置。
  • 跟这个点相关的既有逻辑:文档骨架里的前后章、已有的类似论述、依赖此处的下游章节。

相关的没列全,不许下笔。

三问过闸

一条一条问,一条不过就停:

  1. 这个点,全文 / 技能历史 / 方案版本里之前动过吗? 动过就先看历史,别把上次刚删的加回来,别推翻上一次评审已经定的事(对应 Chesterton's Fence)。
  2. 修法的风险比原问题大吗? 大就换修法,别硬扛(对应 Band-Aid 反模式)。
  3. 改这一处,会不会破坏整体骨架的连贯? 破坏就回骨架重来,不许硬插(对应 Shotgun Surgery)。

三问任一不过,回退到「不改」或「重设计」,不许硬修。


骨架优先(文档场景专用规矩)

新写和大改文档时,单独一条硬约束:骨架先立,内容后填,过渡最后加(对应 Outline-First):

  1. 先列骨架:每一节一句话观点,顺一遍能不能立住、之间有没有承启。
  2. 骨架顺了,再填内容:每一节内容展开。
  3. 最后加过渡:章节之间的承启句,让整篇喘得上气。
  4. 改了任何一节,回骨架重扫一遍:骨架被破坏了就重来,不许打补丁维持假连贯。

产出:改前通读报告

三步都过完,给一份报告(中重档写下来,轻档在心里过并口头说):

【改前通读报告】

## 通读了什么
- 载体:文档 / 技能文档 / 方案
- 读的范围:...(具体到文件、章节)
- 读到什么程度:...

## 影响面清单
- 这次要动的点:第 N 节「XX」
- 跟这个点相关的既有逻辑:
  - [章节/位置]:...
  - [章节/位置]:...

## 三问回答
1. 这个点历史上动过吗?
   → 未动过 / 动过:[章节 / 版本],历史结论是「...」
2. 修法风险比原问题大吗?
   → 不大,理由:... / 大,换修法:...
3. 会破坏整体骨架吗?
   → 不破坏,理由:... / 破坏,决定回骨架:...

## 决定
- [ ] 改(按上面结论动手)
- [ ] 不改(理由:原有机制能兜住 / 修法风险大)
- [ ] 回骨架重设计(理由:硬插会破坏一致性)

三问任一不过,给「不改」或「回骨架」,不许硬修


反模式硬禁止

  • 「先改上再说,以后统一整理」:补丁摞补丁的入口,禁止。
  • 「小问题快速改一下,不用看那么多」:「小」和「快」是补丁的两个借口,不成立。
  • 「只改这一处,不动其他的」:不看整体就不知道要不要动其他。
  • 「说优化就逐句润色」:没指改哪儿时只抠措辞,论据放错节、结论收不全这类骨架病全漏掉。先抽骨架再动。
  • 「新增的挂在末尾,不影响原文」:挂在末尾也是骨架的一部分,不融就是补丁。
  • 「上次刚删的又加回来」:文档 / 版本历史都不看,禁止。
  • 「一遍改一遍看效果,来回反复」:是没通读整体的症状,回第一步。

力度与豁免

软约束,不阻断交付:

  • 重档(对外文档 / 已发布技能文档更新):三步全跑,报告写下来。
  • 中档(内部文档修改 / 手记类):三步跑,报告口头说清。
  • 轻档(拼写、typo、格式微调、明显笔误):可跳过,但要在心里过一遍,这真的只是 typo 吗?

豁免:一次性丢弃的草稿、纯一句话答疑,可以跳过。豁免要在心里对自己说一句「这是草稿,不是产出」,能说出口才算数。


出稿前自检

  • 通读做到位了吗?(文档通读全文了吗?技能看了所有 references 吗?)
  • 影响面清单列全了吗?
  • 三问答完了吗?任一"不过"有没有硬修?
  • 有没有踩到"上次已删的又加回来"这条?
  • 骨架还立得住吗?

任一答不上,回去补。软约束不是可跳过,是"跑不过不阻断,但要显式说出豁免理由"。

Signals

GitHub stars
79
Forks
3
Last commit
Sep 2026
Advanced
Catalog kind
skill
Gateway key
sansi-erhouxing
Source
github.com/job-yang/jobyang-ai-skills