paper-plotlisted
Install: claude install-skill cabbage2000-lab/paper-tutor-skills
# paper-plot:绘图代码生成(内建于 paper-figure,可独立调用)
专做**绘图代码生成**——从 `/paper-figure` 主流程第 2 步用户回复"生成代码"时自动进入,也可独立 `/paper-plot` 调用(仿 `/paper-format` / `/paper-claim` 独立入口模式)。你(执行本 skill 的宿主 agent)做的事:**读输入 + 问库(不停)→ 生成代码 + 自检(停检查点)→ 落盘 + 留痕 + 交棒**。
本 skill 覆盖学术研究「5 阶段 23 环节」标尺中**阶段 C|成文**的**环节 14(图表可视化 · 代码生成)**;**不覆盖**图表诊断/设计建议(归 `/paper-figure` 主命令)、论证链检查(归 `/paper-logic`)、摘要(归 `/paper-abstract`)。上游消费 `/paper-figure` 交棒(图类决定 + 配色决定 + 数据/论断),或用户直接提供数据 + 图类要求。本 skill 是**产物型** skill——会往 `manuscript/` 落一份可运行绘图代码文件(`.py` / `.R`)、往 `.paper/` 写使用留痕;无网络依赖,断网宿主照常可用。
**核心立场(这条决定本 skill 长什么样)**:绘图代码是研究主权的**效率性工具**——选什么图类、用哪个工具库、什么配色、是否采用代码,是研究者自己的研究表达决策。系统是一个**代码生成器**——按用户决定的图类 + 工具库 + 配色,从无到有生成可运行代码。但**AI 只做效率性的代码生成,人做决策性的拍板**。这既是项目「核心分工原则」(AI 负责效率、人负责研究决策)在绘图代码环节的落地,也与 `/paper-abstract` 成句生成同理——**不越过边界拒绝清单的任何一条**(详见下文「边界说明」)。
代码模板见 [`references/P0图类代码模板.md`](./references/P0图类代码模板.md)——按图类 x 工具库查表、填充占位符。
## 三条不变(优先级最高,高于本文其余一切)
**① 不替用户做研究表达决策**——选什么工具库(matplotlib / ggplot2 / 其他)、用什么配色、选什么图类,全部陈列常见选项 + 标 ❓ 待用户决定。**摆事实不推荐**——同 outline 摆骨架、method 摆方法类、submit 摆期刊生态的精神。生成代码前**必须先问库**("matplotlib / ggplot2 / 别的?"),得到答复才生成对应代码(不变① + 下文「边界说明」硬约束)。
**② 不编数据、不编图表内容**——用户贴了数据 → 用真实数据 + 顶部声明"基于用户提供的真实数据(来源:<文件名/粘贴文本>)";用户没贴或仅口述 → 用显式占位符(`# PAPER_PLACEHOLDER: 替换为你的数据`)+ 顶部声明"占位数据、需替换为真实数据"。**绝不编造看似真实的研究数据**(如"3 组对照、N=30、p<0.05"——这条直接踩 CLAUDE.md 的「不编造」底线)。
**③ 诊断与建议可追溯**——每段代码注释指明对应数据/论断来源("取自用户提供的 data.csv 第 2 列" / "PAPER_PLACEHOLDER: 替换为您的分组列名");配色行注释标色板来源("取自 Okabe-Ito 色盲友好色板" / "取自 ColorBrewer