Skip to content
Agentmart
Submit a tool

nature-figure

Create, revise, audit, and export submission-grade scientific figures for Nature-family and other high-impact venues in Python (matplotlib/seaborn) or R…

Skill by ypan50918-ops

IndexedApache-2.0
Write a review

Install

Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.

npx agentmarket install skill/ypan50918-ops-nature-figure

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

Create, revise, audit, and export submission-grade scientific figures for Nature-family and other high-impact venues in Python (matplotlib/seaborn) or R (ggplot2/patchwork/ComplexHeatmap), including multi-panel plots, figures4papers-style work, and journal-ready SVG/PDF/TIFF outputs. Use for paper or scientific plots, manuscript data visualization, 论文配图、学术写作配图、科研绘图、科研作图、画图、作图、出图、论文图表、可视化. Define the conclusion, evidence logic, data integrity, template compatibility, export needs, and reviewer risks before plotting; honor or persist the Python/R backend choice. Also use the separate OpenRouter GPT Image 2 route for explicit AI-generated graphical abstracts, mechanism diagrams, concept schematics, 论文示意图、机制示意图、图形摘要; this route skips backend choice and treats outputs as drafts. Do not use for interactive dashboards, statistics-only analysis, data cleaning, literature review, code debugging, pure photo editing, or Illustrator/Figma-first infographics without manuscript-figure intent.

Use cases: documents, design, backend, data

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.

Tools
No tools found
Secrets
None asked for
Install scripts
None found
Runs as
Python package

Network hosts it talks to 1

  • codeload.github.com · found in install command

Files it touches

  • ~/.claude/skills/nature-figure

What's inside

Skill name
nature-figure
Description
Create, revise, audit, and export submission-grade scientific figures for Nature-family and other high-impact venues in Python (matplotlib/seaborn) or R (ggplot2/patchwork/ComplexHeatmap), including multi-panel plots, figures4papers-style work, and journal-ready SVG/PDF/TIFF outputs. Use for paper or scientific plots, manuscript data visualization, 论文配图、学术写作配图、科研绘图、科研作图、画图、作图、出图、论文图表、可视化. Define the conclusion, evidence logic, data integrity, template compatibility, export needs, and reviewer risks before plotting; honor or persist the Python/R backend choice. Also use the separate OpenRouter GPT Image 2 route for explicit AI-generated graphical abstracts, mechanism diagrams, concept schematics, 论文示意图、机制示意图、图形摘要; this route skips backend choice and treats outputs as drafts. Do not use for interactive dashboards, statistics-only analysis, data cleaning, literature review, code debugging, pure photo editing, or Illustrator/Figma-first infographics without manuscript-figure intent.
License
Apache-2.0
Instructions
74 lines in SKILL.md · view on GitHub

Before installing

  • Ships executable scripts

