Install
openclaw skills install @jukiss1/research-paper-to-ppt-v1将指定医学研究论文自动生成 PPTX 汇报文件的技能。用于用户给出单篇文献标题、PMID、DOI、InfoX-Med 文献 id 或可唯一定位该论文的信息时:先用 InfoX-Med 相关检索技能精确定位目标论文,再读取全文与原文图表,最后按基础研究型汇报大纲选择性生成 PPTX。适用于"根据这篇论文生成汇报PPT""把这篇 research paper 做成中文组会汇报""按文献生成带原图的PPT"等请求。强制要求:(1) PPT 必须优先使用论文原文图片;(2) 必须按大纲逻辑生成,但论文未涉及的章节直接跳过,不得插入空白页;(3) 若无法定位目标文献或无法获取全文,必须明确返回"检索失败,无法生成",不得编造内容或伪造图片。默认输出文件名使用论文标题;默认版式为美观组会风格,包含目录页、结尾页和"谢谢!感谢批评指正!"结束文案;字体、图片、坐标等视觉规范必须严格遵循 visual-rendering-spec.md。
openclaw skills install @jukiss1/research-paper-to-ppt-v1按下面流程执行,不要跳步,不要编造。
当用户明确要求“直接生成 PPTX / 一键生成 / 输出最终 pptx/ppt 文件”时,优先使用本技能内置完整流水线:
scripts/complete_pipeline.py它会串起以下全部步骤:
slides.jsonscripts/render_pptx_from_slides.js 输出最终 .pptx推荐调用方式:
python3 <skill_dir>/scripts/complete_pipeline.py \
--title "完整英文标题" \
--work-dir /tmp/paper_to_ppt_run \
--output /desired/output/path.pptx
约束:
检索失败,无法生成仅在需要调试、局部替换步骤、或修补某一中间产物时,再回退到下面的分步流程。
接受以下任一信息:
如果用户给的信息明显不足以唯一定位单篇文献,先要求补充;不要猜测目标论文。
必须先调用 medical-keyword-search 做精确检索,优先顺序:
检索结果处理规则:
检索失败,无法生成确认目标文献后,必须调用环境内可用的全文技能获取全文,优先使用 full-paper-api;若当前环境实际提供的是 full-paper-read 或同类全文读取技能,以环境内实际技能名为准。
scripts/fetch_fullpaper.py 做一次本地兜底重试。它会从 INFOX_MED_TOKEN 中提取合法 token 候选,重新请求全文 API,并尽量整理 paper_meta/fulltext/figures。检索失败,无法生成在开始生成内容前,按需读取:
references/integration-notes.md:与检索 / 全文 / pptx 技能的衔接说明references/outline-basic-research.md:基础研究型汇报大纲与映射规则references/slide-schema.md:中间结构化 JSON 约定references/figure-caption-policy.md:Figure 解释写法与禁忌references/ppt-copy-rules.md:最终 PPT 中禁止出现的元说明文案references/style-preferences-from-reference.md:参考 PPT 与修改意见沉淀出的默认风格偏好references/layout-rules-from-feedback.md:更细的版式/字号/拆页/路径图规则references/output-filename-policy.md:最终 PPT 文件名的默认命名规则references/visual-rendering-spec.md:每次生成 PPTX 前必须阅读,包含精确坐标、颜色 hex 值、字体规范、阴影规范和每种 slide_type 的版式模板如果用户另给了大纲或版式要求,用户要求优先;否则默认采用本技能内置大纲映射。
先从全文提取结构化信息,至少覆盖:
et al.;不要出现残缺作者串然后按大纲做"有条件生成":
这是条件性硬约束。
也就是说:
仅允许:
禁止:
优先选择:
如果一个结果段落涉及多个 panel(如 Figure 3A-3F):
这是新增硬约束:
检索失败,无法生成新版默认要求:
对每个 Figure,优先覆盖以下信息:
写法要求:
禁止:
详细规则见 references/figure-caption-policy.md。
结果部分页面标题默认优先级:
也就是说:
当单个 Figure(如 Fig 1)信息量很大时:
(1/3)、(2/3)、(3/3)默认遵循基础研究型大纲,但做"逻辑压缩 + 条件跳过"。
如果用户没有指定别的风格,优先参考 references/style-preferences-from-reference.md 中沉淀的结构偏好:
推荐优先级:
压缩规则:
若用户未指定模板,默认按"更适合组会汇报"的风格生成,而不是仅满足信息可放下:
谢谢!感谢批评指正!若用户明确要求"动画":
先整理成统一 JSON,再交给 pptx 技能生成文件。
如需稳定中间输入,优先使用:
scripts/fetch_fullpaper.py:从 InfoX-Med 全文 API 拉取并规范化 paper_meta/fulltext/figures,内置 token 异常兜底scripts/extract_figures_and_captions.py:从全文 markdown 中提取每张原图的图注,并进一步匹配对应 Results 段落,结合"图注 + 结果上下文"生成更扎实的中文讲解要点,同时清洗 markdown/math 噪声,避免图注摘要乱码scripts/validate_inputs.py:检查是否满足硬失败条件scripts/build_prompt_bundle.py:把 paper meta、全文、figure 清单整理成统一 bundlescripts/enforce_figure_requirements.py:在生成 PPT 前强制检查"有原图时必须带原图且有图片解释;无原图时允许无图页"推荐顺序:
fetch_fullpaper.pyextract_figures_and_captions.pyvalidate_inputs.pybuild_prompt_bundle.pyslides[]enforce_figure_requirements.pypptx 技能输出 .pptxJSON 至少包含:
titlepaper_metaslides[]slide_typetitlebullets / sectionsfigure_refsimage_paths_or_urlsspeaker_intent(可选,简短说明这一页想讲什么)中间结构的详细字段见 references/slide-schema.md。
交给 pptx 技能生成时,明确要求:
.pptxfinal.pptx、output.pptx、report_beautified.pptx 这类泛化名称谢谢!感谢批评指正!若已有现成模板,可使用;若没有,保持简洁但美观的科研汇报风格即可。
返回:
仅返回:
检索失败,无法生成以下情况都属于失败:
不要在失败时附带猜测性总结,不要提供"先做个简版"。
交付前逐项确认:
检索失败,无法生成