Open-source project
Yuan1z0825/nature-skills avatar
Yuan1z0825/nature-skills

nature-skills: Reusable Research Procedures for Codex and Claude Code

Nature Skills gives research agents reusable procedures for academic writing, literature work, scientific figures, and reproducible research outputs.

45,252 stars2,364 forksPythonApache-2.0

At a glance

What is it?
nature-skills packages academic writing, literature reading, figure drafting and reviewer simulation into SKILL.md folders you install into an agent. It is a prompt-and-script library, not a Python package, and its README is written mostly in Chinese.
Who is it for?
Adopt nature-skills if you already drive Codex or Claude Code and want paper reading, polishing, figure drafting or reviewer simulation to follow a written procedure instead of a fresh prompt each time. Skip it if you want a pip-installable library, a hosted API, or something you can call from a Python script without an agent in the loop.
Can I use it commercially?
Yes. Apache-2.0 is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
Is it still maintained?
Yes. The repository last received commits 1 day ago.
What is it written in?
Mainly Python, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on September 29, 2026, and from our analysis. They are not legal advice.

DEEP OPEN-SOURCE ANALYSIS

What nature-skills actually packages

The repository is a collection of skill folders under skills/, each organized around a SKILL.md file. The README describes them as reusable research skills aimed at AI researchers, with an emphasis on solving real problems, verifiable workflows and outputs you can use directly. Named skills in the README include nature-reader, nature-paper2ppt, nature-polishing, nature-writing, nature-response and nature-figure. There is also nature-shared, which the README says other skills read from and which is deliberately excluded from the skill index as a standalone trigger.

The intended user is someone who already works through an agent. The README's quick-start table pairs a task with a sentence you paste into the agent: turn a PDF into a bilingual Markdown reader, build a Chinese group-meeting slide deck from a paper, rewrite a Chinese paragraph into Nature-style English, draft an abstract and introduction from results and figures, simulate three mutually blind reviewer reports, write point-by-point responses to a revision email, or draft a submission-grade figure. If you do not know which skill applies, the README says to describe the task and let the agent choose; if you do know, you name it in the prompt.

That framing matters for evaluation. This is not a library you import. The value sits in the written procedure plus whatever scripts, references and static assets each skill folder carries, and the agent is the runtime.

SKILL.md as the unit of installation

Every top-level directory under skills/ is an installable unit, and the frontmatter name is what the installer matches on. The README warns about a mismatch here: the directory nature-proposal-writer currently displays as researchwrite, so you select skills by the frontmatter name shown by --list, not by the folder name you saw on GitHub. That is a small but real trap, because a failed install looks like a broken repository rather than a naming mismatch.

The README also separates what the installer manages from what it does not. npx skills moves skill files; optional runtime dependencies such as Python, R, a browser or MCP servers still have to be configured separately. So a skill that drafts figures may assume a Python environment you have not built, and nothing in the install step will tell you that until the skill runs.

nature-shared is the piece that breaks naive installs. The README states that nature-reader, nature-paper2ppt, nature-polishing and nature-writing should be installed together with nature-shared, because those skills read from it. Install one of them alone and the agent is following a procedure whose supporting files are missing.

Installing one skill with npx skills

The README's primary path requires Node.js 18 or higher and does not require a global CLI install. Start by listing what the repository exposes, using the frontmatter names:

bash
npx skills add Yuan1z0825/nature-skills --list

Pick the skill that matches your current task. Omitting --global installs it for the current project only; adding --global makes it available across projects. This example installs the figure skill for Codex and copies the files rather than linking them:

bash
npx skills add Yuan1z0825/nature-skills --agent codex --skill nature-figure --yes --copy

For skills that depend on the shared package, select both in one command. The README gives this exact form for nature-reader:

bash
npx skills add Yuan1z0825/nature-skills --global --agent codex \
  --skill nature-reader --skill nature-shared --yes --copy

Afterwards, confirm what landed and keep it current. The README shows JSON output for inspection and a global update command:

bash
npx skills list --global --agent codex --json
npx skills update --global --yes

You can also update a single skill or only the skills in the current project with npx skills update nature-reader --global --yes and npx skills update --project --yes. A wildcard install, npx skills add Yuan1z0825/nature-skills --global --agent codex --skill '*' --yes --copy, pulls the full set including nature-shared, and npx skills add Yuan1z0825/nature-skills --all targets every agent the CLI supports. Once installed, the first real use is a plain request in the agent, for example asking it to turn a PDF into a figure-aware bilingual Markdown reader while naming the skill you installed.

Claude Code needs a wrapper, not the sync script

