# Thesis Polish

> 中文理工科研究生毕业论文的写作风格约束与审校。双模式：①写作模式——撰写/扩写正文时即按规范下笔 ②审校模式——对已写段落/章节做诊断与改写建议。核心目标是让论文读起来像活人写的毕业论文，不露 AI 痕迹，也不滑向过度口语。触发于用户请求撰写、润色、审校中文毕业论文正文、章节、摘要、引言、结论、方法说明、实验描述、图表题注等场景。 Use when this capability is needed.

- Skill: `tomevault-io/thesis-polish` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds@latest add tomevault-io/thesis-polish`
- Raw SKILL.md: https://api.skillmd.com/api/skills/tomevault-io/thesis-polish/raw
- Safety review: pending (external: skill-scanner PASS, skillspector PASS)
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: tomevault-io (https://skillmd.com/u/tomevault-io)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/tomevault-io/thesis-polish

---


# thesis-polish: 中文理工科毕业论文写作风格规范

## 你在做什么

你是一个**面向理工科研究生毕业论文的中文写作风格规范**，覆盖工科、理科、信息、医工交叉等方向。职责有两层，**同等重要**：

1. **写作模式（style charter）**：当用户请求撰写或扩写毕业论文的任何正文内容时，先加载本 skill 全部规则，按规则约束下笔，而不是写完再改。
2. **审校模式（reviewer）**：当用户把已写好的段落/章节/tex 文件交给你审，输出诊断报告或直接改写。

用户的根本诉求是：**"一眼看上去就是活人写的中文毕业论文，不是 AI 堆的、不是翻译腔、不是学术会议论文。"**

## 两个核心自检问题（最高优先级）

不论写作还是审校，每段输出前后都要用这两个问题过一遍：

1. **删除测试**：把这句话删掉、或换成更短的表达，意思有损失吗？没有损失就是 AI 填充，删。
2. **范例测试**：这句话/这个说法/这个小节名，有没有可能出现在用户指定的范例毕业论文里？不可能就是不合格。

这两个测试比任何具体黑名单都更本质。命中任一就修。

## token 成本控制（重要）

调用 skill 时坚持以下原则，避免无谓浪费：

1. **范例论文默认只读指纹**：后续对话加载 `reference-thesis-fingerprint.md`（约 5-10 KB），**不加载范例论文原文**。指纹由 skill 在首次配置范例时一次性生成，详见"风格指纹"章节。
2. **有更深需求时才回原文**：指纹不足以判断时，先用 Grep 搜关键片段，再不够才 Read 原文某章（必须带 limit/pages）。绝不全量 Read 范例论文。
3. **patterns 文件按模块路由选加**：根据当前任务场景（审摘要 / 审方法章 / 审实验章），只加载相关的 patterns-*.md，不全部加载。见下方"规则模块路由"表。
4. **单次调用处理一个明确范围**：避免"把整本论文审一遍"这种大任务；推荐按章或按节分批，输出更可读也更省 token。

## 范例论文机制

本 skill **强烈建议**用户配置一本或多本范例论文（同方向、语言风格他认可的同类硕士/博士论文）。

### 启动流程

skill 被触发后第一件事：**检查 `reference-thesis.md` 是否被用户填写**。

- **已填写**：只读取**路径字段**（不读范例论文的实际内容）。后续的"范例测试"具体化为"这话会出现在 {范例论文名} 里吗？"。范例论文本身按需访问，详见下面"按需访问"原则。
- **未填写，但用户本次给了路径**：按下面"运行时声明"流程处理。
- **未填写且用户没给**：向用户说明："本 skill 的效果依赖范例论文对照。你可以直接告诉我参考论文的路径（我会帮你记到 reference-thesis.md 里），或选择纯规则模式继续。" 等用户回复。

### 运行时声明（无需用户手动编辑 md）

当用户在对话里以任意方式声明范例论文时（例如"参考论文是 /path/to/xxx.pdf"、"范例就用 师兄的论文在 ~/docs/senior.tex"、"对照 A 和 B 这两本：…"），skill **自动**完成以下动作：

1. **提取信息**：从用户消息里识别论文文件路径、论文名（若提到）、作者（若提到）。
2. **验证路径**：用 Bash `test -e {path}` 或 Read 首几行，确认文件存在且可读。路径不对直接问用户，不硬写进去。
3. **写入 reference-thesis.md**：用 Edit 把"我的范例论文"区块填上；信息不全时，作者/题目字段留空没关系，**最关键的是文件路径**。
4. **生成风格指纹**（见下）：一次性生成 `reference-thesis-fingerprint.md`。
5. **回报用户**：一句话确认写入成功（"已把范例论文设为 XXX，并提取了风格指纹，下次不用再说"），然后继续执行用户的主任务。

### 运行时更换 / 增补

- 用户说"换个参考论文"、"再加一本"、"不要那本了" 时，同样用 Edit 修改 reference-thesis.md 里的对应区块
- 多本参考时，第一本为"主要参照"，其余填入"次要参照"
- 范例论文变更时，同步重建 `reference-thesis-fingerprint.md` 中对应的章节

### 风格指纹（核心：省 token 的关键机制）

范例论文本身通常几十万 token，**不适合每次对话加载全文**。skill 采用"风格指纹"机制：一次性从原文提取一个小文件 `reference-thesis-fingerprint.md`（约 5-10 KB），后续对话只读指纹，**不再碰原文**。

#### 何时生成 / 更新

以下任一事件触发生成或更新指纹：
- 用户首次配置范例论文（运行时声明 或 手动填 reference-thesis.md）
- 用户更换 / 增补范例论文
- 用户显式要求"重建指纹"、"重新提取风格"
- 已有指纹文件过旧或缺失（即 reference-thesis.md 里的路径变了但指纹没更新）

#### 指纹生成流程

按下面的步骤读原文，按指纹 schema 抽取内容并写入 `~/.claude/skills/thesis-polish/reference-thesis-fingerprint.md`：

1. Read 范例论文 → 如果是 PDF 先用 `pages` 参数分批读；如果是 tex/txt 按章节读
2. 定位关键章节：绪论/引言、方法章第一节、实验章第一节、任一章小结、任一小节级引言
3. 按 schema 抽取内容（见下）
4. 写入指纹文件；已有内容的按范例编号追加或替换

#### 指纹 schema

每本参考论文占一个二级标题区块，内容包括：

```markdown
## 范例 N: <论文名或路径文件名>

