Skip to main content
ClaudeWave
Skill2.3k repo starsupdated 2d ago

paper-explain-figures

The paper-explain-figures Claude Code skill analyzes research paper figures by converting them to viewable formats, retrieving adjacent source code that generated them, and producing a structured Markdown report that synthesizes visual interpretation, code-based understanding, and user annotations. Use this skill when you need to understand complex figures in research papers through multiple interpretive lenses while maintaining strict read-only access to original files.

Install in Claude Code
Copy
git clone --depth 1 https://github.com/huangwb8/ChineseResearchLaTeX /tmp/paper-explain-figures && cp -r /tmp/paper-explain-figures/skills/paper-explain-figures ~/.claude/skills/paper-explain-figures
Then start a new Claude Code session; the skill loads automatically.

SKILL.md

# paper-explain-figures

## 与 bensz-collect-bugs 的协作约定

- 因本 skill 设计缺陷导致的 bug,先用 `bensz-collect-bugs` 规范记录到 `~/.bensz-skills/bugs/`,不要直接修改用户本地已安装的 skill 源码;若有 workaround,先记 bug,再继续完成任务。
- 只有用户明确要求“report bensz skills bugs”等公开上报时,才用本地 `gh` 上传新增 bug 到 `huangwb8/bensz-bugs`;不要 pull / clone 整个仓库。

## 目标

对用户提供的 1 张或多张论文 Figure:

- 将 Figure 转为 `.jpg`(用于视觉理解;转换失败则保留原图并显式说明)
- 在 Figure 附近自动检索“生成该图的源代码”(可能找不到;找不到则为 `NULL`)
- 综合三类信息输出可读性强的报告:
  - 理解 1:视觉理解(从 jpg/原图直接读图)
  - 理解 2:源代码理解(以代码为准;代码决定图的真实含义)
  - 理解 3:用户人工解读(帮助猜测用户关注点;可能有误)

## 强约束(必须遵守)

- **目录管理硬约束**:所有中间产物必须托管在当前工作目录下的隐藏目录 **`.paper-explain-figures/`**(该目录名在脚本中硬编码;不允许改到别处)。
- **运行时隔离硬约束**:runner / 图片转换器产生的 HOME、TMP、XDG cache/state/config 等运行时辅助文件,也必须重定向并收纳到 `.paper-explain-figures/` 内。
- **只读约束**:全程只读访问用户的 Figure 与源代码文件;严禁修改它们(包括格式化/重写/覆盖)。

## 输入

用户会输入 1 个或多个信息:

- 1 个或多个 figure 文件的**绝对路径**
- 可选:对 figure 的人工解读(全局或按 figure 分配)
- 可选:用户显式给出源代码文件绝对路径(优先作为“候选入口”)

## 输出

- 最终报告:默认输出到当前工作目录 `paper-explain-figures_report.md`
- 所有中间文件与日志:落到 `.paper-explain-figures/`(按 run/job 分目录保存)

## 标准报告格式(每张图必须按此结构输出)

每张图在同一个 Markdown 文件中以 `##` 级标题分隔:

```markdown
# Figures

## Figure: xxx

> 文件位置: xxx
> 源代码: xx.R 第xxx-xxx行

### 图表核心含义

...

### 变量定义

| 元素 | 定义 |
| --- | --- |
| ... | ... |

### 解读要点

1. ...
2. ...

### 解释

...

### 科学价值

...
```

## 技术路径(进程级隔离 + 并发上限)

为保证“每张图的解读相互独立”,本 skill 采用 worker 脚本在 shell 中启动独立进程执行:

- `codex exec "..."`(推荐:更容易做本地文件读取 + 视觉理解)
- `claude -p "..."`(可选)

并发上限默认 **3**(可在 `paper-explain-figures/config.yaml` 调整)。

## 使用方式(建议)

在当前目录运行(推荐,产物会落到当前目录与 `.paper-explain-figures/`):

```bash
python3 paper-explain-figures/scripts/paper_explain_figures.py \
  --fig /abs/path/to/figure1.png \
  --fig /abs/path/to/figure2.pdf \
  --note "你对这些图的关注点/背景解释(可选)"
```

如果该 skill 已做系统级安装(路径因平台而异,以下仅示例):

```bash
python3 ~/.codex/skills/paper-explain-figures/scripts/paper_explain_figures.py --fig /abs/path/to/figure.png
```

常用参数(按需):

