Skip to main content
ClaudeWave
Skill570 repo starsupdated 2mo ago

light-figure

>-

Install in Claude Code
Copy
git clone --depth 1 https://github.com/Light0305/Light-skills /tmp/light-figure && cp -r /tmp/light-figure/skills/light-figure ~/.claude/skills/light-figure
Then start a new Claude Code session; the skill loads automatically.

SKILL.md

# 图表(figure)—— 科研主线 stage 9 · 视觉诚实(critical) + 图服务论点 + 程序化生成

你是 Light 科研流水线的 **DAG 第 9 节点**(v1 的 figure-planning + figure-drawing 合并)。任务**不是「把数据画成好看的图」**,
是让**每张图都为论点服务、达出版级、且绝不撒谎**:规划(图服务哪条 claim + 集合预算 + 反冗余)→ 绘制(出版级 + 色盲安全 +
误差棒)→ **诚实门**(截/双轴/把不显著当主图)→ 渲染后**真看一眼**。守住两条红线:**视觉不诚实 = critical**、**论文数据图
绝不 AI 生图**。

> **一句话定位**:把「一屋子院士看你的图时真正死磕的」——**这图诚实吗**(y 轴有没有偷偷截断放大差异、双 y 轴有没有制造
> 伪相关、用没用 jet/rainbow 误导)、**误差棒标了吗**(类型 SD/SEM/CI + n)、**黑白/色盲能辨吗**、**这图支撑哪条 claim、
> 删了缺什么**(还是把不显著结果硬当主图)、**一组图超没超 venue 预算、有没有冗余 panel**——落成**确定性机读门
> (视觉不诚实=critical)+ 集合预算/反冗余自检 + render-then-look 渲染回看 + 把不显著当主图→回炉**。
> 深度对标真相源 = [`docs/competitors/figure.md`](../../docs/competitors/figure.md)(**Round 2 R1:10 真·同类绘图 skill** 实搜+读码,
> scipilot 530★/davila7 28.2K★ 等头部 + 机制对标 + 超越点 + 诚实边界;**诚实校正**:截轴/双轴/render-then-look 是同类共识,
> Light 增量=确定性机读门 + 绑证据档 misrepresent_evidence + 9→7 回炉,非"想到截轴")。
>
> **谁产 findings、谁是 critical 门(诚实分工)**:**本技能产视觉诚实 findings**(producer=figure,[`visual_honesty_gate.py`](scripts/visual_honesty_gate.py) 六 gate)——
> `visual_honesty`(截 y 轴/双 y 轴伪相关/3D 透视)+ `misrepresent_evidence`(把不显著当主图/图文不一致)= **critical**,被
> `run_checkpoint --stage 9` 聚合 → **critical fail exit 1**;`error_bars`/`colormap`/`display_budget`/`panel_redundancy` = **warn 不阻断 DAG**(spec §4.2 口径)。
>
> **与 `_shared/visual_qa` 的分工(别重造几何/对比度引擎)**:**`_shared/visual_qa` 已建**几何检测(标签重叠/溢出/对齐)+
> WCAG 对比度门(两档)+ render-then-look 协议(批 0 地基)。**figure 只编排消费**——经 [`figure_visual_qa.py`](scripts/figure_visual_qa.py) 抽 matplotlib
> 元素的 AABB 喂给它的几何引擎,**不重写 detect_geometry_issues**(同 paper-writing 消费 evidence_contract 不重造 lint 的范式)。
> figure 的**真增量** = visual_qa 没有的:**截/双轴/rainbow 的诚实判据**(figure_integrity_lint)+ **集合级预算/反冗余**
> (audit_figure_set)+ **图↔claim 绑定**(消费 evidence_strength.json)。
>
> **与 result-analysis / paper-writing 的分工**:**result-analysis 定证据档**(emit `evidence_strength.json` + result card);
> **paper-writing 规划哪些 claim 要图支撑,并给出 guardrail claim_impact/limitations**;**figure 据证据档定图注统计标注 +
> 卡「把不显著当主图」,并要求 guardrail WARN 的限制进入 caption**。三者共用 result card / claim plan 这条交接链。
>
> **特殊位置(回炉发起方)**:规划/渲染时**发现某主图绑的 claim 不显著(grade=none)、或图与正文 claim 不一致** → findings
> 带「不显著/图文不一致/证据/主图」信号 → 总控 `reroute --stage 9` 建议 **9→7** 回 result-analysis 核「该图对应的证据强度」。
> **截/双轴这类画法不诚实不回炉**——issue 不带信号 → reroute 给 **manual = 本阶段重画修**(同 result-analysis p-hacking→manual
> 的诚实落点)。**回炉是决策点,停下问用户。**
>
> **是横切常驻吗?** 否。这是**按需 `/` 调用的主线节点**;file-reading / memory-pm / project-structure / consistency /
> research-ethics 全程横切常驻,本技能不重复它们。

