关于 paper-talk
paper-talk 是将已完成的研究论文转化为会议演讲材料的端到端工作流技能。它生成提纲、Beamer 源文件、可编辑 PPTX、讲稿备注和演讲稿,并按保障级别决定是否执行主张、引用和匿名性审计。
主要功能
- 01生成以论点为先的幻灯片提纲
- 02构建 Beamer 源文件和可编辑 PPTX
- 03制作演讲备注与完整讲稿
- 04润色幻灯片且保留原有内容
- 05按级别执行主张、引用和匿名性检查
适用场景
- 01根据已完成论文准备会议演讲
- 02制作实验室研讨会或工作坊演示文稿
- 03检查演讲材料中的主张与引用
MCP 相关
工作流会检查 Codex MCP 是否可用,并调用使用 Codex 审阅的子技能,包括逐页润色时使用独立的新线程。
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ wanshuiyin/ auto-claude-code-research-in-sleep --skill paper-talk安装后在 Claude Code 中输入/paper-talk确认已加载。
详细介绍
Paper Talk:端到端会议演讲流程
每次审稿人调用前,请遵循 可选审稿人: 通过规范的辅助解析器解析调用 →
.aris/reviewer.json→ Claude Code 默认设置(Codex MCP) 与reviewer_route.py,同时保留本次调用的层级、新鲜上下文、源文件/图像输入和确定性关卡。 下方的 Codex 示例/固定设置仅适用于backend=codex;其他路由使用各自的首次调用/回复约定。保存路由和实际返回的身份; 无法使用的选择标记为REVIEW_UNAVAILABLE。根据实际模型系列/完成情况/范围进行验收分类。 将调用方提供的审稿人/模型/effort 覆盖设置传递给包含审稿人的子流程。生成工作进程保持不变。
工作流:从已完成的论文到可用于会议的演讲材料—— 幻灯片大纲、Beamer 源文件、可编辑的 PPTX、演讲者备注、完整演讲稿、 精修视觉效果和保障检查。
流程目标:$ARGUMENTS
保障等级
此技能接受显式的 — assurance: 参数;默认值为 polished。
| 等级 | 运行阶段 | 适用场景 |
|---|---|---|
draft | 0 → 1 → 2 → 5 → 6 | 内部练习演讲;快速制作首版幻灯片 |
polished(默认) | 0 → 1 → 2 → 3 → 5 → 6 | 实验室研讨会、工作坊、默认会议演讲 |
conference-ready(或 submission) | 0 → 1 → 2 → 3 → 4 → 5 → 6 | 顶级会议的口头报告/重点报告,幻灯片中的论述会受到严格审查;或匿名投稿 |
阶段 4(保障检查)仅在 — assurance: conference-ready 时启用。
较低等级会跳过论述/引用/匿名性审计;如果内容已在论文撰写阶段完成审计,这样做是合适的。
硬性约束
以下规则在所有阶段均不可协商:
- 原论文为只读。 此工作流会读取论文目录,但不会修改
paper/main.tex或其他论文材料。 - 保留原始幻灯片。
/paper-slides会生成基准幻灯片;/slides-polish会写入带_polished标记的版本副本。原始 Beamer 和 PPTX 绝不会被覆盖。 - 演讲者备注的字节内容保持稳定。 精修不得更改
slide.notes_slide内容。阶段 4 会进行验证。 - 整个流程中不得添加任何新内容。 所有幻灯片文字、演讲者备注、演讲稿、问答答案、论述、数字、引用、URL、作者姓名、所属机构、匿名占位符和实验结果,必须基于论文(从
PAPER_DIR/材料中提取)或由用户明确提供。流程不会在大纲、构建、精修、审计或导出期间编造内容。阶段 4 的匿名性扫描和论述审计会端到端验证这一点。 - 不得重新排列幻灯片。 添加/删除/重新排序均需用户显式指定标志。
- 跨模型独立性。
/slides-polish中按页进行的 Codex 调用使用全新线程(不使用codex-reply)。参见../shared-references/reviewer-independence.md。 - 匿名性检查失败时默认拒绝。 如果任何审计(或任何 Codex 修复提案)会将占位符替换为真实标题/数量/URL,工作流就会停止,并将提案交由人工审查。参见
../shared-references/experiment-integrity.md。 - 风格参考仅供指导,不是文本来源。
— reference:PDF 或— style:预设可用于指导视觉权重和结构节奏;绝不可从参考资料中复制正文、示例、幻灯片标题或演讲者备注文字。 - 所需审计未通过时,最终报告不得标记为
conference-ready。 阶段 6 会进行验证;若审计未通过,则下调结论等级。 reasoning_effort: xhigh是子技能发起的任何 Codex 调用在所有effort等级下都必须遵守的约束。
常量
- PAPER_DIR =
paper/— 源论文目录。可通过位置参数覆盖。 - OUTPUT_DIR =
slides/— 幻灯片文件所在位置。 - STATE_DIR =
.aris/paper-talk/— 工作流状态、审计日志和最终报告。 - TALK_TYPE =
spotlight— 默认演讲形式。由/paper-slides继承。 - TALK_MINUTES = 15 — 默认时长。由
/paper-slides继承。 - VENUE =
NeurIPS— 默认会议(当未传入— style时,由/paper-slides用于配色方案)。 - ASPECT_RATIO =
16:9— 由/paper-slides继承。 - STYLE_PRESET — 未传入时为
generic;/slides-polish支持why-rf和会议预设。 - REFERENCE_VISUAL — 当
assurance ≥ polished时必需。此演讲的 Beamer 编译版可作为自我参照;如果用户希望视觉风格超出默认设置、与其他材料对齐,则优先使用外部学术演讲 PDF。 - AUTO_PROCEED = false — 每个主要阶段都会暂停以征求用户批准。仅在用户明确要求时设为
true。
输入
从 $ARGUMENTS 和项目目录中发现:
PAPER_DIR/— 已编译的论文(main.tex+main.pdf)。论文必须已达到良好状态;此工作流不会编写论文。PAPER_DIR/sections/*.tex— 用于提取内容的章节源文件。PAPER_DIR/figures/— 可在幻灯片中重复使用的图表。- (可选)
slides/SLIDE_OUTLINE.md— 已有大纲(恢复模式);跳过阶段 1 的生成。 - (可选)
— reference: <pdf>—/slides-polish的视觉参照。若未提供且保障级别要求润色,工作流将使用 Beamer 自编译版本作为参照。 - (可选)
— talk_type、— minutes、— style、— effort— 参见常量。
输出布局
文件名遵循 /paper-slides 的输出约定——此工作流不会
重命名文件。
slides/
├── SLIDE_OUTLINE.md # Phase-1 outline (claim-first per slide)
├── main.tex # Beamer source (from /paper-slides)
├── main.pdf # compiled Beamer
├── presentation.pptx # editable PPTX (from /paper-slides; emit name fixed by /paper-slides)
├── presentation_pre_polish.pptx # snapshot before /slides-polish
├── presentation_polished.pptx # /slides-polish output (when assurance ≥ polished)
├── presentation_polished.pdf # rendered (LibreOffice or user-export)
├── speaker_notes.md # per-slide notes (from /paper-slides)
├── TALK_SCRIPT.md # full word-for-word talk script + Q&A (from /paper-slides)
└── assets/ # per-slide PNG previews
.aris/paper-talk/
├── PIPELINE_STATE.json # phase pointer, status, timestamps
├── FINAL_REPORT.md # human-readable summary at end
├── audit-input/ # Phase-4 staging copies of slide text + notes + script (so /paper-claim-audit and /citation-audit can run on slide content as a synthetic "paper")
│ ├── main.tex # \input{sections/slide_text.tex} \input{sections/notes.tex} \input{sections/script.tex}
│ ├── sections/
│ │ ├── slide_text.tex # all visible slide bullets/titles/callouts as \section{Slide K}
│ │ ├── notes.tex # speaker_notes.md → LaTeX, one \section per slide
│ │ └── script.tex # TALK_SCRIPT.md → LaTeX, one \section per slide
│ ├── references.bib → ../../../paper/references.bib # symlink to source paper bib for /citation-audit
│ ├── results/ → ../../../paper/results/ # symlink — claim audit needs real evidence
│ └── figures/ → ../../../paper/figures/ # symlink — citation audit may reference figure captions
└── audits/
├── slide_claim_audit.json # 6-state verdict per claim (PASS/WARN/FAIL/NOT_APPLICABLE/BLOCKED/ERROR)
├── citation_audit.json # citation existence / metadata
├── anonymity_scan.json # placeholder discipline check
└── export_integrity.json # page-count / aspect / blank-slide / notes-preserved
审计 JSON 文件遵循共享的 6 状态架构;参见
../shared-references/assurance-contract.md。
工作流
阶段 0:设置
- 验证论文目录:
ls $PAPER_DIR/main.tex $PAPER_DIR/main.pdf。若文件不存在 → 暂停并请用户指定已编译的论文。 - 检查前置条件:
- LaTeX:
which xelatex pdflatex latexmk - PPTX 渲染:
which soffice(LibreOffice 无头模式)——阶段 4 的导出完整性检查需要此工具;否则提示用户手动导出 PDF。 - PDF 工具:
which pdfinfo pdftoppm(poppler)——/slides-polish渲染 PNG 时需要此工具。 - Codex MCP 是否可用。
- python-pptx(
python3 -c 'import pptx')。
- LaTeX:
- 解析覆盖项:从
$ARGUMENTS中读取talk_type、minutes、assurance、reference、style、effort。 - 初始化状态:写入
.aris/paper-talk/PIPELINE_STATE.json,包含phase: 0、时间戳以及所有已解析的覆盖项。 - 恢复模式:如果
slides/SLIDE_OUTLINE.md存在,且PIPELINE_STATE.json显示近期有进行中的工作,则询问用户——从上次阶段继续,还是重新开始。
阶段 1:幻灯片大纲(检查点)
目标:生成或接收 slides/SLIDE_OUTLINE.md,并在开始制作幻灯片前让用户确认。
如果 slides/SLIDE_OUTLINE.md 已存在,向用户展示其摘要(幻灯片数量、时间安排、逐页论点映射),并询问:
“使用现有大纲(Y/n)?修改?重新生成?”
否则,仅委派 /paper-slides 的阶段 1(提取内容 +
生成幻灯片大纲)。/paper-slides 会将大纲写入其自身的
状态目录;我们将其作为 slides/SLIDE_OUTLINE.md 使用。
每张幻灯片的大纲必须包含:
- 一个论点优先的标题(陈述该页的要点,而非主题)。
- 每页一个主要观点。
- 项目符号内容(短句,而非段落)。
- 图表/公式/重点说明。
- 时间安排(秒)。
- 过渡提示。
- 演讲者备注初稿(1-3 句;将在阶段 2 扩写)。
检查点:展示大纲。默认行为:暂停并等待用户批准。仅当用户明确要求无人值守运行时,才设为 AUTO_PROCEED = true。
阶段 2:构建基线幻灯片
调用 /paper-slides,根据已批准的大纲生成 Beamer 源文件和 PPTX。
/paper-slides "<paper-dir>" — talk_type: <T> — minutes: <N> — venue: <V> — aspect: 16:9 — notes: true
如果用户最初传入了 — style-ref:,则转发该参数(写作端;第 3 阶段的审核端润色绝不能看到它——参见不变量 8)。
/paper-slides 会生成以下文件(名称由 /paper-slides 固定):
slides/main.tex+slides/main.pdf(Beamer)slides/presentation.pptx(可编辑的 PPTX)slides/speaker_notes.mdslides/TALK_SCRIPT.md
返回后:确认这四个文件均存在。若有任何文件缺失,则停止并提供诊断信息。不要重命名输出文件——后续阶段会绑定到这些确切路径。
阶段 3:视觉润色(当 assurance ≥ polished 时)
当 assurance == draft 时跳过。
对刚生成的 PPTX 调用 /slides-polish,并提供参考文件。如果用户传入了 — reference:,则使用该文件。否则,使用 Beamer 编译文件(slides/main.pdf)作为视觉参考——Beamer 体现了同一演讲的设计意图,因此在没有外部参考时,它是正确的基准。
/slides-polish "slides/presentation.pptx" — reference: slides/main.pdf — style: <preset> — effort: <effort>
返回后:确认 slides/presentation_polished.pptx 存在;如果渲染工具可用,也要确认 slides/presentation_polished.pdf 存在。
润色阶段只读内容(参见硬性不变量)。如果 /slides-polish 因 Codex 的修复提议会更改内容而给出 BLOCKED 判定,应将此阻止情况告知用户并停止,不要擅自覆盖。
阶段 4:保证性检查(当 assurance == conference-ready 时)
当 assurance ∈ {draft, polished} 时跳过。
/paper-claim-audit 和 /citation-audit 需要论文结构的输入(paper/main.tex + paper/sections/*.tex + paper/results/),并在 paper/ 下生成 JSON。幻灯片的结构不同,因此本阶段会先将幻灯片文件暂存到一个合成论文目录中,然后针对该合成输入调用审计工具。判定结果使用共享的 6 状态架构(PASS、WARN、FAIL、NOT_APPLICABLE、BLOCKED、ERROR),写入 .aris/paper-talk/audits/ 下——参见 ../shared-references/assurance-contract.md。
4.0 暂存适配器
暂存的“论文”与 /paper-claim-audit 和 /citation-audit 预期的布局一致:根目录下的 main.tex 使用 \input{} 引入 sections/*.tex,并包含一个 .bib 文件,以及指向 results/ 和 figures/ 的符号链接。
.aris/paper-talk/audit-input/
├── main.tex
│ # contains: \input{sections/slide_text.tex}
│ # \input{sections/notes.tex}
│ # \input{sections/script.tex}
│ # \bibliography{references}
├── sections/
│ ├── slide_text.tex # one \section{Slide K — <title>} per slide; visible bullets, titles, callout text, in-slide \cite{...}
│ ├── notes.tex # speaker_notes.md converted to LaTeX, one \section per slide
│ └── script.tex # TALK_SCRIPT.md converted to LaTeX, one \section per slide
├── references.bib → ../../../paper/references.bib # symlink to source paper bib (or copy if symlink not allowed)
├── results/ → ../../../paper/results/ # symlink — claim audit needs real evidence
└── figures/ → ../../../paper/figures/ # symlink — citation audit may reference figure captions
如果源论文使用了不同的 bib 文件名(例如 paper.bib),则应链接实际使用的文件。如果使用了多个 bib 文件,则全部链接。
暂存的“论文”仅在第 4 阶段期间存在;除非用户传入 — keep-audit-input,否则会在第 6 阶段删除。
4.1 幻灯片主张审计
针对暂存输入调用 /paper-claim-audit。审计范围为幻灯片文本 + 演讲者备注 + 完整演讲稿——演讲者经常会在口头部分加入可见项目符号中没有体现的、缺乏依据的主张。
/paper-claim-audit ".aris/paper-talk/audit-input"
审计会生成包含共享 6 状态架构的 audit-input/PAPER_CLAIM_AUDIT.json。将其移至 .aris/paper-talk/audits/slide_claim_audit.json,并移除路径中的暂存前缀,使判定结果引用幻灯片 K,而不是合成论文中的章节。
任何主张的判定结果为 FAIL 或 BLOCKED,都会使第 6 阶段的最终判定从 conference-ready 降级为 polished。
4.2 引用审计
针对暂存输入调用 /citation-audit。通过 DBLP / CrossRef 验证幻灯片、备注和演讲稿中的所有 \cite{...};标记伪造的条目。
/citation-audit ".aris/paper-talk/audit-input"
输出 → .aris/paper-talk/audits/citation_audit.json(6 状态)。
4.3 匿名性扫描
如果演讲用于匿名投稿会议,或用户传入了 — anonymous,则扫描幻灯片 + 备注 + 演讲稿,检查是否包含:
- 本应使用占位内容(
[anonymized]、Withheld for anonymous review等)的真实论文标题。 - 除演讲自身作者栏之外的真实作者姓名。
- 真实投稿数量。
- 可能泄露作者身份的真实 URL。
输出 → .aris/paper-talk/audits/anonymity_scan.json(6 状态)。任何 FAIL(真实内容泄露)都会阻止 conference-ready 判定。
阶段 5:最终导出 + 完整性检查
确定最终 PPTX 路径:
FINAL_PPTX = slides/presentation_polished.pptx if Phase 3 ran
= slides/presentation.pptx if assurance == draft (Phase 3 skipped)
然后:
- 干净地重新编译 Beamer:
cd slides && latexmk -pdf -xelatex main.tex(非 CJK 文档可使用pdflatex)。确认main.pdf的页数与大纲中的幻灯片数一致。 - 通过
soffice --headless --convert-to pdf <FINAL_PPTX> -outdir slides/将FINAL_PPTX导出为 PDF。如果不可用,请提示用户。 - 导出完整性检查 →
.aris/paper-talk/audits/export_integrity.json(6 项状态):- PPTX-PDF 页数 == Beamer-PDF 页数。
- 宽高比 == 声明值(默认 16:9)。
- 没有完全空白的幻灯片。
- 基线版本中含有演讲者备注的每张幻灯片均保留备注。若运行了阶段 3,则与
presentation_pre_polish.pptx的备注进行 sha256 比对;若跳过阶段 3,则与presentation.pptx自身的备注比对(无操作)。 - 嵌入字体适合投影仪使用(例如 Calibri / Helvetica Neue / PingFang SC 用于中文)。
如果任一完整性检查未通过,请降低阶段 6 的评定,并向用户说明具体情况。
阶段 6:最终报告
写入 .aris/paper-talk/FINAL_REPORT.md,内容包括:
- 评定:
draft|polished|conference-ready(若审计未通过则降级)。 - 产物路径:Beamer 源文件 / PDF、基线 PPTX、润色后的 PPTX、润色后的 PDF、备注、脚本。
- 幻灯片数量、时间预算与目标的对比。
- 审计摘要(每次审计运行一行 + PASS / WARN / FAIL)。
- 未解决的警告:用户应手动检查的任何未解决 Codex 润色备注。
- 后续步骤:例如“在第 N 张幻灯片中插入真实的 QR 图片”“核验 HF Daily Papers 截图”“排练以确认能否控制在 25 分钟内”。
最终评定为 conference-ready 必须满足:
- 阶段 0-5 全部完成,且未中途停止。
- 所有阶段 4 的审计 JSON 均返回
PASS(若审计的内容检测器未匹配,则返回NOT_APPLICABLE,例如幻灯片上没有引用)。 任何WARN、FAIL、BLOCKED或ERROR都会导致评定降级。 - 阶段 5 的导出完整性检查返回
PASS。 - 声明为匿名投稿时,匿名性扫描不得返回
FAIL。
否则,报告给出最高通过等级(polished 或
draft),并逐项说明未获评 conference-ready 的原因,注明具体审计 JSON 和未通过的评定行。
工作量等级
参见 ../shared-references/effort-contract.md。
effort | 行为 |
|---|---|
lite | 转交给子技能。/slides-polish 以 lite 运行(仅处理阻断项)。阶段 4 仍按请求的保证级别运行——effort 控制检查深度,不控制审计门槛(参见 ../shared-references/assurance-contract.md)。 |
balanced(默认) | 标准流程。/slides-polish 以 balanced 运行。 |
max | /slides-polish 以 max 运行(逐页检查每张幻灯片)。阶段 4 的审计会完整读取所有产物。 |
beast | /slides-polish 以 beast 运行(进行第二轮润色)。阶段 4 的审计会包含扩展保证检查;最终报告会增加一份执行摘要。 |
reasoning_effort: xhigh 为固定值。
assurance 和 effort 是相互独立的维度。用户可以合法地组合使用 effort: lite, assurance: conference-ready,表示“快速执行流程,但必须在最终定稿前由每项审计给出评定”。
参数传递
/paper-talk "paper/" — talk_type: oral — minutes: 25 — assurance: conference-ready \
— reference: ./refs/why_rf_2025.pdf — style: why-rf — effort: max
转交给:
/paper-slides(阶段 2):paper-dir、talk_type、minutes、venue、aspect、notes;若由撰写方提供,则还包括style-ref。/slides-polish(阶段 3):润色后的 pptx 目标、reference、style、effort。/paper-claim-audit(阶段 4.1):仅针对幻灯片文件,不包括论文。/citation-audit(阶段 4.2):仅针对幻灯片中的引用。- 匿名性扫描(阶段 4.3):内联工具,无外部技能。
不适用场景
- 论文尚未编译完成,或论点尚未稳定。请先运行
/paper-writing。 - 用户需要的是海报,而不是演讲。请使用
/paper-poster-html。 - 用户已有完成的幻灯片,只需要润色视觉效果。请直接使用
/slides-polish——/paper-talk会不必要地重新制作幻灯片。 - 演讲内容与论文无关(如通识讲座、演示)。该编排流程假定演讲以论文为基础;对于临时制作的幻灯片,请直接使用
/paper-slides并手动拟定大纲。
与其他技能的关系
- 组合使用
/paper-slides、/slides-polish、/paper-claim-audit、/citation-audit。 - 默认不调用
/kill-argument——那是上游的学术论证压力测试,而不是幻灯片质量审核。希望在制作幻灯片前对演讲叙事进行压力测试的用户,可以先运行/kill-argument paper/。 - 与
/paper-writing(论文)和/paper-poster-html(海报)互为姊妹工作流。
经验来源
该工作流总结自一次针对中文学术会议演讲的润色过程,共迭代 30 多次(2026 年 5 月)。逐渐形成的经验是:演讲准备与论文准备的流程相同——规划、制作、润色、审核、导出、汇报——并且同样能从层层递进的质量保障流程中获益。逐页 Codex 润色环节(阶段 3)耗时最多,但价值最高;它隐藏在默认启用的 polished 选项之后,用户无需特别操作即可使用。