The README is explicit that Claude Code cannot use scripts/update-codex-skills.sh, because that script only syncs into ~/.codex/skills/. The recommended alternative is to keep a stable local clone and point a subagent or slash command at the real skills/*/SKILL.md paths, so the skill directory structure, references/, static/, manifest.yaml, scripts, assets and skills/nature-shared/ all stay readable.

The clone step is ordinary git, and the wrapper is a Markdown file with frontmatter that tells the subagent which SKILL.md governs the task:

bash
mkdir -p ~/ai-skills
cd ~/ai-skills
git clone https://github.com/Yuan1z0825/nature-skills.git
mkdir -p ~/.claude/agents

The wrapper file itself lives at ~/.claude/agents/nature-reader.md and instructs the subagent to read ~/ai-skills/nature-skills/skills/nature-reader/SKILL.md first, pull supporting files from that folder and from skills/nature-shared/ only when needed, and not to substitute a generic paper-reading response. A slash-command variant goes in ~/.claude/commands/nature-reader.md and passes $ARGUMENTS through, so /nature-reader followed by your request works in a session. To install another skill, the README says to swap nature-reader for the corresponding directory name.

This is more manual than the npx path, and the README treats that as the cost of not flattening the skill layout. If you want one-command installation, Claude Code is the wrong entry point; use the npx route with a Codex-style agent instead.

Where the project is thin and where it is opinionated

The README spends several sections on the founder, a GPT and Claude top-up card shop, a paid community, a Douyin video channel and a WeChat group before it reaches installation. That commercial layer sits inside the same document as the technical instructions, and it is the first thing a reader encounters. For an engineer evaluating this for a lab, that is a signal about where maintenance attention goes, and it is worth reading the repository's own docs rather than the README's marketing sections.

No releases are listed for this repository, and no last push date is given, so there is no evidence here about release cadence. The installer is a third-party CLI, npx skills, not something the project ships. That means version drift between the CLI and the skill frontmatter is possible, and the README's own warning about researchwrite versus nature-proposal-writer shows the naming layer is already loose.

The project is also opinionated about how research work should happen. Section 3 argues that nearly any practical tool can be distilled into a standardized process, and that a standardized process can be packaged as a reusable skill. It even suggests sending the repository URL to Codex so the agent learns the design and builds new skills for your field. That is a plausible workflow, but it is a claim about the agent's ability to generalize from the repository, not a documented feature with a test behind it.

One more boundary: the README states that npx skills manages skill files only. Python, R, browser or MCP dependencies are your problem. A skill that looks self-contained may still fail on a machine without the right interpreter or service.

nature-skills compared with a plain prompt library

The obvious alternative is keeping your own folder of prompt templates and pasting the relevant one into the agent before each task. The difference in approach is that nature-skills binds a procedure to files the agent is told to read: SKILL.md as the governing workflow, plus references/, static/, manifest.yaml, scripts and the shared package. A prompt template is text you carry between tools; a skill folder is a directory the agent resolves paths against, which is why the Claude Code instructions insist on keeping the clone intact instead of copying SKILL.md somewhere convenient.

The second alternative is a conventional Python library that exposes functions for paper parsing or figure generation. That gives you a stable API and testability, and it is the right choice if you want the work to run in CI or in a script without an agent. nature-skills does not offer that surface. Its outputs are agent artifacts (a Markdown reader, a slide deck, reviewer reports, a figure draft), and the README's own framing is that the interesting part is the procedure, not a callable function.

A third comparison is the Science Skills effort the README says Google DeepMind released after drawing on this project's citation system, script ideas and skill design philosophy. The README presents that as validation. Read it as a description of overlap: if a large lab is building in the same direction, the differentiating factor for nature-skills is its specific skill set and its Chinese-language academic workflows, not the general idea of skill folders.

Licence and the cost of keeping skills current

The repository is Apache-2.0, which permits commercial and academic use and requires you to preserve the licence and attribution notices. It does not give legal advice to read it that way; if you plan to redistribute a modified skill set inside a product, have someone check the NOTICE and attribution requirements against your distribution. The README's own commercial sections are separate from the licence and do not change what Apache-2.0 grants you over the code.

Upgrade cost is low but not zero. The npx skills update commands handle the skill files, and the README shows both a global update and a single-skill update. The parts that do not update themselves are the runtime dependencies and any wrapper you wrote for Claude Code, because those wrappers hardcode paths like ~/ai-skills/nature-skills/skills/nature-reader/SKILL.md. If a skill directory is renamed, the wrapper keeps pointing at the old path and the subagent silently loses its governing workflow.

Because the frontmatter name and the directory name can diverge, pinning matters more than usual. If you install a subset, record which frontmatter names you selected and which of them need nature-shared, so a later update does not leave a skill without its shared dependency. There is no release list to pin against, so your record is the version control.

Editorial conclusion

Adopt nature-skills if you already drive Codex or Claude Code and want paper reading, polishing, figure drafting or reviewer simulation to follow a written procedure instead of a fresh prompt each time. Skip it if you want a pip-installable library, a hosted API, or something you can call from a Python script without an agent in the loop. Before committing, run npx skills add Yuan1z0825/nature-skills --list to see the actual frontmatter names, then install one skill plus nature-shared and read its SKILL.md to check whether the workflow matches how your group writes.

Frequently asked questions

How do I install nature-skills for Codex?

Install Node.js 18 or higher, then run npx skills add Yuan1z0825/nature-skills --list to see the available frontmatter names and npx skills add Yuan1z0825/nature-skills --agent codex --skill nature-figure --yes --copy for a single skill. Add --global for cross-project use, and include --skill nature-shared whenever you install nature-reader, nature-paper2ppt, nature-polishing or nature-writing.

Can nature-skills be used with Claude Code?

Yes, but not through scripts/update-codex-skills.sh, which only syncs to ~/.codex/skills/. The README recommends cloning the repository to a stable path and creating a subagent or slash command that reads the real skills/*/SKILL.md file, so the references, static assets, manifest.yaml and nature-shared package stay accessible.

What is the nature figure skill?

nature-figure is one of the skills in the repository, and the README's quick-start table lists it for generating a submission-grade research figure or paper schematic draft from a described method and results. It installs like the other skills, for example with npx skills add Yuan1z0825/nature-skills --agent codex --skill nature-figure --yes --copy.

What does the nature polishing skill do?

The README pairs nature-polishing with the task of rewriting a Chinese paragraph into Nature-style English while keeping the academic meaning unchanged. Like nature-reader, nature-paper2ppt and nature-writing, it should be installed together with nature-shared because it reads from that shared package.

Is nature-skills a Python package I can import?

No. It is a set of skill folders organized around SKILL.md files, and the primary installation path is the npx skills CLI, which manages skill files only. Optional Python, R, browser or MCP dependencies have to be configured separately, so an agent is the runtime rather than a Python import.

Official sources

  1. Official README
  2. Project repository
Community notes

Community notes