---

## 何时启动(触发信号)

- 结果分析(result-analysis)做完,要把结果**画成论文图表**。
- 要**规划一组图/表**:哪条 claim 配哪张图、优先级(必做/可做/可删)、是否超 venue display-item 预算、有没有冗余 panel。
- 要**选图型**(比较/趋势/关系/分布… 该用柱/折线/散点/箱线/热力)。
- 要**出版级出图**:目标刊栏宽/最小字号/dpi/矢量格式、色盲安全色板、误差棒+n+显著性标注。
- 担心**图误导**:y 轴是不是偷偷截断了、双 y 轴是不是伪相关、是不是用了 jet/rainbow、**是不是把不显著结果当了主图**。
- 渲染出图后想**真看一眼**:标签有没有重叠、图例有没有压住数据、文字有没有溢出被裁。
- 做**框架图/示意图/graphical abstract**(程序化非 AI 生图)。

---

## 🚫 NON-NEGOTIABLE(NEVER —— 违反即重做,无例外)

1. **论文数据图必须程序化生成,绝不 AI 生图**(永久底线)。实验数据图(统计图/显微/凝胶/影像)一律 matplotlib/seaborn/R/
   TikZ **代码生成**——可复现、可核、不造假。**figure 技能不调用任何生成式图像模型**(Midjourney/DALL·E/SD 等)画论文图。
   反面教材:2024 Frontiers 一文用 Midjourney 生成"巨鼠 + 乱码标签"过审后撤稿。纯示意图即便部分场景允许 AI 也须披露且
   不得含虚构数据,保守做法仍程序化/矢量手绘。
2. **绝不偷偷视觉不诚实**:不偷偷截断 y 轴(柱图须零基线,截断须断轴标注 + 图注说明)、不用双 y 轴制造伪相关、不用
   jet/rainbow 误导。需要时可做、但**必须在图注明示**,且过 `visual_honesty_gate`。
3. **绝不把不显著结果当主图**:主图(必做)绑定的 claim 证据档须 weak+;grade=none(不显著)的结果不当主图,如实降附录或
   报「未见显著差异」。发现了 → **停下问用户**是否 9→7 回 result-analysis,不自行硬画。
4. **绝不臆造数据/规格**:图的数值追溯到 result-analysis 的 `claim_evidence_table.md`;venue 栏宽/上限用目标刊作者指南
   权威值,查不到写 `custom` + 实测来源,**不内嵌某刊上限臆测、无本地期刊库**。
5. **绝不把机检吹成「证明图诚实」**:静态 lint 只抓「形态可疑」(ylim≠0 无断轴标注/twinx 存在/cmap=jet),**真误导、真
   支撑 claim 与否的终判仍需图注 + 人/审稿人**。

---

## ✅ ACT(直接做,不必问)
- 跑 `recommend_chart.py` 给图型候选;跑 `validate_plan_card.py`/`audit_figure_set.py` 校验规划卡与集合预算。
- 用 `color_palettes.py` 取色盲安全色板(Okabe-Ito 离散 / viridis 连续);用 `figure_export.py` 按目标刊栏宽出图。
- **程序化生成**图(matplotlib/seaborn/R 代码),带误差棒+n+显著性标注。
- **统计图走 R/ggplot2 双路径**:`r_ggplot.py --detect` 探 Rscript、ggplot2 与 scales;`render_ggplot(...)` 出森林/箱线/分面图,R 不可用**诚实降级 matplotlib**。
- 跑 `visual_honesty_gate.py` 把视觉诚实关;渲染后跑 `figure_visual_qa.py` 抽 AABB 做几何回看。
- 把渲染 PNG 喂回多模态模型按 rubric 挑缺陷(render-then-look)。

## 🧑 ASK(决策点,停下问用户,给选项+后果+推荐,不替用户拍板)
- **发现把不显著当主图/图文不一致** → 问:9→7 回 result-analysis 核证据强度 / 把该图降附录 / 如实改报「未见显著差异」?(推荐前者若该 claim 是核心)
- **截断 y 轴/双 y 轴检出 critical** → 问:本阶段重画诚实化(零基线/断轴标注/拆 panel)/ 该截断确属正当(放大真实小差异+图注说明)授权 FAIL→PASS?
- **集合超 venue 预算** → 呈现砍序裁定(可删→可做降附录→必做不动)问用户拍板砍哪些。
- **venue 栏宽/display-item 上限未知** → 问用户目标刊,要权威值(作者指南),不臆测。

---

## Level 1 · 速查(6 条院士级深挖 → 可执行规则)

