Skip to main content

paper-deck-reveal

把一篇学术论文(尤其实证心理学)做成可放映、投影就绪的 reveal.js HTML 汇报成片,含可内嵌幻灯片的「分步交互式实验演示」、去 AI 味演讲者备注、演讲者双屏,全程离线零 CDN。当用户要把论文/文献做成组会汇报、读书会、文献精读、journal club 的幻灯/deck/演示,说「把这篇论文做成 HTML 汇报」「做个能放映的 deck」「复刻实验流程给观众看」「写这篇汇报的演讲稿」,或英文说 "present this paper as a deck / slides for journal club / turn this paper into an interactive presentation" 时都触发,即便只说「帮我汇报这篇论文」。判别:要内嵌活交互、离线 HTML 放映、论文级排版→本 skill;要内容密集的 .pptx 报告成片→deck-craft(同仓 pptx 轨姊妹 skill);轻量或单文件 .pptx→pptx。不适用:单图表、营销/商业 deck。

소스 정보

저장소
O0000-code/paper-deck-reveal
최근 소스 활동
2026년 9월 14일 11:22
감지된 SKILL.md 언어
중국어
스타
0
포크
0

설치 방법

기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.

소스 파일 검토

설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.

SKILL.md 표시 중

SKILL.md
소스 지침 · 읽기 전용 미리보기
name
paper-deck-reveal
description
把一篇学术论文(尤其实证心理学)做成可放映、投影就绪的 reveal.js HTML 汇报成片,含可内嵌幻灯片的「分步交互式实验演示」、去 AI 味演讲者备注、演讲者双屏,全程离线零 CDN。当用户要把论文/文献做成组会汇报、读书会、文献精读、journal club 的幻灯/deck/演示,说「把这篇论文做成 HTML 汇报」「做个能放映的 deck」「复刻实验流程给观众看」「写这篇汇报的演讲稿」,或英文说 "present this paper as a deck / slides for journal club / turn this paper into an interactive presentation" 时都触发,即便只说「帮我汇报这篇论文」。判别:要内嵌活交互、离线 HTML 放映、论文级排版→本 skill;要内容密集的 .pptx 报告成片→deck-craft(同仓 pptx 轨姊妹 skill);轻量或单文件 .pptx→pptx。不适用:单图表、营销/商业 deck。
license
Apache-2.0. LICENSE.txt has complete terms
compatibility
Requires Node.js 18+ with Playwright (render QA) and Python 3.10+ with Pillow (figure tooling). Built for Claude Code; runs on any agent that loads SKILL.md.
metadata
{"version":"1.2.0"}
# paper-deck-reveal 把一篇学术论文做成**可汇报的 reveal.js HTML 成片**:逐页 Markdown 文字稿(内容先于形式)→ 套一套精调过的安静奢华设计语言渲染成离线 HTML deck → 在实验页**内嵌活交互**(复刻被试流程,或让听众亲做任务)→ 把脱稿讲稿写进 speaker notes → 支持演讲者双屏。产出经多 Agent 审到**论文级**(经得起实证主义导师逐字挑刺)。 这套方法与资产由两个真实验证案例反复返工提炼:**案例 A** = 多实验中介篇("Sad Art",Venkatesan et al. 2025)、**案例 B** = 单研究反转篇(Grisanzio et al. 2020)。下文及各 reference 中的 SadArt / Grisanzio 均指这两个案例——它们是规则的证据出处与参数化自检样本,不是要复制的模板。**body 是 hub:告诉你做什么、何时读哪个 reference;细节在 references/。** 五条方法论共识已直接内置、零外部依赖(findings-first / 投影字号下限 / quiet luxury / 去 AI 双扫 / 逐页专家精修——源自作者的 pptx 管线方法论 deck-craft,要点已内联进各 reference);HTML 构建系统、嵌入式交互、双屏、论文级正确性是本 skill 独有。 > 阅读约定:行文中的 D-N / critic #N / Stage X 为构建期决策与评审记录的编号,保留作证据追溯标记(记录本身未随发布);SubAgent / run_in_background 等编排术语来自 Claude Code 工作流,在其他 agent 环境取其语义等价物(后台任务 / 委派子任务)。 ## 动手前先切换到「创作态」(最高总开关 · 详见 `references/creative_stance.md`) 你不是"把论文转成不会崩的 HTML 的构建者",你是**为这篇论文创作一场值得被认真观看的汇报的设计师**——成功标准是「无可挑剔」,不是「稳定运行」,「能用了」是失败态。harness 默认把你拉向"执行态"(遇不确定就退回样例→抄上一篇、堆元素、不敢凭品味判断),**对设计是致命的**。动手任何排版前,先读 `references/creative_stance.md` 把自己切到创作态,并记住分寸: > **在构图上像艺术家一样大胆,在手艺上像工匠一样一丝不苟。** 三件事落地(细节在 creative_stance):① **三层架构**——L1 手艺(色/字/间距/**绝不自绘数据图**)铁板一块、L2 构图(archetype 菜单 + 每 deck 一个 signature 旋钮)大胆求变、L3 让形式追随**这篇**论文的特性(**因论文不同而形式不同**=成功标准,不是复制上一场);② **派任何构建 SubAgent,其提示词第一句即 creative_stance §1.2 的「激活咒语」**;③ 收尾走**三遍自检**(字号 / 溢出换行 / 对齐光学居中)。 ## 不可违反的 4 条硬约束(宪法级,最先满足) 1. **内容安全 file→file**:敏感刺激/用户讲稿正文经脚本抽为外置数据文件,HTML 只引用全局变量,**你(及任何子 Agent)绝不直接键入**敏感正文。用 `scripts/extract_stimuli.py` / `scripts/replace_notes_from_md.py`。 2. **零 CDN 离线**:reveal.js 与字体**已内置在 `assets/reveal/` 与 `assets/fonts/`**——装配时 copy 进 deck,绝不引外链;`file://` 双击可放映、0 网络请求。 3. **字体 woff2 本地内嵌**:只 Inter+Fraunces(`assets/fonts/`);中文走系统 PingFang,**不内嵌**任何设计型中文字体。 4. **交付前论文级正确性门**(不可省):统计斜体 + APA 引用 + 内容归因核实 + 图表审计 + 引用 DOI 核验——经得起实证主义导师逐字挑刺。见 `references/paper_correctness.md`。 **工序纪律(同等重要)**:改成片前先 `.before-{change}.html` 备份(可一键回滚);单文件 deck 的**可见层 / `<aside>` notes 层 / iframe 交互层三者分离编辑**,改一层不碰另一层——这是 audit-then-execute 能在单文件 deck 上安全成立的前提。 ## 工作流(内容先于形式;完整依赖图见 `references/pipeline.md`) ``` 论文 →[判特性 + 判结构]→ 逐页 MD 文字稿 →[页型清单]→ 装配 HTML 成片 ├ 交互页 → faithful 组件(读材料 / 行为选择,零结果) └ render-QA #1(装配后) → 演讲稿(路径 A 生成 / 路径 B 用户自写)→ file→note 装入 → render-QA #2 → 三道把关(设计评审·有权打回重做 / render-QA / 正确性门)→ 离线投影就绪成片 ``` **输入判别**:默认入口是论文全文;若用户已有**逐页 MD 文字稿或现成非论文材料**,走 `pipeline.md §0.5` 直接装配入口——跳过判结构与拆解,从页型清单+装配起步,讲稿/render-QA/三道把关照常,正确性门按输入性质裁剪。 **★ 三道把关缺一不可**(详 `references/pipeline.md §3.5`):① **设计评审**("美 / 贴合",设计师之眼逐页挑刺、**有权打回重做**)② **render-QA**("崩 / 溢出 / 断链")③ **正确性门**("统计 / 引用 / 真图")。**设计评审是从"能用"到"成片水准"最该补的那道闸**——它把"用户在环逐页挑错"工程化(见 `references/creative_stance.md §6`);**只跑 render-QA + 正确性门,会交出"初稿即终稿"=本 skill 定义的失败态**。 **先写逐页 Markdown 内容稿、再套 HTML**——这是被验证的工作流锁定,不是偏好。装配靠 `assets/section_templates.html` **复制填充**(reveal 本身就是 HTML,**不用 build 脚本**)。 ## 上手前先和用户确认这几个参数(写死任一默认都会在别的论文上出错) - **★ 判特性(先于一切)**:先写一句话"**本篇核心张力 / 叙事骨架是什么**"(反转?多实验中介?综述对比?)——它决定整体形式与各页 archetype 的选择。写不出这一句不许动手排版。(这是**设计轨**的第一步,与下条"论文结构"的**内容轨**判断并列、都在动手前,互不替代。)详见 `references/creative_stance.md` §2(L3)/§4。 - **论文结构**:先判体裁(实证 / 理论建模 / 综述 / 方法工具 / 立场论证,见 `paper_decomposition.md §0.5`;实证是一等公民主场景);实证再判多 Study(→逐实验四段式)还是单一研究(→降级模板)。体裁与结构共同决定走哪套 `md_templates`。 - **每个交互**:忠实还原被试当年看到/操作的**程序本身**(`mode:"faithful"`,纯被试第一人称、零结果、零旁白)。可让听众亲手做任务,但**仍不揭示任何结果**(结果在结果页)。"experiential 揭示结果作高潮"已废弃。务必读 `interactive_components.md` **§0 根本视角**。 - **讲稿路径**:A(AI 生成可改稿)还是 B(用户已自写、整篇 file→note 装入、只修笔误)?B 是首选交付。 - **narration_style**:`objective-with-critical-nodes`(介绍他人成果,默认)/ `argument-driven`(论证自己的切口)/ `user-authored`。 - **强调色**:四入口任选——① 报机构名(查 `references/accent_presets.md` 机构判定表)② 自报 hex(走校验修正流程,不过准入带给修正值、不偷改色相)③ 从 8 预设选 ④ 都不选则默认 `#8B0012` 不动。改色只改 `assets/tokens.css` 三行 `--accent*`(单一真源);时机在 `pipeline.md §1.5` 外观决策点。 - **thesis_boundary**:是否需要在汇报里回避汇报人自己的研究方向(组会场景常需要)。 ## 何时读哪个 reference(触发式路由) | 当你要…… | 读 | |---|---| | **动手任何设计前(切创作态、判本篇特性、L1/L2/L3 哪层可动、archetype 菜单 / signature、一次成型流程)** | **`references/creative_stance.md`(姿态与架构 authority — 先读它,再读 design_spec)** | | **任何设计 / 版面 / 排版动作(红块、对齐、留白、间距、焦点带、组件库、交付前检查清单、翻车点)** | **`references/design_spec.md`(设计 authority — 第一版就一次成型靠它;冲突时它赢)** | | 不确定整体怎么走 / MD 怎么变成 `<section>` / 文件怎么放 / 验收落点 | `references/pipeline.md` | | 拆论文、写逐页 MD、判结构、做作者页/元数据页 | `references/paper_decomposition.md` | | 定/改设计 token、配色、字体、投影字号("为什么这样定") | `references/design_system.md` | | 选页型、排某一页、判某页质量(逐页审核 rubric) | `references/page_types_and_layout.md` | | 做交互、复刻实验流程、体验型交互、刺激 schema | `references/interactive_components.md` | | 双屏不同步 / 焦点丢失 / 方向键串到预览页 | `references/speaker_dual_screen.md` | | 写演讲稿、写 speaker notes、去 AI 味 | `references/speaker_notes_method.md` | | 统计量斜体、APA 引用、内容核实、图表审计、拼图 | `references/paper_correctness.md` | | 验收成片(render-QA 该查什么) | `references/render_qa.md` | | 换一套整体视觉世界观(非默认气质;**experimental**) | `references/worldviews/_index.md`(入口与时机在 `pipeline.md §1.5` 外观决策点) | | 判某页主内容「复用还是生成」、定 craft 权重(两速系统) | `references/reuse_spectrum.md`(世界观子系统 · **experimental**) | | 换肤/换世界观时守哪些科学底线(跨世界冻结不变量) | `references/science_invariants.md`(世界观子系统 · **experimental**;默认 #0 下这些底线由 design_spec / paper_correctness 直接承载) | | 想看「同一套 skill 因论文不同而异形」的实证对照自测 | `references/self_test_two_papers.md` | | 换强调色(机构色 / 自报 hex 校验修正 / 8 预设 / 数据色冲突判定) | `references/accent_presets.md`(可跑工具:`scripts/accent_tools.py`) | ## 你复制进 deck 的 assets / 跑的 scripts **assets/**(复制到 deck):`tokens.css`(设计 token 单一真源,换肤只改这里) · `theme.css`(设计系统,@import tokens) · `deck_scaffold.html`(index.html 骨架) · `section_templates.html`(7 一级页型+15 子版式骨架) · `interactive_template/{faithful,faithful_choice}.html`+`speaker_sync.js`+`iframe_nav.js` · `reveal_focus_patch.js`(双屏焦点层) · `deck_edit_overlay.js`(**页内审阅 + 直接编辑工具**:注入即用、Shadow DOM 隔离、file:// 离线;**`e` 批注态**〔点元素/选文字写批注 → `a` 总览 → 复制 markdown 交 Agent·复制即清空〕;**`t` 直接编辑态**〔就地改字,localStorage 无感持久·刷新不丢·不必 Agent;FS 写回源文件为可选 opt-in〕) · `reveal/`+`fonts/`(本地内置) · `md_templates/` · `increment_points_template.md`。 **scripts/**:`extract_stimuli.py`(刺激 file→file) · `acquire_stimuli.py`(取 CC 代表性刺激图) · `render_qa.mjs`(Playwright 验收) · `stat_italic_lint.py`(扫裸统计符号) · `accent_tools.py`(强调色准入带校验+三槽推导) · `stitch_panels.py`(PIL 拼图) · `contact_sheet.py`(content-hash 辨图) · `check_notes_voice.py`(去 AI 硬禁忌扫) · `replace_notes_from_md.py`(用户讲稿机械装入,不改原文) · `inject_edit_ids.py`(生成期给可批注元素注入 `data-edit-id` + deck 根 `data-deck-id`;审阅批注工具三层定位的稳定主键,无损幂等)。 ## Gotchas(最高价值——每条都是返工挣来的,别重蹈) - **一致性 > 创新(同类页必须同构)**:结构相同的页面(各实验的目的/设计/结果页)必须用**完全相同的形式**,别给每页换花样——论文重复度高,强行换形式=制造不一致=降质。只有内容确实不同(如某实验是全新范式)才允许形式分化,且仍落在同一套组件语言里。改一类页就**一改全改**该类所有平行页(同一组 CSS 类驱动),交付前横向扫同构。完整规则与 12 翻车点见 `references/design_spec.md`(设计 authority)。 - **横贯带要对齐主内容右缘、别让 max-width 卡在中间**:焦点带/注释带/读图提示(`.callout` / 结论带 / `.read-hint` 一族)一律 `max-width:none`,对齐上方卡片/主内容的**右边缘**,绝不在页面中间就收边——通用类上的 em 上限(40em/46em 之类)是"带宽不对齐、卡在中间"的头号根因(design_spec §2 翻车9)。需要更窄由具体页面容器约束,不在通用类设 em 截断。 - **焦点带一律淡粉 + 左红线,无实心红块**:结论/预测/小结回答全用 `--accent-tint` + `border-left` 红线(与 `.callout`/`.sum-answer`/`.concl-band` 同语言);整块实心红已退役,哪怕"最终结论"也不用(design_spec §1A.4)。**一页只一处粉底**:还要标记第二个块(概念页「本文测的那张」)用白底 + 3px 红顶线 `.focus-topline`,不开第二块粉底(design_spec §1A.5)。 - **页标题全片「红主词 · 灰点 · 黑副题」(`h2.t2`)**:主词是这页的名词、副题是这页的主张或张力(一行装得下);整句标题不染红。封面默认「框界版心」(两道发丝线只夹标题组,kicker / 出处出框,上下镜像),**h1 是论文完整原题**——不截断、casing 照原文、不给原题加斜体重音;钩子进副题用近黑关键词。元数据页 / 作者页给 section 加 `fill-y`,行块均分页高、不留底部空白(2026-09 自 Claude Design 精修稿同步,见 design_spec §4 组件清单)。 - **被试信息别用一排等宽卡**:用「二级标题 + 紧凑信息行/小表」罗列;四页同模板就是"千篇一律"硬伤。 - **交互 = 还原被试当年真正用的程序本身(§0 根本视角,最高原则)**:判断每个元素只问"被试当年屏上看得到吗"。① 纯被试**第一人称、零旁白**——只放被试屏上所见(指导语/练习/做任务/结束),**绝不**出现"你将作为被试/室内设置/实验员在身后"这类第三方解释;② **结果永不进程序**(无均值/系数/曲线/"你像 X 岁组"——结果归结果页;旧 experiential"揭示结果作高潮"已废弃);③ **一切说明/方法学/标签/版权声明/效价界定移到观众层**(设计页 / slide 小注 / 讲者备注),被试看不到的就不进程序;④ **删到不能再删**(如无必要勿增实体,第一版必过量、复盘就是删);⑤ **动画极简**,选中只用红框、无悬浮上浮/阴影/花哨过渡。Grisanzio 连栽两轮(结果揭晓秀 + 旁白/标签堆砌)才逼出这条。 - **刺激/讲稿正文 file→file**,你绝不直接键入敏感正文(内容安全 + 单一真源)。 - **强调色 <5%**:红稀释即失效,只点睛关键数字/主线/焦点;底色永远纯白/灰。 - **统计斜体只用 `<em>`**:别用整块 `.stat`/`.bv` 套斜体(会把数字也斜,且斜体来自 class 不是 `<em>`——成片真出过这种"双容器漂移")。按符号类别逐 token 判:拉丁单字母统计量斜体、希腊 χ²/缩写 ACME/AIC 正体、数字正体。 - **信成片不信规划**:页数/页型数以**渲染后的成片**为准,不以任何文档声称为准。 - **离线只认真外链,别扫裸字**:判据是 `src`/`href` 指向 `http(s)://` 或 `//host` 的资源(`render_qa.mjs` 就这么扫,运行期 `page.on('request')` 是权威判据)——**别用 `grep -i cdn`**:脚手架自带的「零 CDN」注释语义恰好相反,扫裸字只会自伤误报。reveal/字体走内置 assets。 - **改成片前先 `.before-{change}.html` 备份**;单文件 deck 的**可见层 / `<aside>` notes 层 / iframe 交互层三者分离编辑**,改一层不碰另一层。 - **演讲者视图在普通页按 S 开**(在交互页时焦点在 iframe、S 会被接走)。开一次后双屏一直同步。 - **视觉迭代看真实渲染**:每次改版面后用 `render_qa.mjs` 渲染再判,不靠想象。 ## 反过拟合(贯穿全程的头号纪律) 这套资产从**一篇**论文提炼,最大风险是把"这一篇的填充"当普适规律。**普适 = 方法/骨架/护栏进 skill;填充(实验数、强调色、刺激 schema、测量类型、缩写白名单、图清单、配色语义、具体增量点、用户口头禅)一律走参数槽,绝不写死。** 每建一页/一个交互/一段讲稿,问一句"这在另一篇不同范式的论文上还成立吗?要参数化什么?"——一个样本只能定义一个点。 > 本 skill 用 skill-creator 流程构建并经多轮对抗式评审;端到端验证用一篇范式不同的论文(单研究/行为指标/多作者)跑通"判结构→降级模板→faithful 行为选择交互(零结果)→argument 讲稿"。
GitHub에서 보기