yuan1z0825/nature-skills

nature-reader

Build full-paper Chinese-English side-by-side, figure/table/equation-aware, source-grounded Markdown readers for journal or conference papers from PDF, DOI, arXiv, publisher HTML, or pasted text. Use whenever the user asks to translate or read a paper, make 中英文对?

All-time #1531 Trending #881 Hot #6303 First seen May 11, 2026
8-week activity · all time api

Installation

$ npx skills add yuan1z0825/nature-skills --skill nature-reader

Similar popular skills

Related neighbors and high-traction skills in the same topics — useful to compare before installing.

Also in this package

Other skills from yuan1z0825/nature-skills · top by installs.

npx skills add yuan1z0825/nature-skills

Browse all from yuan1z0825/nature-skills

More details

Agent compatibility

Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.

Claude Code Not declared
Cursor Not declared
Codex Not declared
GitHub Copilot Not declared
Windsurf Not declared
Gemini CLI Not declared
Cline Not declared
OpenCode Not declared

Also listed on

Alternate registries and mirrors of this skill.

Repository health

Stars 40.2K
License LICENSE
Default branch main
Open issues 0
Status Active

Skill metadata

Parsed from SKILL.md frontmatter.

Version2.1.1
More metadata
version
2.1.1
author
Community contribution, refactored into static/dynamic layers

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 4,917 B
  • docs README.md 2,108 B
  • docs SUMMARY.md 970 B

History

  1. First seen on skills.sh
  2. First recorded snapshot · 9,800 installs

SKILL.md

Full-Paper Markdown Reader — Router

This skill is split into two layers:

  • A static layer under static/ that holds versioned, reusable content fragments (core principles, the reading workflow, the output contract, and per-source-format extraction guidance).
  • A dynamic layer (this file plus manifest.yaml) that detects the request's source format and loads only the fragments needed for the current job.

Do not try to apply the reading 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](manifest.yaml). It declares the source_format axis, the allowed values, and the file paths each value maps to.

Also read every file listed under always_load. These hold the core principles, the reading workflow, and the output contract that apply to every reading job, plus the shared Terminology Ledger used to build the recurring-term table.

2. Detect the source format

Decide the source_format value using the manifest's detect: hint and the user's input:

  • pdf-text — selectable-text PDF. Default.
  • scanned-pdf — image-only or OCR-required PDF.
  • html — publisher or preprint HTML page.
  • doi-arxiv — a bare DOI or arXiv link that must be resolved first.
  • pasted-text — pasted prose or notes with no retrievable original layout.

State the detected value in one short line to the user before processing, so they can correct you cheaply. A source may map to more than one value (for example a DOI that resolves to a PDF); load the resolution fragment first, then the fragment for the resolved artifact.

3. Load the matching fragment(s)

Read the file mapped for the detected source_format. Do not read every fragment in static/. Load only what step 2 selected.

4. Build the reader using the loaded material

Apply the loaded fragments in this priority order:

  1. Core principles (core/principles.md) — bilingual reader by default, translate for meaning, never degrade to a summary, copyright caution.
  2. Source-format fragment — how to extract text, figures, and tables for this input.
  3. Reading workflow (core/workflow.md) — the six-step source-map-first process.
  4. Output contract (core/output-contract.md) — required files and the pre-response verification checklist.

Build the Terminology Ledger as you translate (../nature-shared/core/terminology-ledger.md); it becomes the paper.md recurring-term table and the source_map.json glossary.

If constraints prevent full processing, still create a draft reader and label missing pages, figures, or low-confidence crops in translation_notes.md. Do not switch to summary mode.

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:

  • detailed figure/table cropping and placement → references/figure-extraction.md.
  • exact field schema for paper.md / source_map.jsonreferences/output-spec.md.
  • equations, mathematical expressions, chemical formulae, or image-only formulae → references/equation-handling.md.
  • answering follow-up questions with source citations → references/grounding-rules.md.

Why this split

  • The static layer is versioned and reviewable. Adding a new source format is one new fragment plus one manifest line.
  • The dynamic layer keeps each invocation cheap: only the fragment relevant to this input enters context.
  • The router itself is short on purpose. Update fragments, not this file, when adding scope.
  • This structure mirrors nature-writing and nature-polishing so shared content lives in nature-shared/.