| # | 院士级深挖 | 可执行规则(具体数字) | 兑现脚本/门 |
|---|---|---|---|
| ① | **图服务论点** | 每图绑一条 claim、写清「删了缺什么」;正文 display item ≤ venue 上限(**NeurIPS 2025=9 正文页含所有图表;CVPR=8 页**;顶会常 6-8 件正文);同 claim 同图型族=候选冗余 | audit_figure_set(预算+反冗余) |
| ② | **出版级规格** | 栏宽取目标刊(**Nature 单栏≈89mm/双栏≈183mm**);最小字号达刊下限(缩放后复核);离散 **Okabe-Ito ≤8 色**、连续 **viridis/cividis**;误差棒标**类型(SD/SEM/CI)+n** | figure_export / color_palettes |
| ③ | **诚实性=critical** | 柱图须**零基线**(Cairo:截断是「最普遍的图表谎言」);**不双 y 轴伪相关**;**不 jet/rainbow**(非感知均匀+色盲不安全);**不把不显著当主图** | **visual_honesty_gate(critical)** |
| ④ | **渲染后真看一眼** | 渲染 PNG→抽 AABB 查标签重叠/图例压数据/溢出→喂多模态按 rubric 打分;无渲染器如实标 `pixel_review_done=False` | figure_visual_qa(消费 _shared/visual_qa) |
| ⑤ | **程序化生成绝不 AI 生图** | 论文数据图一律 matplotlib/seaborn/R 代码生成(可复现+可核);记录数据指针+随机种子+生成脚本 | NEVER 红线 |
| ⑥ | **院士会问** | 这图诚实吗?误差棒标了吗?黑白/色盲能辨吗?支撑哪条 claim?超预算/冗余了吗? | self-check 清单(见 Level 3) |

---

## Level 2 · 工作流(规划 → 绘制 → 诚实门 → 渲染回看)

### A. 规划(图服务论点 + 选型 + 集合预算)
1. **盘 claim→图清单**:消费 paper-writing 的 claim 规划 + result-analysis 的 `evidence_strength.json`。每条核心 claim 配
   一张图/表,标优先级(必做/可做/可删)。**主图绑的 claim 证据档须 weak+**(见 NEVER 3)。
2. **选图型**:`python recommend_chart.py --task comparison --fields nominal quantitative`(比较→分组柱、趋势→折线、关系→
   散点、分布→箱线/直方、不确定性→点+误差棒)。诚实:这是启发式(Cleveland-McGill 感知精度),最终人定。
3. **填规划卡**:用 [`templates/figure_plan_card.md`](templates/figure_pla
light-backend-codingSkill

后端代码编写、逻辑强、安全性高、可读性好、版本控制、代码审查。当任务需要写实验代码、模型代码、数据处理代码、可视化代码、后端接口或系统逻辑时使用。要求逻辑清晰、安全、可读、可维护、便于复现/扩展/部署。支持 Git 版本管理、代码审查、注释规范、README、依赖管理、环境配置、运行说明与项目结构整理。

light-citationSkill

Verify scholarly references and claim-citation support for Light stage 10. Use when auditing a manuscript, claim map, bibliography, DOI/arXiv/PMID/ISBN/URL, BibTeX/CSL, citekeys, chimeric or fabricated citations, retraction/correction alerts, or preparing a canonical citation registry for typesetting. Builds provenance-preserving inventories, confirms metadata with independent authoritative sources, distinguishes CONFIRMED/CONFIRMED-MISSING/UNAVAILABLE/UNRESOLVED, records Crossref update direction, and emits the citation gate plus delivery artifacts.

light-competitionSkill

竞赛与项目申报材料辅助。当用户做统计建模、数学建模、互联网+、挑战杯、大创、创新创业、科研训练等项目时使用。辅助写申报书、项目计划书、商业计划书、路演 PPT、答辩稿、项目摘要、技术路线、创新点、可行性分析、市场分析、研究基础、预期成果、经费预算、团队分工。用于非论文投稿场景,可与论文/软著/专利/PPT 联动。

light-consistencySkill

>-

light-data-engineeringSkill

>-

light-figure-drawingSkill

从顶会大牛角度进行专业绘图与组图。当用户需要把规划好的图实际画出来时使用。按情况用 Python(matplotlib/seaborn/plotly/altair)、R(ggplot2)、MATLAB、Visio、Origin、LaTeX/TikZ、Illustrator、PowerPoint 等。审美统一、专业清晰、配色合理、字体规范、线条清楚、高分辨率,适合直接投稿。不仅画图,还从论文表达角度判断怎么排、怎么组、怎么标注、怎么突出重点。

light-figure-planningSkill

根据论文内容规划应该做哪些图、哪些表、插在哪里、各起什么作用。当用户需要论文图表规划时使用。图表不限于统计图,也包括数据集真实效果图、模型输出示例、案例展示、可解释性可视化等。规划框架图、技术路线图、数据集示意图、模型结构图、算法流程图、结果对比/消融/敏感性图、真实效果图、统计表/对比表等,以审稿人标准判断哪些必做、哪些冗余。

light-file-readingSkill

>-