$npx -y skills add rolandwonglonam/rw-research-skill --skill rw-revision-patch将 Markdown 文稿切成带稳定 ID 和 hash 的段落块,只对用户批准的块执行替换,并输出保留比例、修改理由和问题追踪报告。Use when the user asks for“只改这几段”“按审稿意见局部修改”“保留其他内容不动”“生成可复核修改 patch”,or requests the rw-revision-patch workflow.
| 1 | # RW Revision Patch |
| 2 | |
| 3 | 限制修改范围。第一版只替换已有 Markdown 块,不静默增加、删除或重排章节。 |
| 4 | |
| 5 | ## 启动 |
| 6 | |
| 7 | 1. 读取 `references/method.md` 和 `references/patch-format.md`。 |
| 8 | 2. 保留原始文稿,运行 `scripts/revision_patch.py anchor` 生成带块 ID 的副本和 manifest。 |
| 9 | 3. 根据已批准的修改范围建立 Patch JSON。 |
| 10 | 4. 运行 `check`,确认 hash、块 ID、修改比例和问题 ID。 |
| 11 | 5. 运行 `apply` 生成新文稿和报告。 |
| 12 | 6. 对修改块复核内容,对未修改块核对 preserved ratio。 |
| 13 | |
| 14 | ## 命令 |
| 15 | |
| 16 | ```bash |
| 17 | python3 scripts/revision_patch.py anchor draft.md --output draft.anchored.md --manifest draft.manifest.json |
| 18 | python3 scripts/revision_patch.py check draft.anchored.md --manifest draft.manifest.json --patch revision.patch.json |
| 19 | python3 scripts/revision_patch.py apply draft.anchored.md --manifest draft.manifest.json --patch revision.patch.json --output draft.revised.md --report revision.report.json |
| 20 | ``` |
| 21 | |
| 22 | 修改块超过全文 60% 时停止。只有用户明确同意大范围修改后才能加入 `--allow-large-patch`。 |
| 23 | |
| 24 | ## 工作阶段 |
| 25 | |
| 26 | 1. 固定基础文稿和版本 hash。 |
| 27 | 2. 把标题、段落、列表或代码块按空行边界编号。 |
| 28 | 3. 先确定每条批注对应的完整论证单位。批注框选的词句只是问题位置,不自动等于修改边界;必要时把同段前后句纳入同一 replace。 |
| 29 | 4. 将每项修改连接到块 ID、旧 hash、理由和 issue ID。需要跨块、增删或重排时,先说明范围并转入相应流程。 |
| 30 | 5. 先验证所有操作;任意一项失败时不生成部分结果。 |
| 31 | 6. 生成新文件,不覆盖原文件。 |
| 32 | 7. 输出修改块、保留块、保留比例和新 hash。 |
| 33 | |
| 34 | ## 运行规则 |
| 35 | |
| 36 | - 原文件不被修改。 |
| 37 | - Patch 第一版只支持 `replace`。 |
| 38 | - 一个块在一次 Patch 中只能修改一次。 |
| 39 | - `expected_hash` 必须与 manifest 一致。 |
| 40 | - `new_text` 不能包含 RW block marker。 |
| 41 | - 任意 precondition 失败时整批停止。 |
| 42 | - 未涉及块的正文保持原样。 |
| 43 | - 局部批注限制未经批准的改动范围,不要求修改只停留在高亮词句。内容正确性需要在完整论证单位上复核。 |
| 44 | - “Expand”“Tell me more”“I don't understand”不能只通过增加字数、例子或同义词关闭。先检查主体、对象、行动、发生环节、作用关系、适用边界和当前意义是否仍需读者猜测。 |
| 45 | - 新增、删除、重排章节进入结构修改,不伪装成局部替换。 |
| 46 | - Patch 只能限制改动范围,不能证明修改内容正确。 |
| 47 | |
| 48 | ## 输出 |
| 49 | |
| 50 | - Anchored Markdown 副本。 |
| 51 | - Block manifest JSON。 |
| 52 | - Patch JSON。 |
| 53 | - Revised Markdown 新文件。 |
| 54 | - Apply report JSON,包含 preserved ratio 和修改追踪。 |
| 55 | - 每条批注的论证单位、修改边界理由和仍未闭合的问题。 |
| 56 | |
| 57 | ## 停止条件 |
| 58 | |
| 59 | - 输入文稿没有稳定版本时,不生成 Patch。 |
| 60 | - hash、块 ID 或基础文稿不匹配时停止。 |
| 61 | - 修改比例超过 60% 且用户没有明确批准时停止。 |
| 62 | - 需要新增、删除或重排章节时,改走结构修订流程。 |
| 63 | - 解决批注必须跨越用户尚未批准的块时,先报告所需范围,不静默扩大 Patch。 |
| 64 | |
| 65 | ## 接续 |
| 66 | |
| 67 | - 学术写作:`rw-phd-write`。 |
| 68 | - 作者语气:`rw-phd-tone`。 |
| 69 | - 审稿回复:`rw-journal-submission`。 |
| 70 | - 主张复核:`rw-claim-audit`。 |