mcpField
N
nature-figure

nature-figure

github.com/boom5426数据与数据库63744 次安装2 周前更新
代码仓库

关于 nature-figure

nature-figure 是用于制作科学论文图表的 Skill,会按任务选择 Python、R 或指定的 OpenRouter 图像生成流程。它面向论文配图制作,将分阶段设计与验证、导出审计结合起来。

主要功能

  1. 01Python 与 R 后端路由
  2. 02OpenRouter 示意图流程
  3. 03按需加载设计参考
  4. 04图表预检与导出审计
  5. 05源数据与安全工具

适用场景

  1. 01用 Python 或 R 制作论文图表
  2. 02通过 OpenRouter 起草示意图
  3. 03准备并审计多面板图

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/boom5426/nature-paper-skills --skill nature-figure

安装后在 Claude Code 中输入/nature-figure确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

manifest.yaml
README_EN.md
README.md
evals/
evals.json
references/
ai-graphical-abstract-workflow.md
api.md
asset-adaptation.md
backend-selection.md
chart-types.md
common-patterns.md
demos.md
design-theory.md
figure-contract.md
figure-delivery-bundle.md
figure-legend-conventions.md
multipanel-evidence-architecture.md
nature-2026-observations.md
nature-article-requirements.md
openrouter-image-generation.md
qa-contract.md
r-template-index.md
r-workflow.md
tutorials.md
scripts/
audit_figure_collisions.py
audit_panel_alignment.py
audit_pdf_text.py
figure_safety.py
figure_source_data.py
generate_openrouter_schematic.py
nature_figure_backend.py

详细介绍

自然风格图形制作 — 路由器

此技能分为两个层:

  • static/ 下的静态层,存放有版本管理、可复用的内容片段(图形约定和默认立场,以及 Python 和 R 各自的后端快速入门)。
  • 动态层(此文件和 manifest.yaml),用于检测绘图后端,并仅加载当前任务所需的片段。大型设计、API、模式和 QA 材料存放在按需加载的参考资料中。

不要凭记忆或依据此路由器应用图形逻辑。务必按照下文说明从磁盘加载片段。

路由协议

每次调用此技能时,都要遵循以下步骤。

0. 检查 OpenRouter AI 示意图路线

如果用户明确要求使用 OpenRouter、GPT Image 2、图像生成 API 或类似方式生成论文示意图、图形摘要、机制图、概念插图或论文示意图,不要询问“Python 还是 R?”。这是非绘图类 AI 示意图路线。

对于此路线:

  1. 阅读 manifest.yaml 和 always_load 文件。
  2. 阅读 references/openrouter-image-generation.md。
  3. 如果用户需要实际调用 API 或可复现的请求载荷,请使用 scripts/generate_openrouter_schematic.py。
  4. 将输出视为示意图/图形摘要草稿,而不是定量数据面板。不要编造实验数值、作者标识、机构标志或缺乏依据的机制。

只有当任务涉及绘图、制图、数据可视化或论文图组装,且并非明确要求使用 OpenRouter 生成 AI 图像时,才继续进行 Python/R 后端确认。

1. 加载清单和核心层

阅读 manifest.yaml。其中声明了 backend 轴、允许的值,以及各值对应的文件路径。

还要阅读 always_load 下列出的所有文件(static/core/contract.md 和 static/core/stance.md)。这些文件包含图形约定、后端确认、运行时缺失规则、隐私规则,以及适用于所有图形任务的默认操作立场。

2. 确定后端 — 阻断式关卡

后端选择会阻断绘图任务,但不应永远打扰同一位用户。按以下顺序确定 backend 值:

  1. 如果当前请求明确选择了 Python 或 R,就使用该后端,并通过 scripts/nature_figure_backend.py set python 或 scripts/nature_figure_backend.py set r 保存选择。
  2. 如果请求提供了明显针对特定语言的输入文件/工作流,就使用对应后端并保存选择。
  3. 否则运行 scripts/nature_figure_backend.py get。如果返回 python 或 r,就使用已保存的偏好。
  4. 如果不存在已保存的偏好,只询问一个简短问题 — Python 还是 R?我会记住并将其设为你的默认选项。 — 然后停止。用户回答后,先保存答案,再继续。
  • python — matplotlib / seaborn。
  • r — ggplot2 / patchwork / ComplexHeatmap。

