nature-figure (Yuan1z0825): a Claude skill for journal-ready scientific figures in Python or R
A skill that makes Claude plan, draw and check manuscript figures in Python or R for Nature-style journals.
- Installs
- 19.3K
- on skills.sh
- Stars
- 51.7K
- on GitHub
- Files
- 60+
- besides SKILL.md
- Updated
- Nov 2026
- last repo commit
nature-figure acts as a router. For every figure job Claude writes a figure contract first (core conclusion, evidence chain, figure type and journal export rules), asks once whether to use Python or R, then draws with matplotlib or seaborn, or ggplot2 and patchwork. It finishes with checks on source code, PDF text size, panel alignment and text collisions. It triggers on requests for scientific figures, multi-panel plots and submission-ready plots, and says it is not for dashboards, data cleaning or statistics-only work.
The skill has 130 files: references, scripts, templates and 85 asset images. It can also draft an AI schematic through OpenRouter when you explicitly ask, which needs your own API key and sends your prompt to that service. See the safety notes for the other things it installs and runs.
Good for
- Researchers preparing multi-panel figures for a paper submission
- Authors who want panel alignment, font size and overlap checked before export
- Teams drafting graphical abstracts or mechanism schematics
Install nature-figure
Claude Code
- 1
Copy this prompt.
Install the nature-figure skill in Claude Code. Run this command: npx skills add Yuan1z0825/nature-skills --skill nature-figure --skill nature-shared --yes --copy Then check that it loaded and tell me how to use it.
- 2
Paste it into Claude Code. It shows the change and asks before running it.
Requires Node.js 18 or newer.
The README's own example installs nature-figure alone. SKILL.md also reads files under ../nature-shared for Nature Machine Intelligence formats and results-argument guidance, so this command adds nature-shared as well. The README says the Python plotting checks need PyMuPDF (python -m pip install -r skills/nature-figure/requirements.txt).
From the project README. Source.
What's in the skill
When it loads
Create, revise, audit, and export manuscript scientific figures in Python or R. Use for 论文配图、科研绘图、多面板图 and submission-ready plots, or explicitly requested AI-generated graphical abstracts and mechanism schematics. Not for interactive dashboards, data cleaning, or statistics-only analysis.
Sections in SKILL.md
- Routing protocol
- 0. Check for graphical-abstract and AI-schematic routes
- 1. Load the manifest and the core layer
- 2. Resolve the plotting backend
- 3. Load the matching backend fragment
- 4. Build the figure using the loaded material
- 5. Reach for references only when needed
Key facts
- Installs on skills.sh
- 19,311 as of 2026-11-02
- Last repo commit
- 2026-11-01
- skills.sh audits
- Gen Agent Trust Hub: pass, Socket: pass, Snyk: pass
What it includes
Conclusion, evidence chain, figure type and journal rules before any code
Loaded for every job from the manifest. Sets a restrained palette, a hero panel and statistics as part of the figure.
Try: “Make a Nature-style multi-panel figure from this CSV, in Python.”
Read ·
Figure contract and default stanceAsks once and remembers your choice
Uses scripts/nature_figure_backend.py to save the choice in ~/.config/nature-skills/nature-figure.json, or the path in NATURE_FIGURE_CONFIG.
Write ·
Backend gate: Python or Rmatplotlib or seaborn, or ggplot2 and patchwork
Once chosen, the backend is exclusive for drawing, previews, export and visual QA.
Runs code ·
Python and R backend fragmentsOne Results-level question per figure
Gives each panel a distinct evidence role instead of redrawing the same metric.
Read ·
Multi-panel evidence architectureStatic checks on the plotting source
Reproducible QA for Python and R plotting source.
Runs code ·
scripts/validate_figure.pyFlags glyphs below the 5 pt floor in the exported PDF
Scans the PDF for text runs that are too small.
Runs code ·
scripts/audit_pdf_text.py1.5 pt tolerance on comparable panels
audit_panel_alignment.py for Matplotlib, panel_alignment.R for patchwork. A FIX BEFORE DELIVERY result blocks export.
Runs code ·
Panel alignment gateFinds overlapping text and marks in the final PDF
Writes a JSON report and an optional marked diagnostic PDF. Needs PyMuPDF.
Runs code ·
scripts/audit_figure_collisions.pyFlagship Nature and Nature Machine Intelligence rules
Covers initial versus production files, display budgets and legend limits.
Read ·
Journal requirement referencesBrief, composition, policy gate, human review, provenance
Treats AI images as draft concepts, not data panels, and tells you to check the target journal's current policy.
Read ·
AI graphical abstract routeDraft a schematic with OpenRouter's Images API
Only when you explicitly ask. The script builds a prompt from your title, abstract text and panel flow, adds any reference images (a local file is base64-encoded into the request), and posts it with OPENROUTER_API_KEY. It saves the images and request_metadata.json. --dry-run prints the request without calling the API.
Runs code ·
scripts/generate_openrouter_schematic.pyHand-built editable SVG diagrams
Uses references/vector-schematic-workflow.md and scripts/audit_svg_schematic.py instead of an AI image.
Write ·
Vector schematic route
From the official docs
Permissions
Medium risk
Claude runs Python or R plotting code and audit scripts that write figure and report files. The optional AI schematic route sends your prompt to OpenRouter with your API key, so keep unpublished data out of it and review all code before running.
What it can do
- Read your data
- Create and change things
- Delete things
- Read-only mode
Watch out for
The AI schematic route sends your manuscript text out
generate_openrouter_schematic.py builds its prompt from your --title, --abstract or --abstract-file and --panel-map, adds any --reference-image (local files are base64-encoded, URLs are passed on) and posts it with a bearer key from OPENROUTER_API_KEY. The skill's reference says not to send confidential manuscript content to OpenRouter without permission. Use --dry-run first and leave unpublished results out of the prompt. github.com
It stores a preference file outside the project
nature_figure_backend.py writes your Python or R choice to ~/.config/nature-skills/nature-figure.json unless NATURE_FIGURE_CONFIG points elsewhere. github.com
A package install is part of the setup
The README tells you to run python -m pip install -r skills/nature-figure/requirements.txt, which installs PyMuPDF, for the collision audit. github.com
Bundled third-party figures have no clear license
The figures4papers files carry a notice that the repository license does not automatically apply. Do not republish them. github.com
The endpoint and key variable can be redirected
The script takes --api-url or SCHEMATIC_IMAGE_API_URL and --api-key-env, so the prompt and the key named there go to whatever address you set. It also downloads image URLs returned in the response. github.com
Technical details
| Talks to | openrouter.ai (only when you ask for an AI schematic; the script can be pointed at another images endpoint) |
|---|---|
| Scopes |
|
Questions
What does nature-figure do?
It makes Claude build a scientific figure from your data or claim: write a figure contract, choose Python or R once, draw a multi-panel figure and run checks on text size, alignment and overlaps before export. It can also draft schematics.
How do I install it?
Use the install box at the top of this page. It installs nature-figure and the shared support folder nature-shared that SKILL.md reads for some journal rules. The Claude app upload is not listed, because the skill needs both folders and the README does not describe that route.
Does it need an API key?
Only for the optional AI schematic route. Set OPENROUTER_API_KEY and the script sends the title, abstract text and panel flow you give it, plus any reference images, to OpenRouter's images endpoint. The skill's own reference says not to send confidential manuscript content to OpenRouter without your permission. Use --dry-run to see the request first. The endpoint can be changed with --api-url or SCHEMATIC_IMAGE_API_URL, and then your key and prompt go to that address. Of the bundled scripts, only this one reads an API key.
Is it safe to use?
It runs Python and R scripts and writes figure files and report files in your working folder. Set it up in a project folder and review the plotting code. The AI schematic route is the one that sends data out: it posts your title, abstract text and panel flow to an images API, so keep unpublished manuscript text out of it unless you accept that.
Can I use the example figures in my paper?
Check first. The skill bundles third-party figures4papers scripts and previews. The notice says they must not be assumed to fall under the repository license and grants no permission to copy or publish them.
Does AI-generated art count as submission-ready?
No. The skill treats AI images as draft concepts, not data. It says a Nature Careers article is not submission clearance and to verify the exact journal's current policy.
Which license does it use?
The sources disagree. The repository's LICENSE file and the root README badge say Apache 2.0, while the skill's README and the figures4papers notice call the repository license MIT. The bundled figures4papers scripts and previews are third-party and are not covered by either, so check the notice before reusing them.
Information
updated Nov 2, 2026
- Repository
- yuan1z0825/nature-skills
- Folder
skills/nature-figure
Sources
Docs, issue trackers and discussions this page is built from.
Show all 8Hide
- README.md · github.com
- nature-figure · skills.sh
- SKILL.md · github.com
- README_EN.md · github.com
- openrouter-image-generation.md · github.com
- THIRD_PARTY_NOTICES.md · github.com
- generate_openrouter_schematic.py · github.com
- nature_figure_backend.py · github.com