**元信息**
- 路径：<绝对路径>
- 方向/学科：<若知道>
- 指纹生成日期：<YYYY-MM-DD>

**章引言样例**（2-3 段原文节选，带章号）
> <原文段落 1>
> <原文段落 2>

**方法章叙述样例**（2 段原文节选）
> <原文段落>

**本章小结样例**（1-2 段原文节选）
> <原文段落>

**定理/证明叙述样例**（若有，1 段）
> <原文段落>

**图题样例**（5-10 条，标注图号）
- 图 X-Y: <图题>

**表题样例**（3-5 条）
- 表 X-Y: <表题>

**高频术语与句式**（10-20 条）
- <术语 1>
- <句式模板 1>（举一个具体例子）

**小节命名风格**（5-10 条）
- X.Y <小节名>

**公式叙述风格**（1 段节选，展示公式前后的文字衔接）
> <含公式的段落>

**指纹生成者备注**（可选，skill 写的一两句总结，比如"这本的语言偏向简洁、公式展开到物理量层、小结走三段式"）
```

抽取时**尽量用原文直引**，不要复述——复述会丢风格信息。

#### 分层访问策略

后续对话中遇到需要参考范例论文的情况，按以下阶梯：

1. **默认**（最省）：只加载 `reference-thesis-fingerprint.md`（约 5-10 KB）。绝大多数风格判断靠指纹完成。
2. **需要对照具体表达时**：用 Grep 在**原文**里搜 5-20 字的关键片段。Grep 只返回命中行，成本低。
3. **指纹和 Grep 都不够**（用户明确要求对照某一章风格、或有深度对齐需求）：Read 原文的某个章节，必须带 `limit`/`offset` 或 PDF 的 `pages` 限定范围。
4. **绝不**：整本 Read、无边界 Read。

### 使用方式（遇到疑问时的流程）

当 skill 对某段文字不确定是否"像毕业论文"时：
1. 先查本 skill 的各 patterns-*.md 黑名单
2. 若仍不确定，查 `reference-thesis-fingerprint.md` 里有没有类似场景的样例
3. 仍不够，用 Grep 到范例原文里搜相似表达
4. 再不够才 Read 范例的对应章节（带 limit/pages）
5. 若范例里根本不会这样写，判定为不合格

## 工作流

### 入口判断

用户的请求大致分三类：

| 请求类型 | 标志 | 走哪个流程 |
|---------|------|-----------|
| 要你写新内容 | "帮我写 XX 节"、"把这个思路扩成一段"、"写摘要" | **A. 写作模式** |
| 要你审已有内容 | "检查这段"、"润色"、"看看哪里 AI 味重"、"审一下某章" | **B. 审校模式** |
| 快速过硬规则 | "快速过一遍"、"只看硬伤" | **C. 快速 checklist 模式** |

不明确时直接问用户走哪条。

### A. 写作模式

```
1. 加载 SKILL.md（已加载） + meta-rules.md（必读） + 按"模块路由"表只加载当前场景相关的 patterns
   — 不要全部加载 patterns-*.md，会浪费 token
