mcpField
P
paper-talk

paper-talk

github.com/wanshuiyin文档处理18.2k416 次安装4 天前更新
代码仓库

关于 paper-talk

paper-talk 是将已完成的研究论文转化为会议演讲材料的端到端工作流技能。它生成提纲、Beamer 源文件、可编辑 PPTX、讲稿备注和演讲稿,并按保障级别决定是否执行主张、引用和匿名性审计。

主要功能

  1. 01生成以论点为先的幻灯片提纲
  2. 02构建 Beamer 源文件和可编辑 PPTX
  3. 03制作演讲备注与完整讲稿
  4. 04润色幻灯片且保留原有内容
  5. 05按级别执行主张、引用和匿名性检查

适用场景

  1. 01根据已完成论文准备会议演讲
  2. 02制作实验室研讨会或工作坊演示文稿
  3. 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。

等级运行阶段适用场景
draft0 → 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 时启用。 较低等级会跳过论述/引用/匿名性审计;如果内容已在论文撰写阶段完成审计,这样做是合适的。

硬性约束

以下规则在所有阶段均不可协商:

  1. 原论文为只读。 此工作流会读取论文目录,但不会修改 paper/main.tex 或其他论文材料。
  2. 保留原始幻灯片。 /paper-slides 会生成基准幻灯片;/slides-polish 会写入带 _polished 标记的版本副本。原始 Beamer 和 PPTX 绝不会被覆盖。
  3. 演讲者备注的字节内容保持稳定。 精修不得更改 slide.notes_slide 内容。阶段 4 会进行验证。
  4. 整个流程中不得添加任何新内容。 所有幻灯片文字、演讲者备注、演讲稿、问答答案、论述、数字、引用、URL、作者姓名、所属机构、匿名占位符和实验结果,必须基于论文(从 PAPER_DIR/ 材料中提取)或由用户明确提供。流程不会在大纲、构建、精修、审计或导出期间编造内容。阶段 4 的匿名性扫描和论述审计会端到端验证这一点。
  5. 不得重新排列幻灯片。 添加/删除/重新排序均需用户显式指定标志。
  6. 跨模型独立性。 /slides-polish 中按页进行的 Codex 调用使用全新线程(不使用 codex-reply)。参见 ../shared-references/reviewer-independence.md。
  7. 匿名性检查失败时默认拒绝。 如果任何审计(或任何 Codex 修复提案)会将占位符替换为真实标题/数量/URL,工作流就会停止,并将提案交由人工审查。参见 ../shared-references/experiment-integrity.md。
  8. 风格参考仅供指导,不是文本来源。 — reference: PDF 或 — style: 预设可用于指导视觉权重和结构节奏;绝不可从参考资料中复制正文、示例、幻灯片标题或演讲者备注文字。
  9. 所需审计未通过时,最终报告不得标记为 conference-ready。 阶段 6 会进行验证;若审计未通过,则下调结论等级。
  10. 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 和项目目录中发现:

  1. PAPER_DIR/ — 已编译的论文(main.tex + main.pdf)。论文必须已达到良好状态;此工作流不会编写论文。
  2. PAPER_DIR/sections/*.tex — 用于提取内容的章节源文件。
  3. PAPER_DIR/figures/ — 可在幻灯片中重复使用的图表。
  4. (可选)slides/SLIDE_OUTLINE.md — 已有大纲(恢复模式);跳过阶段 1 的生成。
  5. (可选)— reference: <pdf> — /slides-polish 的视觉参照。若未提供且保障级别要求润色,工作流将使用 Beamer 自编译版本作为参照。
  6. (可选)— 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:设置
  1. 验证论文目录:ls $PAPER_DIR/main.tex $PAPER_DIR/main.pdf。若文件不存在 → 暂停并请用户指定已编译的论文。
  2. 检查前置条件:
    • 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')。
  3. 解析覆盖项:从 $ARGUMENTS 中读取 talk_type、minutes、assurance、reference、style、effort。
  4. 初始化状态:写入 .aris/paper-talk/PIPELINE_STATE.json,包含 phase: 0、时间戳以及所有已解析的覆盖项。
  5. 恢复模式:如果 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.md
  • slides/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)

然后:

  1. 干净地重新编译 Beamer:cd slides && latexmk -pdf -xelatex main.tex(非 CJK 文档可使用 pdflatex)。确认 main.pdf 的页数与大纲中的幻灯片数一致。
  2. 通过 soffice --headless --convert-to pdf <FINAL_PPTX> -outdir slides/ 将 FINAL_PPTX 导出为 PDF。如果不可用,请提示用户。
  3. 导出完整性检查 → .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 选项之后,用户无需特别操作即可使用。

评论

支持 Markdown