Files (114)

  • .gitignore
  • README.md
  • README_EN.md
  • SKILL.md
  • atlas-01-bar-charts.png · assets/chart-atlas/
  • atlas-02-line-trends.png · assets/chart-atlas/
  • atlas-03-heatmaps.png · assets/chart-atlas/
  • atlas-04-scatter-bubble.png · assets/chart-atlas/
  • atlas-05-radar-polar.png · assets/chart-atlas/
  • atlas-06-distributions.png · assets/chart-atlas/
  • atlas-07-forest-interval.png · assets/chart-atlas/
  • atlas-08-area-stacked.png · assets/chart-atlas/
  • atlas-09-image-plates.png · assets/chart-atlas/
  • atlas-10-network-matrix.png · assets/chart-atlas/
  • Dispersion_motivation.png · assets/figures4papers/assets/
  • Dispersion_observation.png · assets/figures4papers/assets/
  • Dispersion_observation_distillation.png · assets/figures4papers/assets/
  • ImmunoStruct_contrastive.png · assets/figures4papers/assets/
  • ImmunoStruct_results_CEDAR.png · assets/figures4papers/assets/
  • ImmunoStruct_results_IEDB.png · assets/figures4papers/assets/
  • ImmunoStruct_schematic.png · assets/figures4papers/assets/
  • RNAGenScape_schematic.png · assets/figures4papers/assets/
  • ablation.png · assets/figures4papers/figure_CellSpliceNet/figures/
  • comparison.png · assets/figures4papers/figure_CellSpliceNet/figures/
  • comparison_human.png · assets/figures4papers/figure_CellSpliceNet/figures/
  • comparison_worm.png · assets/figures4papers/figure_CellSpliceNet/figures/
  • plot_ablation.py · assets/figures4papers/figure_CellSpliceNet/
  • plot_comparison.py · assets/figures4papers/figure_CellSpliceNet/
  • plot_comparison_cross_species.py · assets/figures4papers/figure_CellSpliceNet/
  • diffusion_swiss_roll.py · assets/figures4papers/figure_Cflows/
  • diffusion_swiss_roll.png · assets/figures4papers/figure_Cflows/figures/
  • fig2_comparison_GeneRegulatory.pdf · assets/figures4papers/figure_Cflows/figures/
  • fig2_comparison_GeneRegulatory.png · assets/figures4papers/figure_Cflows/figures/
  • fig2_comparison_Trajectory.pdf · assets/figures4papers/figure_Cflows/figures/
  • fig2_comparison_Trajectory.png · assets/figures4papers/figure_Cflows/figures/
  • figX_comparison_Ablation.pdf · assets/figures4papers/figure_Cflows/figures/
  • figX_comparison_Ablation.png · assets/figures4papers/figure_Cflows/figures/
  • plot_comparison_Ablation.py · assets/figures4papers/figure_Cflows/
  • plot_comparison_GeneRegulatory.py · assets/figures4papers/figure_Cflows/
  • plot_comparison_Trajectory.py · assets/figures4papers/figure_Cflows/
  • idea.png · assets/figures4papers/figure_Dispersion/figures/
  • illustration.png · assets/figures4papers/figure_Dispersion/figures/
  • plot_idea.py · assets/figures4papers/figure_Dispersion/
  • plot_illustration.py · assets/figures4papers/figure_Dispersion/
  • freq_prior.png · assets/figures4papers/figure_FPGM/figures/
  • plot_freq_prior.py · assets/figures4papers/figure_FPGM/
  • bars_ablation_Cancer.png · assets/figures4papers/figure_ImmunoStruct/figures/
  • bars_ablation_IEDB.png · assets/figures4papers/figure_ImmunoStruct/figures/
  • bars_comparison_Cancer.png · assets/figures4papers/figure_ImmunoStruct/figures/
  • bars_comparison_IEDB.png · assets/figures4papers/figure_ImmunoStruct/figures/
  • plot_bars.py · assets/figures4papers/figure_ImmunoStruct/
  • raw_data.py · assets/figures4papers/figure_ImmunoStruct/
  • manifold.png · assets/figures4papers/figure_RNAGenScape/figures/
  • manifold_holes.png · assets/figures4papers/figure_RNAGenScape/figures/
  • results_comparison_optimization.png · assets/figures4papers/figure_RNAGenScape/figures/
  • results_comparison_speed.png · assets/figures4papers/figure_RNAGenScape/figures/
  • results_sweep.png · assets/figures4papers/figure_RNAGenScape/figures/
  • plot_comparison.py · assets/figures4papers/figure_RNAGenScape/
  • plot_hole_manifold.py · assets/figures4papers/figure_RNAGenScape/
  • plot_manifold.py · assets/figures4papers/figure_RNAGenScape/
  • …and 54 more

SKILL.md (first lines)

# Nature Figure Making — Router

This skill is split into two layers:

- A **static layer** under `static/` that holds versioned, reusable content fragments (the figure contract and default stance, plus a per-backend quick-start for Python and R).
- A **dynamic layer** (this file plus `manifest.yaml`) that detects the plotting backend and loads only the fragment needed for the current job. The large design, API, pattern, and QA material lives in on-demand references.

Do not try to apply the figure logic from memory or from this router. Always load fragments from disk as described below.

## Routing protocol

Follow these steps every time the skill is invoked.

### 0. Check for the OpenRouter AI-schematic route

If the user explicitly asks to generate a manuscript schematic, graphical abstract, mechanism diagram, concept illustration, or paper schematic with OpenRouter, GPT Image 2, an image-generation API, or similar wording, do **not** ask "Python or R?". This is a non-plotting AI-schematic route.

For this route:

1. Read [manifest.yaml](manifest.yaml) and the `always_load` files.
2. Read [references/openrouter-image-generation.md](references/openrouter-image-generation.md).
3. Use [scripts/generate_openrouter_schematic.py](scripts/generate_openrouter_schematic.py) when the user wants a real API call or a reproducible payload.
4. Treat output as a draft schematic / graphical abstract, not as a quantitative data panel. Do not invent experimental values, author logos, institutional marks, or unsupported mechanisms.

