Skip to content
Back to skills

Paper Editor

ASecurity

学术论文修改与优化助手。当用户发送论文内容并提出修改需求时使用此技能。 采用自主执行流程,各步骤自动流转,无需用户干预,模型自主判断迭代是否达标。 每个步骤结束时生成检查点文件,下一步必须读取该文件继续工作,防止跳步。 最终通过脚本自动计算准确的 diff 标记,而非大模型手动标记,确保 diff 精确性。 输出 HTML 文件(使用 assets/paper-template.html 模板)支持三种查看模式:纯净版、修改痕迹、完整 Diff。

  • 80 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added May 26, 2026
ai-agentspythongobashapi

Works with

  • api
  • mcp

Security analysis

A100/100

Pro scans all 4 files and shows the line behind each finding

Scanned May 27, 2026

npx -y skills add laborany/laborany --skill paper-editor --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Paper Editor?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Paper Editor
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/laborany-paper-editor/badge)](https://www.skillsdirectory.com/skills/laborany-paper-editor)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: paper-editor
description: |
  学术论文修改与优化助手。当用户发送论文内容并提出修改需求时使用此技能。
  采用自主执行流程,各步骤自动流转,无需用户干预,模型自主判断迭代是否达标。
  每个步骤结束时生成检查点文件,下一步必须读取该文件继续工作,防止跳步。
  最终通过脚本自动计算准确的 diff 标记,而非大模型手动标记,确保 diff 精确性。
  输出 HTML 文件(使用 assets/paper-template.html 模板)支持三种查看模式:纯净版、修改痕迹、完整 Diff。
icon: 📚
category: 学术
---

# 论文修改助手

## 核心设计原则

本技能采用**自主执行架构 + 检查点机制**,全程自动流转:

```
┌─────────────────────────────────────────────────────────────────┐
│                     自主执行 + 检查点机制                         │
├─────────────────────────────────────────────────────────────────┤
│                                                                 │
│   每一步自动进入下一步                                            │
│   模型自主判断修改质量是否达标                                    │
│   未达标则自动迭代修改,直至通过                                  │
│   Diff 由代码计算,不依赖大模型标记                              │
│   每步执行时输出简短进度提示                                      │
│   **每步结束必须生成检查点文件**                                  │
│   **下一步必须读取检查点文件继续**                                │
│   **原始论文贯穿所有步骤,始终可用**                              │
│                                                                 │
└─────────────────────────────────────────────────────────────────┘
```

**修改范围原则**:
```
┌─────────────────────────────────────────────────────────────────┐
│                      修改范围边界                                │
├─────────────────────────────────────────────────────────────────┤
│                                                                 │
│   ✅ 修改:理论框架、逻辑结构、段落衔接、论证深度、学术规范       │
│                                                                 │
│   ❌ 不改:文件名、函数名、变量名、类名、专有名词、缩写           │
│                                                                 │
└─────────────────────────────────────────────────────────────────┘
```

**进度提示原则**:
- 每进入一个新步骤,输出一句简短的"正在进行 X..."提示
- 提示要简洁,使用 emoji 图标增强识别度
- 不输出中间结果,只输出执行状态
- 让用户始终知道模型在工作

**检查点文件机制**(防止跳步的核心):
```
┌─────────────────────────────────────────────────────────────────┐
│                    检查点文件命名规则                            │
├─────────────────────────────────────────────────────────────────┤
│                                                                 │
│   步骤1 → `step1_understanding.md`   (论文理解报告)             │
│   步骤2 → `step2_feedback.md`        (修改意见)                 │
│   步骤3 → `step3_revision.md`        (修改后论文)                │
│   步骤4 → `step4_verification.md`    (验证报告)                 │
│   步骤5 → `step5_proofread.md`       (校对后论文)                │
│   步骤6 → HTML 输出文件                                         │
│                                                                 │
└─────────────────────────────────────────────────────────────────┘
```

**每一步必须**:
1. 读取当前步骤所需的输入数据(原始论文 + 相关检查点文件)
2. 执行当前步骤的工作
3. 生成当前步骤的检查点文件
4. 只有当前步骤文件生成成功后才能进入下一步

---

## 工作流程

```
┌─────────────────────────────────────────────────────────────────┐
│                        论文修改工作流                             │
├─────────────────────────────────────────────────────────────────┤
│                                                                 │
│   📁 步骤0:初始化论文文件(第一步)                              │
│   (生成 paper_original.md + step0_original.md)                  │
│         │                                                       │
│         ▼                                                       │
│   📖 步骤1:论文理解与分类  ──→  🔍 步骤2:提出宏观修改意见       │
│   (生成 step1_understanding.md)  (生成 step2_feedback.md)       │
│         │                          │                             │
│         ▼                          ▼                             │
│   ✏️ 步骤3:论文修改   ──→  🔬 步骤4:对照验证与迭代           │
│   (生成 step3_revision.md)        (生成 step4_verification.md)  │
│         │                    ┌───────────┐                       │
│         │                    │ 达标 → 继续 │                       │
│         │                    └───────────┘                       │
│         │                          │                             │
│         └──────────┬───────────────┘                             │
│                    ▼                                             │
│            📝 步骤5:细节校对                                    │
│            (生成 step5_proofread.md)                             │
│            着重:语法、标点、格式                                 │
│                    │                                             │
│                    ▼                                             │
│            📄 步骤6:代码计算 Diff 与输出                          │
│            (读取 → 保存临时文件 → 运行脚本 → 输出HTML)             │
│                                                                 │
└─────────────────────────────────────────────────────────────────┘
```

**进度提示总览**:

| 步骤 | 进度提示 | 图标 | 输入文件 | 输出文件 | 关键约束 |
|------|---------|------|---------|-----------|----------|
| 步骤0 | 正在初始化论文文件... | 📁 | 用户输入的原始论文 | paper_original.md + step0_original.md | **第一步必须执行,写入原文** |
| 步骤1 | 正在分析论文内容... | 📖 | paper_original.md | step1_understanding.md | 必要时进行网络搜索 |
| 步骤2 | 正在分析论文并制定修改方案... | 🔍 | paper_original.md + step1_understanding.md | step2_feedback.md | **只提宏观问题,不动专业名词** |
| 步骤3 | 正在修改论文内容... | ✏️ | paper_original.md + step1_understanding.md + step2_feedback.md | step3_revision.md | 不确定时**主动搜索** |
| 步骤4 | 正在验证修改质量... / 正在进行第 N 轮优化修改... | 🔬 / 🔄 | paper_original.md + step2_feedback.md + step3_revision.md | step4_verification.md | **对照意见+文章,可提新意见** |
| 步骤5 | 正在进行细节校对... | 📝 | paper_original.md + step3_revision.md + step4_verification.md | step5_proofread.md | **语法、标点、格式检查** |
| 步骤6 | 正在生成最终 HTML 文件... | 📄 | paper_original.md + step5_proofread.md | {论文标题}.html | 使用脚本计算 diff |

**文件说明**:
- `paper_original.md`:**原始论文(流程开始时立即写入,贯穿所有步骤)**
- `step0_original.md`:原始论文副本(用于步骤6的diff计算)
- `step1_understanding.md`:论文理解报告
- `step2_feedback.md`:修改意见
- `step3_revision.md`:修改后论文
- `step4_verification.md`:验证报告
- `step5_proofread.md`:校对后论文

---

## 检查点文件读取机制

**重要约束**:每一步开始时,必须先读取上一步生成的检查点文件。

```
┌─────────────────────────────────────────────────────────────────┐
│                    步骤间数据流向                                │
├─────────────────────────────────────────────────────────────────┤
│                                                                 │
│   用户输入的原始论文                                             │
│      │                                                         │
│      ▼                                                         │
│   步骤0 ──→ paper_original.md (原文持久化,贯穿全程)           │
│      │         step0_original.md (原文副本,供步骤6使用)       │
│      │                                                         │
│      ├─────────────────────────────────────────────┐           │
│      ▼                                             │           │
│   步骤1 ──→ step1_understanding.md                  │           │
│      │         (被步骤2、3读取)                     │           │
│      ▼                                             │           │
│   步骤2 ──→ step2_feedback.md                       │           │
│      │         (被步骤3、4读取)                     │           │
│      ▼                                             │           │
│   步骤3 ──→ step3_revision.md                       │           │
│      │         (被步骤4、5读取)                     │           │
│      ▼                                             │           │
│   步骤4 ──→ step4_verification.md                   │           │
│      │         (被步骤5读取)                        │           │
│      ▼                                             │           │
│   步骤5 ──→ step5_proofread.md                     │           │
│      │         (被步骤6读取)                        │           │
│      ▼                                             │           │
│   步骤6 ──→ 最终 HTML ─────────────────────────────┘           │
│            (读取 paper_original.md + step5_proofread.md)        │
│                                                                 │
└─────────────────────────────────────────────────────────────────┘
```

---

### 步骤 0:初始化论文文件(**第一步必须执行**)

**目标**:将用户输入的原始论文立即持久化为文件,确保后续所有步骤都能读取。

**进度提示**(在执行步骤0之前输出):

```
📁 正在初始化论文文件...
```

**操作**:

1. **获取原文**:从用户输入中获取原始论文内容
2. **写入原文文件**:使用 `Write` 工具将原文写入 `paper_original.md`
3. **写入副本**:使用 `Write` 工具将原文写入 `step0_original.md`(供步骤6使用)

**重要约束**:
- **这是流程的第一步,必须最先执行**
- 两个文件内容完全相同,都是原始论文
- 完成后直接进入步骤1,无需等待用户确认
- 后续所有步骤需要原文时,都读取 `paper_original.md` 文件

**检查点文件格式**(`paper_original.md` 和 `step0_original.md`):

直接写入用户输入的原始论文内容,不做任何修改。

---

### 步骤 1:论文理解与分类

**目标**:全面理解论文主题、结构和内容,确定论文类别。

**输入**:
- `paper_original.md`(使用 `Read` 工具读取原始论文)

**操作**:

1. **论文分类**:判断论文属于哪个学术领域(计算机科学、生物学、经济学等)
2. **深度阅读**:逐段通读论文,理解研究问题、方法、结果和结论
3. **网络搜索**(必要时):针对论文主题搜索,获取前沿知识、相关论文、术语解释
4. **输出理解报告**:

```
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
论文理解报告
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

【论文分类】
领域:[如:计算机科学/人工智能/深度学习]
子领域:[如:自然语言处理/图像识别]

【核心信息】
研究问题/假设:[一句话概括]
研究方法:[简要说明]
主要发现:[列出2-3个关键发现]

【结构评估】
完整度:[摘要/引言/方法/结果/讨论/结论]
逻辑连贯性:[评估并说明]

【关键词】
[列出3-5个核心关键词]

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
```

**进度提示**(在执行步骤1之前输出):

```
📖 正在分析论文内容...
```

**重要约束**:
- 完成本步骤后直接进入步骤2,无需等待用户确认
- 不得在步骤1中完成步骤2的任何工作
- **必须生成 `step1_understanding.md` 检查点文件**

**检查点文件格式**(`step1_understanding.md`):

```markdown
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
论文理解报告
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

【论文分类】
领域:[如:计算机科学/人工智能/深度学习]
子领域:[如:自然语言处理/图像识别]

【核心信息】
研究问题/假设:[一句话概括]
研究方法:[简要说明]
主要发现:[列出2-3个关键发现]

【结构评估】
完整度:[摘要/引言/方法/结果/讨论/结论]
逻辑连贯性:[评估并说明]

【关键词】
[列出3-5个核心关键词]

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
```

---

### 步骤 2:提出修改意见

**目标**:基于学术写作标准和领域专业知识,提出**宏观层面**的系统性修改建议。

**输入**:
- `paper_original.md`(使用 `Read` 工具读取原始论文)

**前置操作**:
1. 使用 `Read` 工具读取 `step1_understanding.md` 文件,获取论文理解报告
2. 使用 `Read` 工具读取 `paper_original.md` 文件,获取原始论文内容

**核心原则**:聚焦宏观问题,不触及英文专业名词。

**🚫 不应修改的内容**:
- 文件名、函数名、变量名、类名等代码标识符
- 专有名词、缩写(如 API、CNN、Transformer)
- 数据库名称、框架名称、工具名称
- 引用中的原始内容
- 数学公式中的符号

**✅ 应重点检查的宏观问题**:

| 检查项 | 内容 |
|--------|------|
| **理论框架** | 理论基础是否扎实,框架选择是否恰当,是否存在概念错位 |
| **逻辑连贯** | 段与段之间、节与节之间的逻辑衔接是否自然,论证链条是否完整 |
| **问题陈述** | 研究问题是否清晰、有价值,研究缺口是否准确定位 |
| **方法匹配** | 研究方法是否适合研究问题,是否有理论支撑 |
| **结果解释** | 结果是否被充分解读,是否与假设/理论框架呼应 |
| **讨论深度** | 是否深入探讨结果的意义、局限性和影响 |
| **结论力度** | 结论是否由证据充分支撑,是否避免了过度推论 |
| **学术规范** | 引用是否规范、是否有缺失的关键文献 |
| **结构完整性** | 摘要、引言、方法、结果、讨论、结论是否齐全且比例合理 |

**输出格式**:

```
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
论文修改意见
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

【优先级:高】
1. [具体问题] → [修改建议]
   位置:第X段/第Y节

【优先级:中】
2. ...

【优先级:低】
3. ...

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
统计:高优先级 X 条,中优先级 Y 条,低优先级 Z 条
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
```

**进度提示**(在执行步骤2之前输出):

```
🔍 正在分析论文并制定修改方案...
```

**重要约束**:
- 完成本步骤后直接进入步骤3,无需等待用户确认
- 不得在步骤2中开始修改论文内容
- **不应对英文专业名词(文件名、函数名、变量名、专有缩写等)提出任何修改意见**
- **必须生成 `step2_feedback.md` 检查点文件**

**检查点文件格式**(`step2_feedback.md`):

```markdown
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
论文修改意见
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

【优先级:高】
1. [具体问题] → [修改建议]
   位置:第X段/第Y节

【优先级:中】
2. ...

【优先级:低】
3. ...

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
统计:高优先级 X 条,中优先级 Y 条,低优先级 Z 条
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
```

---

### 步骤 3:论文修改

**目标**:根据步骤2提出的修改意见重写论文,输出修改后的**纯文本/Markdown**。

**输入**:
- `paper_original.md`(使用 `Read` 工具读取原始论文)

**前置操作**(重要:按顺序执行):
1. **检查是否存在上一次的验证报告**:使用 `Read` 工具尝试读取 `step4_verification.md`
   - 如果文件存在:检查报告中【迭代结论】部分的"未完成修改意见清单"
   - 如果存在未完成的修改意见,本次修改**优先处理这些未完成的意见**
2. 使用 `Read` 工具读取 `step1_understanding.md`(论文理解)
3. 使用 `Read` 工具读取 `step2_feedback.md`(修改意见)
4. 使用 `Read` 工具读取 `paper_original.md`(原始论文,这是修改的基础)

**操作**:

1. **逐项修改**:按优先级处理每条修改意见
2. **遇到不确定的问题时,主动使用 mcp__laborany_web__search 工具**:
   - 理论概念模糊 → 搜索学术定义和解释
   - 研究方法选择存疑 → 搜索该方法的适用场景和最佳实践
   - 术语使用不当 → 搜索领域内标准用法
   - 引用缺失 → 搜索相关经典文献
3. **风格保持**:
   - 保持原文的语气和表达习惯(正式、客观、精确)
   - 使用领域内标准的学术用语
   - 避免改变作者的核心观点和创新点
4. **连贯性检查**:修改后确保段落之间、章节之间的过渡自然
5. **术语一致性**:全文术语使用保持统一
6. **保护专业名词**:绝不修改英文专业名词、代码标识符、专有缩写

**修改原则**:

```
┌─────────────────────────────────────────────────────┐
│  只改需要改的,不改不需要改的                        │
│  改进表述,不改观点                                   │
│  增强逻辑,不改变意图                                │
│  输出纯文本,不添加 diff 标记                        │
└─────────────────────────────────────────────────────┘
```

**输出**:完成修改后的论文内容(纯 Markdown 格式),**不包含任何 diff 标记**。

**进度提示**(在执行步骤3之前输出):

```
✏️ 正在修改论文内容...
```

**重要约束**:
- 输出必须是纯 Markdown 文本
- **不添加**任何 `<span class="del-text">` 或 `<span class="add-text">` 标记
- diff 标记将在步骤6由脚本自动计算生成
- 完成本步骤后直接进入步骤4,无需等待用户确认
- **必须生成 `step3_revision.md` 检查点文件**(纯 Markdown 格式的修改后论文)

---

### 步骤 4:自主验证与迭代

**目标**:验证修改是否完成,论文是否达到合格标准。**由模型自主判断是否需要继续迭代修改。**

**输入**:
- `paper_original.md`(使用 `Read` 工具读取原始论文)

**前置操作**:
1. 使用 `Read` 工具读取 `step2_feedback.md`(修改意见)
2. 使用 `Read` 工具读取 `step3_revision.md`(修改后论文)
3. 使用 `Read` 工具读取 `paper_original.md`(原始论文,用于对比验证修改效果)

**操作**:

1. **修改完成度检查**(生成结构化清单):
   - 逐条对照步骤2的修改意见,确认每条都已处理
   - 为每条意见标记状态:✅已完成 / ⚠️部分完成 / ❌未完成
   - **对比原文和修改文**:确认修改确实解决了提出的问题
   - **生成【修改意见完成情况清单】**:在验证报告中逐条列出每条意见的完成状态
   - **生成【未完成修改意见清单】**:汇总所有未完成或部分完成的意见,供步骤3下次调用时直接读取

2. **论文质量判定**(基于修改后的文章):
   - 论文结构是否完整
   - 逻辑是否清晰连贯(特别是段与段之间的过渡)
   - 学术语言是否规范
   - 表述是否准确无误

3. **新问题识别**:
   - 在验证过程中,若发现新的宏观问题(之前未识别的)
   - 将新问题加入修改意见列表
   - 在下一轮修改中一并处理

4. **自主决策与执行**:

```
┌─────────────────────────────────────────────────────────────┐
│                  自主验证与迭代逻辑                            │
├─────────────────────────────────────────────────────────────┤
│                                                             │
│   第一步:对照检查                                           │
│   - 读取步骤2的修改意见                                      │
│   - 读取修改后的论文                                        │
│   - 逐条验证修改是否落实                                     │
│                                                             │
│   第二步:质量评估                                           │
│   - 若完成度100% 且质量全项通过 → 进入步骤5                  │
│   - 若存在未完成项或质量问题 → 返回步骤3                     │
│                                                             │
│   第三步:迭代执行                                           │
│   → 根据未通过项/新问题重新执行步骤3                         │
│   → 修改完成后再次执行步骤4验证                              │
│   → 循环直至全部通过,最多迭代3次                            │
│                                                             │
└─────────────────────────────────────────────────────────────┘
```

**达标标准**(全部满足):
- 修改完成度:步骤2的所有意见均已处理(或已说明原因)
- 结构完整性:通过
- 逻辑连贯性:通过(特别关注段落间逻辑)
- 学术规范性:通过

**迭代策略**:
- 第1次未达标:针对未通过项进行针对性修改
- 第2次未达标:全面检查并修正所有残留问题
- 第3次仍未达标:接纳当前版本,进入最终输出

**进度提示**:
- 首次进入步骤4时输出:`🔬 正在验证修改质量...`
- 每次迭代时输出:`🔄 正在进行第 N 轮优化修改...`(N 为迭代次数)

**重要约束**:
- 模型自主决定是否继续迭代,无需用户确认
- 达标后直接进入步骤5
- 迭代时只输出上述进度提示,不输出中间验证详情
- **必须生成 `step4_verification.md` 检查点文件**
- **【关键】每次生成验证报告时,必须完整列出【修改意见完成情况清单】和【未完成修改意见清单】,供步骤3下一次调用时读取**

**检查点文件格式**(`step4_verification.md`):

```markdown
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
验证报告
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

【迭代信息】
- 当前迭代次数:[N/最大3次]
- 上次迭代遗留问题:[如果有上次的验证报告,列出未完成的问题]

【修改意见完成情况清单】
```

然后逐条对照步骤2的修改意见,列出完成状态:

```markdown
意见1:[步骤2中第1条意见的简述]
- 状态:✅已完成 / ⚠️部分完成 / ❌未完成
- 说明:[具体情况描述]

意见2:[步骤2中第2条意见的简述]
- 状态:✅已完成 / ⚠️部分完成 / ❌未完成
- 说明:[具体情况描述]

...
```

继续报告其他内容:

```markdown
【完成度统计】
- 已完成:X 条
- 部分完成:Y 条
- 未完成:Z 条
- 完成率:X/Y%

【论文质量判定】
- 结构完整性:[通过/不通过]
- 逻辑连贯性:[通过/不通过]
- 学术规范性:[通过/不通过]

【迭代结论】
- 是否达标:[是/否]
- 判定依据:[简要说明]

【未完成修改意见清单】(如果存在未完成的意见)
```

然后列出所有状态为"⚠️部分完成"或"❌未完成"的意见编号和内容,**供步骤3下一次调用时直接读取并优先处理**:

```markdown
意见[N]:[原意见内容]
- 当前状态:[⚠️部分完成/❌未完成]
- 需要进一步处理:[具体说明]

...

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
```

**迭代时的特殊处理**:
- 当需要返回步骤3进行修改时,完成修改后**更新 `step3_revision.md`** 文件
- 然后重新执行步骤4,**更新 `step4_verification.md`** 文件

---

### 步骤 5:细节校对

**目标**:对修改后的论文进行细致的语法、标点和格式校对,确保没有细节错误。

**输入**:
- `paper_original.md`(使用 `Read` 工具读取原始论文,用于参考保护专业名词)

**前置操作**:
1. 使用 `Read` 工具读取 `step3_revision.md`(当前修改后论文)
2. 使用 `Read` 工具读取 `step4_verification.md`(验证报告,了解整体情况)
3. 使用 `Read` 工具读取 `paper_original.md`(原始论文,用于核对专业名词是否被错误修改)

**检查重点**:

| 检查类别 | 具体内容 |
|---------|---------|
| **语法** | 主谓一致、时态正确、语态恰当、冠词使用、介词搭配 |
| **标点** | 句号位置、逗号使用、分号正确性、引号配对 |
| **格式** | 数字格式(阿拉伯数字 vs 中文数字)、单位表示、空格规范 |
| **拼写** | 错别字检查、英文单词拼写 |
| **专有名词** | 确保未错误修改专有名词、缩写、函数名等 |
| **标点符号** | 中文标点与英文标点的正确使用(中文环境中使用中文标点) |

**操作**:

1. **逐句校对**:通读全文,逐句检查语法和标点
2. **标记修正**:发现问题时直接修正
3. **一致性检查**:确保同类表达、术语使用全文一致
4. **保护专有名词**:再次确认未错误修改专业术语

**输出**:完成校对后的论文内容(纯 Markdown 格式)

**重要约束**:
- 输出必须是纯 Markdown 文本
- **不添加**任何 diff 标记
- 只修正语法、标点、格式问题,不改变文章结构和观点
- **必须生成 `step5_proofread.md` 检查点文件**(校对后的最终论文版本)

---

### 步骤 6:代码计算 Diff 与输出

**目标**:使用脚本自动计算精确的 diff,生成最终的 HTML 文件并展示给用户。

**进度提示**(在执行步骤6之前输出):

```
📄 正在生成最终 HTML 文件...
```

**输入**:
- `paper_original.md`(原始论文,由步骤0写入)
- `step0_original.md`(原文副本,用于diff计算)
- `step5_proofread.md`(校对后的最终论文)

**操作流程**(必须严格按顺序执行):

**第一步:读取所需文件**

1. 使用 `Read` 工具读取 `paper_original.md`(或 `step0_original.md`),获取原始论文内容
2. 使用 `Read` 工具读取 `step5_proofread.md`,获取校对后的论文内容

**第二步:保存临时文件用于 diff 计算**

1. 使用 `Write` 工具将原文内容写入 `diff_original.md`
2. 使用 `Write` 工具将校对后论文内容写入 `diff_proofread.md`

**第三步:运行 diff 计算脚本**

使用 `Bash` 工具执行以下命令(**使用绝对路径确保可靠性**):

```bash
python3 "/Users/lizhe/Library/Application Support/LaborAny/skills/paper-editor/scripts/calculate_diff.py" \
    "$(pwd)/diff_original.md" \
    "$(pwd)/diff_proofread.md" \
    --output "$(pwd)/paper_revision.html"
```

**第四步:验证并输出结果**

脚本执行成功后,输出最终结果:

```
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
论文修改完成
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

✅ 已生成 HTML 文件:paper_revision.html

文件包含:
  - 论文完整内容(支持纯净版/修改痕迹/完整 Diff 三种模式)

📊 修改统计:
  - 删除:X 处
  - 新增:Y 处

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
```

**脚本说明**:

`scripts/calculate_diff.py` 脚本功能:
- 使用 `difflib.SequenceMatcher` 进行精确 diff 计算
- 自动为删除内容添加 `<span class="del-text">` 标记
- 自动为新增内容添加 `<span class="add-text">` 标记
- 支持按行和按字符粒度的 diff 算法
- 将 Markdown 转换为 HTML 格式
- 生成完整的 HTML 文件

**重要约束**:
- **必须按上述四个步骤顺序执行**
- 第一步必须先读取文件,确保数据可用
- 第二步必须保存临时文件,脚本才能读取
- 第三步运行脚本,等待执行完成
- 第四步验证成功后输出结果
- HTML 文件名固定为 `paper_revision.html`
- 确保脚本执行成功后才输出最终结果

---

## 学术写作原则

在进行修改时,遵守以下学术写作原则:

| 原则 | 说明 |
|------|------|
| **客观性** | 避免主观判断,用数据和事实说话 |
| **精确性** | 术语使用准确,避免模糊表述 |
| **简洁性** | 用最少的话表达完整意思,避免冗余 |
| **逻辑性** | 论证清晰,因果关系明确 |
| **完整性** | 不遗漏必要的信息和论证步骤 |

---

## Markdown 转 HTML 映射

脚本会自动将以下 Markdown 元素转换为对应的 HTML 结构:

| 论文元素 | HTML 结构/CSS 类 |
|----------|-------------------|
| 论文标题 | `<h1 class="paper-title">` |
| 作者/日期 | `<div class="paper-meta">` |
| 摘要 | `<div class="abstract-text">` |
| 一级标题 | `<h2 class="section-title">` |
| 二级标题 | `<h3 class="subsection-title">` |
| 段落 | `<p class="paragraph">` |
| 无缩进段落 | `<p class="paragraph no-indent">` |
| 列表 | `<ol class="list list-ordered">` / `<ul class="list list-unordered">` |
| 表格 | `<table>`(带 `.table-wrapper` 包裹) |
| 引用标记 | `<sup class="citation">` |
| 参考文献 | `<div class="reference-section">` + `<div class="reference-item">` |

详细的转换规则请参见:[html-conversion.md](references/html-conversion.md)

---

## Diff 标记说明(脚本自动生成)

| 修改类型 | HTML 标签 | 显示效果 |
|----------|-----------|----------|
| 删除的原文 | `<span class="del-text">原文内容</span>` | 红色删除线(仅在修改痕迹/Diff 模式显示) |
| 新增内容 | `<span class="add-text">新内容</span>` | 绿色高亮(仅在修改痕迹/Diff 模式显示) |
| 未修改内容 | 无标签 | 正常显示(所有模式都显示) |

**三种查看模式**(用户可通过页面顶部按钮切换):

| 模式 | body class | `.del-text` 显示 | `.add-text` 显示 | 效果 |
|------|-----------|-----------------|-----------------|------|
| 纯净版 | 无 | ❌ 隐藏 | ❌ 隐藏 | 只显示最终修改后的内容 |
| 修改痕迹 | `show-changes` | ✅ 显示(删除线) | ✅ 显示(高亮) | 显示原内容+新内容对照 |
| 完整 Diff | `show-diff` | ✅ 显示(删除线) | ✅ 显示(高亮) | 同修改痕迹模式 |

---

## 脚本使用参考

### calculate_diff.py

**功能**:计算原文与修改后论文之间的精确差异,生成带 diff 标记的 HTML。

**用法**(使用绝对路径):

```bash
python3 "/Users/lizhe/Library/Application Support/LaborAny/skills/paper-editor/scripts/calculate_diff.py" "$(pwd)/<原文文件>" "$(pwd)/<修改后文件>" --output "$(pwd)/<输出文件>"
```

**选项**:

| 选项 | 说明 |
|------|------|
| `--notes <文件>` | 修改意见 JSON 文件(可选) |
| `--output <文件>` | 输出 HTML 文件路径(**必需**) |

**示例**:

```bash
# 基本用法(使用绝对路径确保可靠性)
python3 "/Users/lizhe/Library/Application Support/LaborAny/skills/paper-editor/scripts/calculate_diff.py" \
    "$(pwd)/original.md" "$(pwd)/modified.md" --output "$(pwd)/result.html"
```

---

## 执行流程总结

```
用户输入论文 + 修改需求
           │
           ▼
    ┌─────────────┐  📁 正在初始化论文文件...
    │ 步骤0:初始化│ 输入:用户原始论文
    │ (第一步)    │ → paper_original.md + step0_original.md
    └──────┬──────┘
           │
           ▼
    ┌─────────────┐  📖 正在分析论文内容...
    │ 步骤1:理解  │ 输入:paper_original.md
    │              │ → step1_understanding.md
    └──────┬──────┘
           │
           ▼
    ┌─────────────┐  🔍 正在分析论文并制定修改方案...
    │ 步骤2:提意见│ 输入:paper_original.md + step1_understanding.md
    │              │ → step2_feedback.md
    └──────┬──────┘
           │
           ▼
    ┌─────────────┐  ✏️ 正在修改论文内容...
    │ 步骤3:修改  │ 输入:paper_original.md + step1 + step2
    │              │ → step3_revision.md
    └──────┬──────┘
           │
           ▼
    ┌─────────────┐  🔬 正在验证修改质量...
    │ 步骤4:验证  │ 输入:paper_original.md + step2 + step3
    │              │ → step4_verification.md
    └──────┬──────┘
           │
   ┌───────┴───────┐
   │ 未达标?达     │ 标?
   │ 否          是│
   │ │            │
   │ ▼            ▼
   │ 🔄 正在   ┌─────────────┐  📝 正在进行细节校对...
   │ 第N轮...  │ 步骤5:校对  │ 输入:paper_original.md + step3 + step4
   │ 返回步骤3 │              │ → step5_proofread.md
   │ (最多3次) └──────┬──────┘
   │ │            │
   │ ▼            ▼
   │ ┌─────────────┐ ┌─────────────┐
   │ │步骤3:修改  │ │ 步骤6:输出  │  📄 正在生成最终 HTML 文件...
   │ │ (迭代修改)  │ │              │  输入:paper_original.md + step5
   │ │ → 覆盖step3 │ │              │  → 读取 → 保存临时文件 → 运行脚本
   │ └──────┬──────┘ │              │  → paper_revision.html
   └────────┼────────┴──────────────┘
           │
           ▼
    ✅ 用户查看结果
```

**关键原则**:
- **步骤0必须最先执行**——将原始论文立即持久化为文件
- **原始论文贯穿始终**——每一步都从 `paper_original.md` 读取原文
- **检查点文件只读不修改**——上一步的输出是下一步的只读输入
- **每步输出覆盖同名文件**——迭代时直接覆盖,不保留历史版本
- **步骤6分四步执行**——读取 → 保存临时文件 → 运行脚本 → 输出结果

Files in this skill

  • SKILL.md39.1 KB
  • assets/paper-template.html14.5 KB
  • references/html-conversion.md7.3 KB
  • scripts/calculate_diff.py35.4 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.