```bash
# 启用并行(默认串行,减少 API 限流/封禁风险)
python3 paper-explain-figures/scripts/paper_explain_figures.py --fig /abs/path/to/figure.png --parallel

# 并发上限(默认 3;也可改 config.yaml:defaults.max_parallel)
python3 paper-explain-figures/scripts/paper_explain_figures.py --fig /abs/path/to/figure.png --parallel --max-parallel 3

# 指定 runner(codex/claude/local)
python3 paper-explain-figures/scripts/paper_explain_figures.py --fig /abs/path/to/figure.png --runner codex
```

⚠️ 安全提示:`--runner shell` 已禁用,因为它无法对“.paper-explain-figures 之外绝不泄露中间文件”提供严格保证。

## 清理方式

在触发目录执行:

```bash
rm -rf .paper-explain-figures
```
check-review-alignmentSkill

当用户明确要求"核查/优化综述 `{主题}_review.tex` 的正文引用"或"运行 check-review-alignment"时使用。通过宿主 AI 的语义理解逐条核查引用是否与文献内容吻合,只在发现致命性引用错误时对"包含引用的句子"做最小化改写,并复用 `systematic-literature-review` 的渲染脚本输出 PDF/Word。核心原则:不为了改而改,无法确定是否为致命性错误时保留原样并在报告中警告。⚠️ 不适用:用户只是想生成系统综述正文(应使用 systematic-literature-review);用户只是想新增/核对 BibTeX 条目(应使用专门的 bib 管理流程)。

complete-exampleSkill

当用户明确要求"填充示例内容""生成示例""补充 LaTeX 示例"时使用。AI 增强版 LaTeX 示例智能生成器,实现 AI 与硬编码的有机融合:AI 做"语义理解"(分析章节主题、推理资源相关性、生成连贯叙述),硬编码做"结构保护"(格式验证、哈希校验、访问控制)。

get-review-themeSkill

当用户明确要求"从文件/图片/网页/描述中提取综述主题"或"生成主题+关键词+核心问题结构化输出"时使用。支持文件(PDF/Word/Markdown/Tex)、文件夹、图片、自然语言描述、网页 URL 等多种输入源,自动识别输入类型并提取内容,生成可直接用于 systematic-literature-review 及其他文献综述技能的结构化输出。

guide-updaterSkill

当用户明确要求"更新项目指南""同步指南""沉淀洞见到指南"时使用。将对话中新产生的可复用写作洞见实时沉淀到项目指南文件,保持术语口径一致、结构稳定、可检验与可复现。调用时必须指定指南文件路径。

make-latex-modelSkill

当用户明确要求“LaTeX 模板优化”“样式参数对齐”“像素级比对”“make-latex-model”或旧写法“make_latex_model”,或要把 ChineseResearchLaTeX 里的某个项目做成高质量模板时使用。适配 NSFC / paper / thesis / cv 四条产品线;先依据 packages/ 与 projects/ 的真实分层判断改项目层还是公共包,再用各产品线官方构建入口验收。若必须修改 packages 下公共包,需先生成受影响模板回归计划并完成相关回归;NSFC 专项工具仅在明确属于 NSFC 参数对齐场景时按需使用。

nsfc-abstractSkill

当用户明确要求"写/润色 NSFC 标书摘要""生成中文摘要和英文摘要""把中文摘要翻译成英文摘要"时使用。输出中文、英文两个版本(英文必须是中文的忠实翻译版),同时输出标题建议(1个推荐标题+5个候选标题及理由)。中文摘要默认≤400字符,英文摘要默认≤4000字符。输出方式:将结果写入工作目录下的 `NSFC-ABSTRACTS.md`。⚠️ 不适用:用户只想翻译一段与标书无关的通用文本(应直接翻译);用户只想写立项依据/研究内容/研究基础正文(应使用对应 nsfc 系列 skill)。

nsfc-budgetSkill

当用户明确要求“写/生成 NSFC 预算说明书”“写预算说明”“生成 budget.tex / budget.pdf”“写国自然预算 justification”时使用。基于用户标书正文或补充材料,输出一份可提交的预算说明书 LaTeX 项目并渲染 `budget.pdf`。若用户未指定工作目录,必须暂停并先要求其指定。⚠️ 不适用:用户只是想了解预算原则;用户仅要预算表数字而不写说明书;或用户是 2026 青年 A/B/C 默认包干制且无需预算说明书的场景。

nsfc-codeSkill

根据 NSFC 标书正文内容,结合申请代码推荐库,为你给出 5 组申请代码1/2(主/次)推荐与理由;输出到 NSFC-CODE-vYYYYMMDDHHmm.md(只读,不修改标书)