Only continue to the Python/R backend gate for plotting, charting, data visualization, or manuscript figure assembly tasks that are not explicit OpenRouter AI image-generation requests.

### 1. Load the manifest and the core layer

Read [manifest.yaml](manifest.yaml). It declares the `backend` axis, the allowed values, and the file paths each value maps to.

Also read every file listed under `always_load` (`static/core/contract.md` and `static/core/stance.md`). These hold the figure contract, the backend gate, the missing-runtime rule, the privacy rule, and the default operating stance that apply to every figure job.

### 2. Resolve the backend — a blocking gate

Backend selection blocks plotting tasks, but it should not annoy the same user forever. Decide the `backend` value in this order:

1. If the current request explicitly chooses Python or R, use that backend and save it with `scripts/nature_figure_backend.py set python` or `scripts/nature_figure_backend.py set r`.
2. If the request provides a clearly language-specific input file/workflow, use that backend and save it.
3. Otherwise run `scripts/nature_figure_backend.py get`. If it returns `python` or `r`, use the saved preference.
4. If no saved preference exists, ask exactly one concise question — **Python or R? I will remember this as your default.** — and stop. After the user answers, save the answer before proceeding.

- `python` — matplotlib / seaborn.
- `r` — ggplot2 / patchwork / ComplexHeatmap.

Do not guess or choose a backend by aesthetics alone. Only recommend a backend when the user explicitly asks you to choose; then use `references/backend-selection.md`, state the reason, save the selected backend, and proceed. Once selected, the backend is **exclusive** for all drawing, previewing, exporting, and visual QA (see `core/contract.md`). This gate does not apply to the explicit OpenRouter AI-schematic route above.

### 3. Load the matching backend fragment

After the backend is resolved, Read the mapped fragment (`static/fragments/backend/python.md` or `static/fragments/backend/r.md`). It carries the backend-only execution rule and the publication quick-start (rcParams/theme and export helper). Do **not** load the other backend's fragment.

### 4. Build the figure using the loaded material

Apply the loaded material in this order:

1. Figure contract (`core/contract.md`) — write the core conclusion, map the evidence chain, classify the archetype, set the journal/export contract, before any code.
2. Default stance (`core/stance.md`) — archetype-first composition, hero panel, restrained palette, statistics/integrity as part of the figure.
3. Backend fragment — the exclusive Python or R quick-start and execution rule.
4. Template adaptation — when reusing bundled examples or user-provided plotting code, load `references/asset-adaptation.md` before mapping data or changing the script.
5. Delivery preflight — before final delivery, load `references/qa-contract.md`, run `scripts/validate_figure.py` on the plotting source, then inspect the rendered outputs at final size.

The chart serves the scientific logic; aesthetic polish is subordinate to making the core conclusion clear, defensible, and reviewable.

### 5. Reach for references only when needed

The files under `references/` are deep references, not defaults. Open them on demand per the `references.on_demand` table in the manifest — for example `references/figure-contract.md` to build the contract, `references/asset-adaptation.md` to reuse a plotting template safely, `references/template-catalog.md` for validated Python CSV templates, `references/api.md` for the Python palette and helpers, `references/r-workflow.md` for R, `references/design-theory.md` for color/typography/export rationale, `references/common-patterns.md` and `references/chart-types.md` for layout/chart recipes, `references/nature-2026-observations.md` for real Nature page archetypes, `references/qa-contract.md` before final delivery, and `references/tutorials.md` / `references/demos.md` for worked examples.

## Why this split

- The static layer is versioned and reviewable. The backend gate is now explicit in the manifest rather than buried in prose.
- The dynamic layer keeps each invocation cheap: only the selected backend's quick-start enters context, and the 2,600+ lines of reference depth load only when a step needs them.
- The router itself is short on purpose. Update fragments and references, not this file, when adding scope.
- This structure mirrors `nature-writing`, `nature-polishing`, `nature-reader`, and `nature-paper2ppt`.

From ypan50918-ops/Yuan1z0825-nature-skills, Apache-2.0.

More from ypan50918-ops/Yuan1z0825-nature-skills

Signals

Stars
0
Forks
1
Open issues
0
Last commit (this folder)
Jul 18, 2026 (3 months ago)

From GitHub (fetched Oct 24, 2026).

Details

License
Apache-2.0
First seen
Oct 24, 2026
Last checked
Oct 24, 2026

More from ypan50918-ops

Cite this page

nature-figure skill. Agent Mart. https://agentmart.dev/skills/ypan50918-ops-nature-figure (last updated 2026-10-24)