
Nature Reader
- 2 installs
- 33.4k repo stars
- Updated August 4, 2026
- yuan1z0825/nature-skill
This is a copy of nature-reader by yuan1z0825 - installs and ranking accrue to the original listing.
Helps with ai & agent building tasks during AI-assisted development.
About
nature-reader is a Claude Code skill for ai & agent building. It helps solo builders move faster with AI-assisted coding.
- nature-reader
- AI & Agent Building
- AI-coding skill
Nature Reader by the numbers
- 2 all-time installs (skills.sh)
- Data as of Aug 5, 2026 (Skillselion catalog sync)
npx skills add https://github.com/yuan1z0825/nature-skill --skill nature-readerAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 2 |
|---|---|
| repo stars | ★ 33.4k |
| Last updated | August 4, 2026 |
| Repository | yuan1z0825/nature-skill ↗ |
What it does
Helps with ai & agent building tasks during AI-assisted development.
Files
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. 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 (../_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.json→references/output-spec.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-writingandnature-polishingso shared content lives in_shared/.
{
"skill_name": "nature-reader",
"evals": [
{
"id": 1,
"prompt": "把这篇 Nature 风格 PDF 做成全文中英文对照阅读稿:不要只做摘要或前几页。每个正文段落要有 Original 和中文翻译,图表要裁剪出来并插到首次实质引用附近,英文图注和中文图注都要保留,每一段都要能点回原文位置。",
"expected_output": "A full-paper Markdown reader with paragraph-level Original/中文 pairs, stable source anchors, cropped figure/table assets, figure cards near first substantive mentions, bilingual captions, and grounded follow-up pointers.",
"files": ["/Users/yuanyz/nature-read/s41586-026-10452-4.pdf"]
},
{
"id": 2,
"prompt": "我只有一篇会议论文的 DOI。请先把它整理成一个可读的全文原文-译文对照 Markdown;如果拿不到全文,就明确标注缺口,并告诉我哪些内容只能从摘要或元数据确认。正文块必须保留 Original/中文 格式,不能只给摘要页。",
"expected_output": "A full-document or draft-mode Markdown reader that clearly separates confirmed content from missing content, keeps block/page navigation, and preserves Original/中文 alignment for every available block.",
"files": []
},
{
"id": 3,
"prompt": "这是一篇扫描版论文。请先做 OCR,再生成全文中英文对照 Markdown,保留图注和正文的对应关系;凡是识别不稳的地方都要标低置信度。图表需要裁剪到 assets 并放在对应正文位置。",
"expected_output": "An OCR-aware full-document Markdown reader with Original/中文 pairs, uncertainty labels, cropped figure/table assets, nearby bilingual captions, page navigation, and source-linked follow-up support.",
"files": []
}
]
}
name: nature-reader
version: 2.0.0
description: >
Declarative manifest for the static/dynamic split. SKILL.md uses this to
decide which fragments to load for a given paper-reading request. The main
axis is the source format, which changes how text, figures, and tables are
extracted before the bilingual reader is built.
always_load:
# Shared layer — common to the nature-* skills
- ../_shared/core/terminology-ledger.md
# Skill-local core
- static/core/principles.md
- static/core/workflow.md
- static/core/output-contract.md
axes:
source_format:
detect: |
Determine the input form the user provided. Use pdf-text for a
selectable-text PDF, scanned-pdf for an image-only or OCR-required PDF,
html for a publisher or preprint HTML page, doi-arxiv for a bare DOI or
arXiv identifier/link that must be resolved first, and pasted-text when
the user pastes prose or notes with no retrievable original layout.
If several apply (for example a DOI that resolves to a PDF), load the
resolution fragment first, then the fragment for the resolved artifact.
values:
pdf-text: static/fragments/source/pdf-text.md
scanned-pdf: static/fragments/source/scanned-pdf.md
html: static/fragments/source/html.md
doi-arxiv: static/fragments/source/doi-arxiv.md
pasted-text: static/fragments/source/pasted-text.md
default: pdf-text
multi: true
references:
on_demand:
- condition: cropping figures/tables, placement near first mention, tight-crop rules
path: references/figure-extraction.md
- condition: exact paper.md / source_map.json field schema and block shapes
path: references/output-spec.md
- condition: answering follow-up questions with source-grounded citations
path: references/grounding-rules.md
nature-reader
Markdown-first reading workflow for full papers.
What it does
nature-reader turns a PDF, DOI, arXiv link, publisher HTML page, or pasted manuscript into a complete Markdown reading artifact with:
- paragraph-level original text and Chinese translation in prose form
- extracted figures and tables placed near the discussion that first substantively references them
- original captions plus Chinese caption translations
- stable page and block anchors for traceability
- tight figure crops and a full-document source map
Primary outputs
paper.mdsource_map.jsontranslation_notes.mdassets/
reader.html can be generated as a secondary preview, but the skill is Markdown-first and does not default to an interactive Q&A panel.
Trigger phrases
Use this skill when the user asks for:
- full-paper translation
- 原文对照
- 中英文对照
- 图文对应
- 图表提取
- 翻译解读
- 全文 Markdown
- paper md
- source-grounded reading notes
Notes
Do not use this skill for summaries, keyword bullets, or citation-only search tasks. When triggered, do not output only a Chinese summary. The default artifact is paper.md with visible Original / 中文 pairs and figure/table cards inserted at the relevant source locations.
Figure and table extraction
Open this reference when extracting and placing figures or tables. It expands step 4 of the reading workflow.
Placement near the relevant discussion
Do not try to recreate the PDF pixel-for-pixel. Preserve semantic proximity instead.
Default placement rule:
- crop each figure/table into
assets/and show it near its first substantive mention in the body text - keep the caption attached to the figure/table
- show both original caption and Chinese caption translation
- if the caption contains critical details, keep caption and figure together
- if a table is central to the claim, keep it near the paragraph that interprets it
- if a figure/table appears before the body discussion in PDF layout, still place it where it best supports the reading flow and add
Placed near: p.X SYYY - if a later section mentions the same figure/table again, link back to the already inserted figure/table block instead of duplicating it
If the paper has a complex multi-column layout, prefer a clean reading layout over exact visual mimicry.
Crop figures and tables tightly
When extracting a figure or table image:
- crop only the figure or table content area, not the whole page
- use the smallest rectangle that fully contains the visual object
- exclude page headers, footers, surrounding prose, and unrelated margins
- keep the caption separate unless the caption is part of the requested visual crop
- if the crop box is uncertain, mark it as approximate instead of enlarging it
Precision matters more than convenience here. A slightly smaller but correct crop is better than a wider crop that includes unrelated page content.
Figure/table block shape
Figure/table blocks in paper.md should use this shape:
<a id="F001"></a>
### Fig. 1. [short translated title]
**Placed near:** p.3 S012
**Source:** p.4 C001

**Original caption:** [caption text]
**中文图注:** [caption translation]
**Reading note:** [brief explanation of what to inspect in the figure]Grounding Rules
Answering questions
When the user asks a follow-up question about the paper:
1. Find the most relevant source blocks. 2. Answer from those blocks first. 3. Cite the exact page and block IDs. 4. Include the figure or table if it is part of the evidence. 5. Say 原文未明确说明 if the paper does not support the claim.
Good answer pattern
结论原文依据: p.5 S014-S016, Fig. 3 caption补充说明: 这是译文中的概括,不是原文逐字表述
Bad answer pattern
- vague paraphrase without source IDs
- answer based only on the title or abstract when the question needs body text
- claiming support from a figure without citing the figure or caption
- inventing missing detail when OCR or extraction is uncertain
Translation rules
- Keep specialized terms stable.
- Keep equations, units, symbols, and citations unchanged.
- Do not over-simplify method steps.
- If a term has no clear Chinese equivalent, keep the original term and add a short note.
- Preserve paragraph-level original/Chinese alignment in
paper.md. - Do not convert a full-paper translation request into a Chinese-only summary or critique.
- If a full English paragraph cannot be included because of source restrictions or extraction failure, keep the block anchor and explain the limitation in
translation_notes.md.
Figure and table rules
- Cite the caption when explaining a figure.
- Cite the relevant table row or table block when explaining a table.
- If the claim relies on both text and figure, cite both.
- If figure placement is uncertain, mark it as a layout approximation.
- Extract figures/tables to
assets/whenever possible. - Place each figure/table card near the first substantive mention in the bilingual text.
- Include original caption, Chinese caption translation, and a short reading note.
- Do not use whole-page screenshots as figure/table replacements unless no tighter crop is possible; mark those as approximate.
Output Spec
Standard bundle
Produce these files when possible:
paper.mdsource_map.jsontranslation_notes.mdassets/for extracted images, crops, or figure snippetsreader.htmlonly when the user explicitly asks for a browser preview
Full-text mode
When the source is a full paper, include all pages or all extractable sections in the reader. Do not limit the bundle to selected pages, a teaser excerpt, or the abstract unless the user explicitly requests a preview.
paper.md is the primary deliverable. It must expose paragraph-level bilingual alignment:
<a id="S001"></a>
**Source:** p.1 S001
**Original:** ...
**中文:** ...For source material that cannot be extracted or translated confidently, keep the source anchor and write a visible uncertainty note instead of dropping the block.
source_map.json
Keep a stable source map so follow-up questions can cite the same anchors.
{
"paper": {
"title": "",
"venue": "",
"source_type": "pdf|html|doi|arxiv|text",
"language": "en",
"source_path": ""
},
"blocks": [
{
"id": "S001",
"page": 1,
"type": "heading|paragraph|caption|table|table_row|note",
"order": 1,
"original_text": "",
"translation": "",
"bbox": [0, 0, 0, 0],
"confidence": "high|medium|low",
"refs": ["F001", "T001"],
"insert_after": "S001"
}
],
"pages": [
{
"page": 1,
"block_ids": ["S001", "S002", "S003", "C001"]
}
],
"figures": [
{
"id": "F001",
"page": 3,
"caption_id": "C001",
"image_path": "",
"bbox": [0, 0, 0, 0],
"placement_hint": "near_first_mention",
"placed_after": "S012",
"alt_text": ""
}
],
"glossary": [
{
"term": "",
"translation": "",
"note": ""
}
]
}paper.md
The Markdown reader should support:
- stable headings in paper order
- paragraph-level original/Chinese pairs
- source IDs on every substantive block
- figure/table cards near the relevant prose
- English captions and Chinese caption translations
- page navigation for full papers
- terminology notes and uncertainty notes
reader.html
The page should support:
- desktop side-by-side original and translation
- mobile stacked layout
- clickable source IDs on every block
- figure cards near the relevant text
- section navigation
- page navigation for full papers
Do not add a question area unless explicitly requested.
Layout rules
- Keep paragraph alignment stable.
- Keep captions attached to their figures.
- Show tables where they are explained, not only where they appear in the PDF.
- Prefer semantic proximity over exact visual reconstruction.
- If a figure is referenced across multiple sections, anchor it at the first substantive discussion and link later mentions back to it.
- Crop figures and tables with the tightest valid bounding box.
- Do not use a full-page screenshot when the actual content occupies a smaller region.
- If the exact crop box cannot be verified, label the crop as approximate.
- For full papers, preserve page order and include a page index.
Figure/table card format
<a id="F001"></a>
### Fig. 1. 中文短标题
**Placed near:** p.3 S012
**Source:** p.4 C001

**Original caption:** ...
**中文图注:** ...
**Reading note:** ...Every image/table asset must have a corresponding card in paper.md. Every card must identify the source caption and placement block.
Citation format in the page
Use short, stable source pointers:
p.7 S021p.8 C003Fig. 2Table 1
For follow-up answers, combine page and block ID when available.
Output contract
Prefer these outputs:
paper.mdfor the full-paper Markdown artifactsource_map.jsonfor stable source anchorstranslation_notes.mdfor terminology, uncertainty, and layout notesassets/for extracted figures or cropped snippets when neededreader.htmlonly when the user explicitly wants a browser preview
Do not hide missing information. If the source is incomplete, label the output as draft mode.
Pre-response verification
Before final response, verify:
paper.mdcontains**Original:**and**中文:**block pairs- every image/table link used in
paper.mdexists underassets/ - every figure/table in
assets/has a corresponding Markdown block and source pointer source_map.jsonparses as JSON and includes source block IDstranslation_notes.mdrecords skipped, uncertain, or draft-mode content
Tooling guidance
- If the input is a PDF, load the
pdfskill first for extraction and OCR guidance. - If the user asks for a richer browser view, use
web-artifacts-builderorfrontend-designonly as a preview layer on top of the Markdown workflow. - If the user wants citation-level grounding to original text, keep the source map explicit and do not lose the page or block IDs.
Core principles (reader)
Use this skill to turn a research paper into a complete Markdown reading artifact. The default output should read like a bilingual paper companion, not a summary dump:
- keep the extractable prose, paragraph structure, and section flow
- show original text and Chinese translation together at block level
- extract figures and tables as assets and place them at the first substantive mention or interpretation point
- keep captions attached to figures/tables with English caption text and Chinese caption translation
- preserve stable page and block anchors for traceability
- write a complete
paper.mdby default, plussource_map.json,translation_notes.md, andassets/
This skill is for papers, preprints, and conference proceedings across disciplines. It is not limited to Nature-family journals. If the user only wants a summary, use a summarization skill instead. If the user only wants citation search, use a citation skill instead.
Non-negotiable defaults
When the user asks for paper translation, reading, nature-reader, 中英文对照, 原文对照, 全文翻译, or 翻译解读, produce a paragraph-level bilingual reader by default.
Do not replace the reader with:
- a Chinese-only summary
- a paper review without original/translation alignment
- figure captions without figure/table crops
- a list of key points detached from source locations
- only the abstract, introduction, or selected highlights
If constraints prevent full processing, still create a draft reader and clearly label missing pages, missing figures/tables, untranslated blocks, or low-confidence OCR/crops in translation_notes.md.
Core principle
Translate for meaning, not for style. Preserve the paper's structure, evidence, hedging, terminology, equations, units, and citation markers. Keep the output in prose paragraphs unless the source itself is tabular or list-like. Do not collapse the paper into keyword bullets or slide-style notes.
The reading file should help a reader move between:
- original text
- translated text
- source location
- figure or table evidence
Each substantive source block should have a stable anchor and a visible bilingual pair:
<a id="S001"></a>
**Source:** p.1 S001
**Original:** [source paragraph]
**中文:** [faithful Chinese translation]Copyright caution
For copyrighted publisher PDFs, keep chat responses short and point to the local artifact. In local paper.md, include the bilingual reader only for the user-provided source file or clearly lawful open-access content; avoid reproducing large copyrighted text directly in chat.
Quality bar
Good output feels like a paper reader, not a machine translation dump. It should let a reader:
- read the paper in two languages
- see where a claim came from
- inspect the nearby figure or table
- move through a complete Markdown file without losing source traceability
Reading workflow
Run these six steps for any paper-reading job. Steps 1-2 build the source map, 3-5 produce the artifact, 6 covers follow-up questions.
1. Identify the source and paper type
The source-format fragment loaded for this job covers how to extract from the specific input. At a high level, also identify the paper type so you know how tightly to couple text, figures, and captions:
- discovery or mechanism paper
- methods or algorithm paper
- resource or dataset paper
- conference paper
- review or perspective
2. Build a full-document source map before translating
If the user provides a full paper, process the entire document. Do not stop at the abstract, introduction, or a few representative pages unless the user explicitly asks for a preview.
Create stable IDs for source blocks:
S001,S002, ... for body textC001,C002, ... for captionsF001,F002, ... for figuresT001,T002, ... for tables
For each block, capture: page number, block type, original text, translation, reading-order index, nearby figure or table references, first substantive figure/table mention when applicable, and confidence level when extraction is uncertain.
Keep the source map stable so later questions can point back to the same IDs. For long papers, add a page index so the reader can jump across the whole document without losing location.
3. Translate conservatively
Translate every extractable substantive block with these rules:
- preserve technical terms unless a standard Chinese equivalent is clearly better
- keep gene names, protein names, formulas, model names, and symbols intact
- keep citations, superscripts, subscripts, and numeric values unchanged
- do not collapse methods details into vague prose
- keep paragraph order and section order unless the user asks for restructuring
- mark uncertain text instead of guessing when OCR or layout extraction is weak
- keep the source's paragraph form; do not convert dense prose into bullet-point keywords
- do not silently skip Methods, limitations, data availability, code availability, competing interests, or extended captions
- if the paper is too long for one pass, write
paper.mdincrementally by page/section and mark pending blocks rather than switching to summary mode
If a sentence contains multiple claims, keep the translation readable but do not split away the original evidence chain. Build the Terminology Ledger (../../../_shared/core/terminology-ledger.md) as you translate so recurring terms stay consistent across the whole document.
4. Extract and place figures and tables near the relevant discussion
Crop each figure/table into assets/ and place it near its first substantive mention, keeping the caption attached with both original and Chinese caption text. For the full placement and tight-crop rules, and the figure/table block shape, open references/figure-extraction.md.
5. Generate the Markdown file
Default output is a single full-paper paper.md file. It must include:
- metadata header
- a short page/section index
- page-level or section-level divisions for long papers
- paragraph-level original/Chinese pairs for all extractable substantive text
- figure and table blocks placed near the relevant discussion
- source anchors on every substantive text, figure, caption, and table block
- a terminology table for recurring technical terms (from the Terminology Ledger)
- a short
阅读提示/critical reading notessection only after the bilingual body, not as a replacement for it - short uncertainty notes only when extraction is weak
Do not add an interactive Q&A panel or follow-up widget in the Markdown deliverable. If a browser preview is explicitly requested, a companion reader.html can be generated as a secondary artifact, but the Markdown file remains the primary output.
6. Answer follow-up questions with source grounding
When the user asks a question after the file is created, answer from the paper, not from memory, and cite exact block IDs and page numbers. For the full grounding rules, open references/grounding-rules.md.
Source: DOI or arXiv identifier
The user gave a bare DOI or arXiv id/link that must be resolved before reading.
- Resolve the identifier to the actual article first:
- arXiv → the abstract page, then the PDF (and HTML/LaTeX source when available).
- DOI → the publisher landing page, then the open-access PDF or HTML if lawfully available.
- After resolving, this becomes a
pdf-text,scanned-pdf, orhtmljob — load that fragment and follow it for extraction. This fragment only covers retrieval. - Capture bibliographic metadata (title, authors, venue, year, DOI/arXiv id) for the
paper.mdmetadata header. - Prefer the open-access version (arXiv, author copy, PMC) when the version of record is paywalled. Note which version was read in
translation_notes.md, since arXiv and published versions can differ. - If the identifier cannot be resolved or only the abstract is reachable, build a draft reader from what is available and clearly mark the rest as not retrieved. Do not fabricate body text.
- Apply the copyright caution to the resolved artifact.
Source: publisher or preprint HTML
The source is an HTML page (publisher site, preprint server, or similar).
- Extract the article body; strip site navigation, cookie banners, related-article rails, reference-manager widgets, and advertisements.
- Keep the section structure and paragraph order from the article markup.
- Figures and tables are usually separate image/HTML elements — capture each figure image and its caption, and place per
references/figure-extraction.md. Reconstruct HTML tables faithfully rather than screenshotting them when the markup is clean. - Preserve inline math (MathML/LaTeX/images), superscript citation markers, and links to the reference list.
- Respect the copyright caution: for paywalled or all-rights-reserved pages, keep chat output short and point to the local artifact. Reproduce full bilingual text only for clearly lawful open-access content.
- If the page is JavaScript-rendered and content is missing, note what could not be retrieved instead of inventing it.
Source: pasted text or notes
The user pasted prose or notes directly, with no retrievable original layout or page images.
- Treat the pasted text as the source of truth. Build the source map and bilingual pairs from it.
- Page numbers may be unknown. Use sequential block IDs (
S001,S002, ...) and, where the paste shows section headings, use section-level anchors instead of page anchors. Note intranslation_notes.mdthat page anchors are unavailable. - There are usually no figure/table images. Do not invent crops. If the text references figures/tables, keep the references and captions as text blocks and note that the visual assets were not provided.
- If the paste is clearly partial (for example abstract and intro only), build the reader for what was given and label it draft mode; do not backfill missing sections from memory.
- Preserve any citation markers, equations, and symbols exactly as pasted.
- Keep the bilingual reader format; do not collapse pasted prose into a summary just because layout metadata is missing.
Source: selectable-text PDF
The PDF has an extractable text layer. Load the pdf skill first for extraction guidance.
- Extract the text layer directly; do not OCR text that is already selectable.
- Process the whole document, not just the first pages. Build the source map (step 2) across every page.
- Watch for multi-column layouts: recover natural reading order rather than top-to-bottom raw stream order.
- Keep ligatures, hyphenated line breaks, superscripts, subscripts, and math intact; rejoin words split across line breaks.
- Figures and tables are images embedded in the page — crop them per
references/figure-extraction.md; do not paste the page text of a table where the table image belongs. - If some pages have a text layer and others are scanned, treat the scanned pages with the
scanned-pdfrules and mark them with a confidence note.
Source: scanned PDF (OCR required)
The PDF is image-only or has an unreliable text layer. Load the pdf skill first for OCR guidance.
- OCR every page; do not assume a usable text layer exists.
- Record a confidence level for each block in the source map, and mark low-confidence blocks explicitly in
translation_notes.mdrather than guessing. - Preserve the original wording where OCR is confident; flag, do not silently "correct", garbled text.
- Be careful with numerals, units, symbols, gene/protein names, and chemical formulas — OCR errors here change meaning. Cross-check against context and mark uncertainty.
- Figures and tables are page regions: crop them per
references/figure-extraction.md. For low-quality scans, a tight correct crop still beats a wide noisy one. - If pages are skewed, rotated, or partly cut off, note the affected pages and translate only what is legible.