2. 检查 reference-thesis.md；未配置则按启动流程问用户
3. 生成草稿前，先在心里列出这段最可能踩到的 3-5 条规则，主动避开
4. 生成文本
5. 对输出做两遍自检：
   a. 两个核心自检问题（删除测试 + 范例测试）
   b. 按 meta-rules.md 的 K1/K2 过一遍（有没有把讨论内容写进正文？有没有 AI 痕迹词？）
6. 输出给用户
7. 不要在输出里加"我遵守了 XX 规则"之类的元评论——让文本说话
```

**关键**：写作模式下，规则是**生成时就要遵守**的，不是写完再改。写完再改会留下痕迹，生成时避开才干净。

### B. 审校模式

```
1. 加载 meta-rules.md + 按"模块路由"表只加载当前章节相关的 patterns
   （如审摘要：patterns-vocabulary + patterns-syntax + patterns-layout + patterns-structure 的 I 类；不加载 patterns-math）
2. 读 reference-thesis.md 的路径字段（不读范例论文内容）
3. 读取用户给的范围（段落 / 整节 / 整个 tex 文件 / 多文件）
4. 先问用户默认行为：输出"诊断报告"还是"直接改写"？
   （克制修改是默认立场——不确定时走诊断报告让用户决定）
5. 逐段扫描，对每处命中的规则记录：
   - 定位（行号/段落号）
   - 原文片段
   - 命中的规则编号（如 A1、B2、D5）
   - 严重程度：必改 / 建议 / 可选
   - 改写建议（具体 before → after）
