$npx -y skills add Lambenthan/paper-discipline-skills --skill paper-backup-before-word在编辑任何 .docx / Word 文件之前,必须先用 cp 创建带时间戳的备份副本, 并优先评估"用 markitdown 转 LaTeX 后再改"是否更安全; 只有在确认必须直接编辑 .docx 时才动手,且改完后必须提醒用户先打开 Word 验证完整性。 Use when 用户请求修改、润色、改写、重排任何 .docx 文件、 或调用 /docx skill、或 Edit/Write 操作目标是 .docx 文件时。
| 1 | # paper-backup-before-word:改 Word 之前必先备份 |
| 2 | |
| 3 | ## 核心理念 |
| 4 | |
| 5 | `.docx` 是个 zip 包。一旦写崩 XML,整份文件打不开,所有批注、修订、格式全部消失。 |
| 6 | 书里第 8 章记录了两次惨案:一次覆盖原文件、一次 XML 损坏——两次都是没备份。 |
| 7 | |
| 8 | > Word 文件不是文本文件。它的每一次写操作都是一次"打开心脏手术"。 |
| 9 | |
| 10 | --- |
| 11 | |
| 12 | ## 强制规则 |
| 13 | |
| 14 | **编辑任何 .docx 之前必须执行下列三步,缺一不可:** |
| 15 | |
| 16 | 1. `cp` 创建带时间戳的备份 |
| 17 | 2. 评估是否值得"先转 LaTeX 再改" |
| 18 | 3. 改完后告诉用户"第一件事打开 Word 验证完整性" |
| 19 | |
| 20 | --- |
| 21 | |
| 22 | ## 触发条件 |
| 23 | |
| 24 | 满足任一条 → 触发: |
| 25 | |
| 26 | - 用户请求修改 / 润色 / 改写 / 重排某 .docx 文件 |
| 27 | - 用户的指令里出现 "Word"、".docx"、"文档"、"批注" |
| 28 | - 你即将调用 `/docx` skill 的 modify / write 类操作 |
| 29 | - 你即将对路径以 `.docx` 结尾的文件调用 Edit / Write |
| 30 | - 用户说"导师在 Word 里批注了,帮我改一下" |
| 31 | |
| 32 | --- |
| 33 | |
| 34 | ## 强制流程 |
| 35 | |
| 36 | ``` |
| 37 | 检测到 .docx 编辑请求 |
| 38 | │ |
| 39 | ▼ |
| 40 | 第 1 步:创建备份 |
| 41 | cp "原文件.docx" "原文件.bak.YYYYMMDD-HHMMSS.docx" |
| 42 | │ |
| 43 | ▼ |
| 44 | 第 2 步:判断是否值得转 LaTeX(见决策表) |
| 45 | ├─ 主稿大改 / 长期项目 → 建议转 LaTeX |
| 46 | └─ 导师批注小修 / 一次性改 → 直接改 .docx |
| 47 | │ |
| 48 | ▼ |
| 49 | 第 3 步:执行修改 |
| 50 | │ |
| 51 | ▼ |
| 52 | 第 4 步:交付时告诉用户 |
| 53 | 「改完了,请你**先打开 Word 验证一下能正常打开**, |
| 54 | 有问题立刻回滚到 [备份文件名]。」 |
| 55 | ``` |
| 56 | |
| 57 | --- |
| 58 | |
| 59 | ## 备份命名规范 |
| 60 | |
| 61 | ```bash |
| 62 | cp "第三章.docx" "第三章.bak.$(date +%Y%m%d-%H%M%S).docx" |
| 63 | ``` |
| 64 | |
| 65 | 格式:`<原名>.bak.<时间戳>.docx` |
| 66 | |
| 67 | **禁止**: |
| 68 | |
| 69 | - 命名为 `第三章_备份.docx`(无时间戳,下次会覆盖) |
| 70 | - 命名为 `第三章 (副本).docx`(系统默认名字会冲突) |
| 71 | - 不留备份就开始改 |
| 72 | |
| 73 | --- |
| 74 | |
| 75 | ## "转 LaTeX 还是直接改" 决策表 |
| 76 | |
| 77 | | 情况 | 推荐 | |
| 78 | |---|---| |
| 79 | | 主稿、长期写作、还要改 ≥ 5 次 | 转 LaTeX(一劳永逸) | |
| 80 | | 导师在 Word 里批注,只改这一次 | 直接改 .docx | |
| 81 | | 涉及大量公式 / 表格重排 | 转 LaTeX | |
| 82 | | 涉及 Track Changes 修订 / 批注,必须保留 | 直接改 .docx | |
| 83 | | 投稿要求必须 Word 模板 | 直接改 .docx,但保留 LaTeX 草稿 | |
| 84 | |
| 85 | --- |
| 86 | |
| 87 | ## ❌ 反例(书 §8.1) |
| 88 | |
| 89 | **惨案 1**:用户要改第 4 章,AI 直接 Write 覆盖原文件——原稿+导师批注全丢。 |
| 90 | **惨案 2**:AI 调用 /docx 修改样式,写崩了 XML,整个文件打不开。 |
| 91 | |
| 92 | 两次的共同根因:**没备份就动手**。 |
| 93 | |
| 94 | --- |
| 95 | |
| 96 | ## Rationalization Table |
| 97 | |
| 98 | | 念头 | 现实 | |
| 99 | |---|---| |
| 100 | | "用户的 Mac 有 Time Machine 自动备份" | Time Machine 的快照是按小时的,可能正好没覆盖到这一刻 | |
| 101 | | "git 已经在跟踪这个文件" | git 不识别 .docx 内部 XML 状态,损坏后 diff 也救不了 | |
| 102 | | "我只改一个段落,不会出问题" | 惨案 2 就是改一个段落崩的 XML | |
| 103 | | "备份占空间" | 一个 .docx 几 MB,对比丢稿损失忽略不计 | |
| 104 | | "用户说要快" | "快" ≠ "不备份",备份只要 0.5 秒 | |
| 105 | | "上次改这个文件备份过了" | 上次的备份不是这次的备份 | |
| 106 | |
| 107 | --- |
| 108 | |
| 109 | ## Red Flags |
| 110 | |
| 111 | - 你即将对 .docx 调用 Edit / Write,但还没 `cp` → 停 |
| 112 | - 你想"先试试看,不行再说" → 不行,备份是先决条件 |
| 113 | - 你看到目录里有 .bak 文件就觉得"已经有备份了" → 不一定是这次的备份,按规范重新备份 |
| 114 | - 改完不提醒用户验证完整性 → 不算交付完成 |
| 115 | |
| 116 | --- |
| 117 | |
| 118 | ## 来源 |
| 119 | |
| 120 | 《Claude Code 科研手记》§8.1「Word 文档操作的风险」、§8.2「备份策略」 |