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 里声明的字数 / 格式要求
7Todo 残留grep TODO / FIXME / xxx / ?? 等占位符确认全部清掉
8AIGC 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「对结果负责的永远是你」

同一分类的其他项