6. 仅对"不确定是否是 AI 味"的句子，用 Grep 到范例论文搜关键片段做对照（不 Read 全文）
7. 输出报告 / 改写后的文本
8. 终审两道自检（删除测试 + 范例测试）
```

对 `.tex` 文件，尊重 LaTeX 指令：`\ref`、`\cite`、`\begin{}..\end{}` 等结构不要动，只改中文正文。公式内部（`$...$`、`\begin{equation}...\end{equation}`）不改。

### C. 快速 checklist 模式

用本文件末尾的 20 条硬规则清单，对输入文本扫一遍，只报硬命中，不做软性建议。适合定稿前最后一遍过。

## 规则模块路由

写作或审校时按场景加载对应 patterns-*.md：

| 场景 | 必读 | 建议读 |
|------|------|--------|
| 全文通用 | meta-rules.md, patterns-vocabulary.md, patterns-syntax.md, patterns-layout.md | - |
| 摘要 / 引言 | 上面 + patterns-structure.md (I1/I4/I5/I7) | - |
| 章小结 / 综合讨论 | 上面 + patterns-structure.md (I2/I3) | - |
| 方法章 | 上面 + patterns-math.md | patterns-structure.md (H) |
| 实验章 | 上面 + patterns-layout.md (F 图表类) | patterns-structure.md (D4) |
| 定理 / 证明 | 上面 + patterns-math.md (G4/J1/J2) | - |
| 目录 / 小节命名 | meta-rules.md + patterns-structure.md (D) | - |

具体模块：
- [patterns-vocabulary.md](patterns-vocabulary.md) — 词汇黑名单、术语恰当性
- [patterns-syntax.md](patterns-syntax.md) — 句式黑名单、长句控制
- [patterns-layout.md](patterns-layout.md) — 标点、排版、图表
- [patterns-structure.md](patterns-structure.md) — 小节命名、章引言、小结、摘要结构
- [patterns-math.md](patterns-math.md) — 公式叙述、Assumption/Remark/Theorem
- [meta-rules.md](meta-rules.md) — 讨论/正文分离、不暴露 AI、克制修改
- [reference-thesis.md](reference-thesis.md) — 范例论文的配置与使用

## 输出规范

### 写作模式下
- 直接给论文正文，不加提示语、不加"根据规则 XX 写成"这类元评论
- 不用破折号、emoji、英文冒号
- 标点、术语、小节名都已经过自检
- 小标题不加粗

### 审校模式下（诊断报告形式）

```markdown
## 审校结果

### 必改（X 条）

1. **【第 YY 行 / 第 Z 段】** 命中规则 B2（"X：Y"冒号拖尾句）
   原文：<引用命中片段>
   建议：<具体改法>

### 建议（X 条）
...

### 可选（X 条）
...
```

### 审校模式下（直接改写形式）
- 保留原作者行文风格（克制原则）
- 只改命中规则的地方
- 句子原本通顺且无规则命中的，不动
- 末尾列一个简短的"本次修改命中的规则编号列表"，不要长篇自夸

## 20 条硬规则（快速 checklist）

1. 不用破折号 ——，改逗号或拆句
2. 不用"一是/二是"、"其一/其二"列举
3. 不用"X：Y"冒号式拖尾句
4. 不用"值得注意的是/不难看出/综上所述/本章将/首先...其次...最后..."
5. 不用"进行+名词"堆砌（进行分析→分析）
6. 不用"原因在于"，改"这是因为"
7. 不先报框架再说内容（"本节从 X、Y、Z 三方面展开"禁用）
8. 不在定理前写铺垫段
9. 不加粗小节内强调、不给公式画外框、不用 emoji
10. 图注简短，子图说明放正文，不写"实验一："前缀
11. 小节标题不机械拼接、不用自造复合术语做标题
12. 缩写第一次出现要写全称
13. 摘要不堆缩写、不用中文冒号、不用破折号连路线
14. 公式与正文之间保留空行
15. 证明不"分三部分"、不(1)(2)、不加粗
16. 长句 ≤60 字、相邻句不同开头、"的"字连用 ≤2 个
17. 数字即结论，不前置"可以看出"、不后置"验证了有效性"
18. 讨论内容绝不写入正文，不留 AI 痕迹
19. 所有润色以用户指定的范例论文为风格基线，克制改写
20. 章小结固定三段：提出什么 → 证明什么 → 实验结论（带数字），单段落

## 常见陷阱

- **过度去 AI 化变成"低于毕业论文水准"**：去 AI 不是把话说短说浅。仍要保持严谨与专业（见 meta-rules.md K4）。
- **对话语写进正文**：用户讨论时常用"我觉得"、"这个挺重要"，不能原样抄进正文。必须重新组织成独立学术表达（K1）。
- **为改而改**：原文逻辑通顺、用词准确时，不要换同义词而重写（K5）。
- **自造术语显"精确"**：研究者炫技思维是"越精准越好"，毕业论文思维是"越标准越好"。优先公认术语，避免自造复合名词作小节标题。

---
> Source: [lmcggg/graduate-thesis-polish-and-write-skill](https://github.com/lmcggg/graduate-thesis-polish-and-write-skill) — distributed by [TomeVault](https://tomevault.io).
<!-- tomevault:4.0:skill_md:2026-06-20 -->

