Claude Code Skills · 论文 · 写作流程与纪律
paper-verify-before-handoff
在把任何成果交付给用户("改完了"、"已完成"、"可以发给导师"、"可以提交")之前, 必须运行一份硬检查清单:术语一致性、引用完整性、数据正确性、图表编号、 内部交叉引用、字数 / 格式合规、未完成 todo 残留、AIGC pattern(涉及文段改写时跑 chinese-de-aigc 五维自评)、 论证一致性(涉及核心声明改动时跑 paper-logical-consistency 复核)、 改动概要——任意一项 fail 都不能宣告完成。 Use when 你即将说「改完了 / 完成了 / 可以提交了 / 可以发给导师了」、 或用户问「是不是可以了」「还有什么要检查的吗」。
- Repo
Chanw-research/claude-code-paper-writing- Slug
paper-verify-before-handoff
SKILL.md
paper-verify-before-handoff:交付前最后一道闸
核心理念
AI 写得太流畅会让人放松警惕。最致命的错误不是写错,是**"看起来对了所以不查了"**。 书里第 14 章的核心:对结果负责的永远是你,不是 AI——所以 AI 必须替你建一道交付闸。
完成 = 通过检查清单,不是"AI 觉得做完了"。
触发条件
满足任一条 → 触发:
- 你即将在回复里写出"改完了"、"完成了"、"已经处理好"、"可以提交"、"可以发了"
- 用户问「是不是可以了」、「还有什么要检查的吗」、「能发给导师吗」
- 你即将说「这就是最终版本」
- 一个章节 / 整篇论文的修改任务即将关闭
强制流程
你即将宣告"完成"
│
▼
立即停下,不要发出"完成"的消息
│
▼
按下方"硬检查清单"逐条核
│
▼
所有项 PASS → 把检查报告作为完成消息的一部分发出
任何一项 FAIL → 列出问题,告诉用户"还差这几条,先不能算完"
硬检查清单(必查 10 项)
| # | 项 | 怎么查 |
|---|---|---|
| 1 | 术语一致性 | grep 本次涉及的所有保护术语,确认没出现替换 |
| 2 | 引用完整性 | 所有 \cite{} / [X] 标号在参考文献里都能查到,反之亦然 |
| 3 | 数据正确 | 所有改动里的数字、百分比、年份与原始数据 / 上文一致 |
| 4 | 图表编号 | 图 1、图 2... 连续,文中"图 X"指向的图编号确实存在 |
| 5 | 内部交叉引用 | "如 §3.2 所述"、"见表 4",引用的目标确实存在 |
| 6 | 字数 / 格式合规 | 满足 CLAUDE.md 里声明的字数 / 格式要求 |
| 7 | Todo 残留 | grep TODO / FIXME / xxx / ?? 等占位符确认全部清掉 |
| 8 | AIGC pattern(如本轮涉及文段改写 / 润色 / 通顺化) | 跑 chinese-de-aigc 五维自评,加权总分 ≥ 42 分;任何高严重度 AI 痕迹(四字套话、显性连接词、绝对化断言、隐藏被动)已修正 |
| 9 | 论证一致性(如本轮改动了核心声明) | 跑 paper-logical-consistency 扫描全文:本次改动涉及的研究问题 / 核心论点 / 假设 / 因果声明 / 边界条件 / 主要结论,在其他章节的出现都已逐处与用户确认(同步修改 / 保留原样) |
| 10 | 改动概要 | 用一句话复述改了什么、未改什么,让用户能秒判对错 |
第 8 项的"涉及文段改写"判定:本轮有任何 Edit / Write 改动了文段(不是只改格式 / 引用 / 编号 / 图表)→ 必须查。 第 9 项的"涉及核心声明"判定:本轮改动是否触及研究问题 / 核心论点 / 主要结论 / 方法边界 / 对已有研究的态度。改动了 → 必须跑;纯格式 / 引用 / 数据修订则跳过。 不是"觉得改得不多就跳过"——只要符合判定就要跑。
标准交付消息模板
改完了。交付前自查结果:
✅ 术语一致:[检查的术语列表],无替换 ✅ 引用完整:新增 X 条引用都在参考文献里,无悬挂 ✅ 数据:[列出涉及的关键数字],与原始一致 ✅ 图表编号:图 X、表 Y 编号连续,文中引用全部命中 ✅ 交叉引用:[列出本次涉及的 §X.X / 表 X / 图 X],全部命中 ✅ 字数 / 格式:[当前字数 / 限制] · [格式状态] ✅ Todo:grep 无残留 ✅ AIGC pattern:chinese-de-aigc 五维评分 [具体分](≥ 42 通过);高严重度痕迹 [N] 处已修正 / 本轮未涉及文段改写,跳过 ✅ 论证一致:本次改动的核心声明 [列出] 在 §X.X / §Y.Y / §Z.Z 也出现,已逐处与用户确认 / 本轮未改动核心声明,跳过
本次改动概要:[一句话复述] 未触及部分:[一句话明示]
现在可以发给导师 / 提交了。
❌ 反例(书 §14.2)
用户:"改完第三章给我发一份。"
错误做法:AI 改完,回:"改完了,文件已保存。"
- 用户直接发给导师
- 导师两小时后回:"你这个引用 [12] 在参考文献里没有"
- 用户回头查 → 发现还有三处类似问题
正确做法:AI 改完后,先跑一遍交付闸 → 发现 [12] 缺失 → 告诉用户先补再交付。
"可以跳过检查清单" 的极少数情况
- 纯查询、纯只读:不修改任何文件
- 用户明确说"不用检查直接交":但仍然要在交付消息里提醒"已按你要求跳过自查"
Rationalization Table
| 念头 | 现实 |
|---|---|
| "我刚才改的时候已经注意到这些了" | 注意 ≠ 系统检查。系统检查就是抓你"以为注意到了"的疏漏 |
| "这次改动很小,不用全套检查" | 小改动隐藏的连锁错误最多(改了术语忘了同步缩写表) |
| "用户着急,先交出去再补" | "再补"意味着"导师骂回来再补"。代价更大 |
| "AI 写得很流畅,应该没问题" | 流畅是 AI 的本能,正确才是工作 |
| "前面的章节都没问题,这章应该也没问题" | 前面没问题正是因为查了,这章不查就会有 |
| "10 项太多,挑重要的查就行" | 挑出来漏的那项就是会出事的那项 |
Red Flags
- 你正要打出"改完了"三个字 → 停,先跑清单
- 你在交付消息里写"应该没问题" → "应该" = 没查,回去查
- 你跳过任何一项检查 → 不行,10 项都要
- 用户已经在催,你想先发再补 → 不行,发出去就是定稿
- 你把"检查清单结果"写得很简略,没列出具体术语 / 数字 / 引用编号 → 那是空话,不是自查
- 你想"本轮文段改得很少,AIGC pattern 那项可以跳过" → 改得少不等于没 AI 腔,必须跑 chinese-de-aigc 自评
- 你把 chinese-de-aigc 五维评分写成"高分通过"四个字,没列具体分数 → 那是空话,必须列五维各自的分数和加权总分
- 你想"本轮改的是核心论点,论证一致性那项可以晚点查" → 不行,必须立刻调 paper-logical-consistency 扫全文
- 你扫完全文凭自己判断哪些位置要联动改 → 不行,扫出的疑点必须列给用户决定
来源
《Claude Code 科研手记》第 14 章「与 AI 协作的正确心态」、§14.2「对结果负责的永远是你」
同一分类的其他项
- academic-researcher
- conference-paper-writing
- idea-creator
- idea-discovery
- nature-portfolio-playbook
- paper-analyzer
- paper-backup-before-word
- paper-bootstrap
- paper-claim-audit
- paper-claude-md-bootstrap
- paper-compile
- paper-confirm-before-doing
- paper-logical-consistency
- paper-one-session-one-task
- paper-parallel-audit
- paper-pilot-before-batch
- paper-plan
- paper-protect-terminology
- paper-reviewer
- paper-translate-advisor-feedback
- paper-using-skills
- paper-workflow
- paper-write
- paper-writing-discipline
- paper-writing
- rebuttal-response
- rebuttal
- submission-audit