nature-reader
Build full-paper Chinese-English side-by-side, figure/table-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 中英文对照/原文对照/全文翻译解读, extract figures or tables into the right positions, preserve figure/table placement near relevant prose, or keep exact source anchors for every block. This skill must not degrade into a summary-only output unless the user explicitly
Security Assessment
About nature-reader
nature-reader builds full-paper, Chinese-English side-by-side, figure- and table-aware, source-grounded Markdown readers for journal or conference papers from PDF, DOI, arXiv, publisher HTML, or pasted text. It is triggered whenever a user asks to translate or read a paper, make bilingual side-by-side or full-text readings, extract figures or tables into their correct positions, preserve figure and table placement near the relevant prose, or keep exact source anchors for every block. It also responds to general paper-reading and translation requests, including Chinese phrasings, even without the word Nature, and must not degrade into summary-only output unless the user explicitly asks for a summary.
The skill is structured as a router split into two layers. A static layer under static/ holds versioned, reusable content fragments covering core principles, the reading workflow, the output contract, and per-source-format extraction guidance. A dynamic layer, consisting of this router file plus manifest.yaml, detects the request's source format and loads only the fragments needed for the current job. The reading logic is deliberately not applied from memory or from the router itself; fragments are always loaded from disk. This split keeps the static layer versioned and reviewable, keeps each invocation cheap by loading only the relevant fragment, and mirrors the sibling nature-writing and nature-polishing skills so shared content lives in a common _shared location.
The routing protocol has five steps performed every invocation. First, read manifest.yaml and every file listed under always_load, which hold the core principles, reading workflow, output contract, and the shared Terminology Ledger. Second, detect the source_format value (pdf-text as the default, plus scanned-pdf, html, doi-arxiv, and pasted-text) using the manifest's detect hint and state it in one line so the user can correct it cheaply; a source may map to more than one value, in which case the resolution fragment is loaded first. Third, load only the matching fragment(s) rather than every file. Fourth, build the reader by applying core principles, then the source-format fragment, then the six-step source-map-first reading workflow, then the output contract, building the Terminology Ledger as translation proceeds to populate the recurring-term table and source_map.json glossary. Fifth, open the on-demand references for figure/table cropping, output schema, or grounding rules only when needed. If constraints prevent full processing, it still creates a draft reader and labels missing pages, figures, or low-confidence crops in translation_notes.md rather than switching to summary mode.
FAQ
What kind of output does nature-reader produce?
It builds full-paper, Chinese-English side-by-side, figure- and table-aware, source-grounded Markdown readers that preserve figure and table placement near relevant prose and keep exact source anchors for every block. It does not degrade to a summary unless the user explicitly asks for one.
Which source formats does it support?
PDF, DOI, arXiv, publisher HTML, and pasted text. The detected source_format can be pdf-text (the default), scanned-pdf, html, doi-arxiv, or pasted-text, and a source may map to more than one value, such as a DOI that resolves to a PDF.
Does it work only on Nature papers?
No. It triggers on general paper-reading and translation requests even without the word Nature, including Chinese phrasings like reading or translating an academic paper, literature reading, or asking for help reading a paper.
Why does the skill load fragments from disk instead of working from the router?
The router is intentionally short and the reading logic must not be applied from memory. Fragments are loaded from disk so the static layer stays versioned and reviewable and each invocation only pulls in the fragment relevant to the current input.
What happens if a paper cannot be fully processed?
It still creates a draft reader and labels missing pages, figures, or low-confidence crops in translation_notes.md, rather than switching to summary mode.
All Files
16 filesInstall nature-reader
Quick Setup:
- Copy the skill folder to
.claude/skills/ - Claude will automatically detect and use the skill
Repository
yuan1z0825/nature-skills