nature-figure
yuan1z0825/nature-skills
Submission-grade Nature/high-impact journal figure workflow for Python or R.
What is nature-figure?
Creates publication-ready scientific figures for Nature-family and other high-impact journals using Python (matplotlib/seaborn) or R (ggplot2/patchwork/ComplexHeatmap). Use when you need to create, revise, audit, or polish manuscript figures, multi-panel plots, and journal-ready SVG/PDF/TIFF outputs. Enforces explicit backend selection and applies a figure contract before any plotting.
- Routes to Python (matplotlib/seaborn) or R (ggplot2/patchwork/ComplexHeatmap) based on explicit user choice
- Enforces a figure contract: define conclusion, evidence logic, export needs, and review risks before plotting
- Applies archetype-first composition with restrained palette and statistics integrity
- Generates publication-ready SVG/PDF/TIFF exports optimized for high-impact journals
- Provides backend-specific quick-starts and execution rules for consistent, reviewable output
- Blocks plotting until backend is explicitly selected; no defaults or guessing
How to install nature-figure
npx skills add https://github.com/yuan1z0825/nature-skills --skill nature-figure- Python with matplotlib and seaborn installed (for Python backend), or R with ggplot2, patchwork, and ComplexHeatmap (for R backend)
- Explicit choice of Python or R before skill invocation
How to use nature-figure
- 1.Choose your plotting backend: Python or R (you will be asked if not specified)
- 2.Read the figure contract from static/core/contract.md to define your figure's conclusion, evidence chain, and export requirements
- 3.Load the matching backend fragment (python.md or r.md) for backend-specific execution rules and quick-start
- 4.Apply the default stance from static/core/stance.md: archetype-first composition, hero panel, restrained palette
- 5.Build your figure using the selected backend with the loaded material and references as needed
- 6.Export to journal-ready format (SVG/PDF/TIFF) using the backend fragment's export helper
- 7.Run QA checks against the figure contract before final delivery
Use cases
- Creating multi-panel figures for Nature, Science, or Cell submissions
- Revising and auditing existing manuscript plots for journal compliance
- Generating figures for academic papers with explicit evidence chains and conclusions
- Exporting high-resolution scientific plots in journal-required formats (SVG/PDF/TIFF)
- Polishing data visualizations to meet submission-grade standards before peer review
- Researchers and scientists preparing manuscripts for high-impact journals
- Academic writers creating figures for papers and dissertations
- Data scientists building publication-ready scientific visualizations
- Anyone needing submission-grade, defensible figures with clear evidence logic
nature-figure FAQ
The skill will ask you exactly one question: 'Python or R?' and stop. You must choose explicitly before any plotting begins. No defaults or guessing.
No. The backend is exclusive for all drawing, previewing, exporting, and visual QA. Choose one backend per figure job.
Ask the skill to recommend a backend, and it will consult references/backend-selection.md, state the reason, and proceed with your chosen backend.
No. This skill is for submission-grade scientific figures for manuscripts and papers. It is not designed for dashboards or Illustrator/Figma-first infographics.
References load on demand: use references/figure-contract.md for the contract, references/design-theory.md for color/typography/export rationale, references/qa-contract.md before final delivery, and references/tutorials.md for worked examples.
Full instructions (SKILL.md)
Source of truth, from yuan1z0825/nature-skills.
name: nature-figure description: >- Submission-grade Nature/high-impact journal figure workflow for Python or R. Use whenever the user asks to create, revise, audit, or polish manuscript figures, multi-panel scientific plots, figures4papers-style matplotlib plots, or journal-ready SVG/PDF/TIFF outputs, especially for Nature-family or other high-impact journals. Before plotting, define the figure's conclusion, evidence logic, export needs, and review risks. If the user has not chosen Python or R, ask "Python or R?" and stop. Use only the selected backend for figure generation, previewing, exporting, and QA. Supports matplotlib/seaborn and ggplot2/patchwork/ComplexHeatmap. Not for dashboards or Illustrator/Figma-first infographics. Also trigger on general academic-writing figure needs even without the word "Nature", such as making figures/plots for a paper, scientific/academic plotting, data visualization for a manuscript, and Chinese phrasings like 论文配图、学术写作配图、科研绘图、科研作图、画图、作图、出图、论文图表、可视化. version: 2.0.0 author: Community contribution, refactored into static/dynamic layers
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 five steps every time the skill is invoked.
1. Load the manifest and the core layer
Read 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 everything else. Decide the backend value only from an explicit user choice or a clearly language-specific input file/workflow:
python— matplotlib / seaborn.r— ggplot2 / patchwork / ComplexHeatmap.
If the user has not explicitly chosen, ask exactly one concise question — Python or R? — and stop. Do not default, guess, generate mock data, or write scripts before the answer. Only recommend a backend when the user explicitly asks you to choose; then use references/backend-selection.md, state the reason, and proceed. Once selected, the backend is exclusive for all drawing, previewing, exporting, and visual QA (see core/contract.md).
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:
- Figure contract (
core/contract.md) — write the core conclusion, map the evidence chain, classify the archetype, set the journal/export contract, before any code. - Default stance (
core/stance.md) — archetype-first composition, hero panel, restrained palette, statistics/integrity as part of the figure. - Backend fragment — the exclusive Python or R quick-start and execution rule.
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/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, andnature-paper2ppt.
Related skills
More from yuan1z0825/nature-skills and the wider catalog.

nature-polishing
Polish academic manuscripts into Nature-style English with section-specific guidance and LaTeX layout fixes.

nature-paper2ppt
Convert research papers into polished Nature-style Chinese PPTX presentations with figures, speaker notes, and self-review.

nature-data
Prepare Nature-ready data availability statements, repository plans, and FAIR metadata for academic manuscripts.

nature-citation
Add strict Nature/CNS citations to manuscript text by searching flagship journals and exporting reference-manager-ready outputs.

nature-response
Draft, audit, and revise point-by-point responses to Nature journal reviewer comments and revision requests.

nature-writing
Draft and structure Nature-style scientific manuscripts from raw claims, results, and notes.