不要仅凭美观程度猜测或选择后端。只有用户明确要求你选择时,才推荐后端;此时使用 references/backend-selection.md,说明理由,保存选定的后端,然后继续。选定后,所有绘图、预览、导出和视觉 QA 都必须独占使用该后端(参见 static/core/contract.md)。上述明确的 OpenRouter AI 示意图路线不受此关卡限制。

3. 加载匹配的后端片段

确定后端后,阅读对应的片段(static/fragments/backend/python.md 或 static/fragments/backend/r.md)。其中包含仅使用该后端的执行规则和出版级快速入门(rcParams/主题和导出辅助工具)。不要加载另一后端的片段。

4. 使用已加载的材料构建图表

按以下顺序应用已加载的材料:

  1. 图表规范(static/core/contract.md)——在编写任何代码之前,写出核心结论、梳理证据链、判定图表类型,并设定期刊和导出规范。
  2. 默认立场(static/core/stance.md)——优先按图表类型构图,设置主图面板,采用克制的配色,并将统计信息与完整性作为图表的一部分。
  3. 后端片段——仅使用 Python 或 R 快速入门及其执行规则。

图表应服务于科学逻辑;美化应服从于让核心结论清晰、可信且便于审查。

5. 仅在需要时查阅参考资料

references/ 下的文件是深入参考资料,并非默认必读内容。请根据清单中的 references.on_demand 表按需查阅。例如,构建规范时查阅 references/figure-contract.md,了解 Python 配色与辅助函数时查阅 references/api.md,使用 R 时查阅 references/r-workflow.md,了解配色、字体和导出理由时查阅 references/design-theory.md,查找布局或图表方案时查阅 references/common-patterns.md 和 references/chart-types.md,查看真实的 Nature 页面图表类型时查阅 references/nature-2026-observations.md,最终交付前查阅 references/qa-contract.md,了解以面板为先的构建流程(将每个面板作为独立单元绘制,以 1:1 比例审查,再组合成复合图)以及如何将图表作为可审计的套件交付(目录布局、规范版本、源数据可追溯性)时查阅 references/figure-delivery-bundle.md,查阅完整示例时查看 references/tutorials.md / references/demos.md,当图表呈现的是证据链而非单一主张时查阅 references/multipanel-evidence-architecture.md,目标期刊为旗舰刊物 Nature 时查阅 references/nature-article-requirements.md,重新使用他人的绘图脚本之前查阅 references/asset-adaptation.md,使用 AI 辅助制作图形摘要时查阅 references/ai-graphical-abstract-workflow.md。

6. 交付前运行审计工具

scripts/ 中包含无需依赖项的预检和审计工具,可将 references/qa-contract.md 中的文本规则付诸执行:渲染前对源文件运行 validate_figure.py,然后对导出文件运行 audit_pdf_text.py、audit_figure_collisions.py 和 audit_panel_alignment.py。这些工具共用一套退出码约定:0 表示通过,1 表示失败,2 表示用法或 I/O 错误,3 表示因缺少依赖项而未运行,4 表示无法审计。**2、3 和 4 均不代表通过。**工具无法执行检查时会明确说明;将此视为成功会导致交付未经检查的图表。figure_source_data.py 会加载定量面板所用的表格,并记录使用了哪些行以及排除了哪些行;figure_safety.py 会拒绝无法诚实计算的插值或标签位置。请参阅 manifest.yaml 中的 qa_tooling 部分,了解各工具的适用时机。

为什么采用这种拆分

  • 静态层经过版本控制,便于审核。后端门槛现在明确写在清单中,而不再隐藏在说明文字里。
  • 动态层让每次调用的开销都很低:只有所选后端的快速入门内容会进入上下文,只有在某个步骤需要时才会加载 2,600 多行参考资料。
  • 路由器本身刻意保持简短。添加范围时,请更新片段和参考资料,而不是修改此文件。
  • 对于图表的规划(每张图表对应一项主张、面板职责、正文图与补充图),请使用仓库的 figure-planner 技能;对于单个独立绘图的正确性和可读性规则,请使用配套的 figure-style 技能。本技能涵盖图表的制作。

来源:改编自 github.com/Yuan1z0825/nature-skills(技能 nature-figure,Apache-2.0)。为保持此仓库精简,已移除约 30 MB 的演示/图库/图表图集资源包;该资源包保留在上游仓库中。除资源引用和配套技能交叉引用外,本技能的参考层还包含针对比例体系和导出设置的本地修正,其审计脚本则修复了依据本仓库自身图表测定出的缺陷。仓库根目录中的 ATTRIBUTION.md 保存了当前逐文件清单,并由 tests/test_license_shipping.py 检查。

评论

支持 Markdown