SuperAPI AI Directory

paper-reader

Writing & research

View repository

Updated 10-16 05:54

About this skill

Before starting: First greet the user 🐕

Academic Paper Reading Assistant (Paper Reader)

Focuses on the CV/DL field, supports Zotero integration and Obsidian note saving.

Step 0: Read shared configuration

First read ../_shared/user-config.json, if ../_shared/user-config.local.json exists, then use it to override the default values.

Explicitly generate and use these variables consistently thereafter:

  • VAULT_PATH
  • NOTES_PATH
  • CONCEPTS_PATH
  • ZOTERO_DB
  • ZOTERO_STORAGE
  • AUTO_REFRESH_INDEXES
  • GIT_COMMIT_ENABLED
  • GIT_PUSH_ENABLED

Where:

  • NOTES_PATH = {VAULT_PATH}/{paper_notes_folder}
  • CONCEPTS_PATH = {NOTES_PATH}/{concepts_folder}
  • GIT_PUSH_ENABLED It can only be true when GIT_COMMIT_ENABLED=true .

Use the above variables consistently thereafter.

1. Receive paper

Input method Example Processing method
PDF path /path/to/paper.pdf Read directly
arXiv link https://arxiv.org/abs/xxxx WebFetch
Zotero category "VLA categorized paper" Query database → list → user selects
Zotero search "π0.5 in Zotero" Search title → find PDF
No PDF Zotero entry has no attachment Obtain from the web (see below)

Acquisition process when there is no PDF

  1. python3 assets/zotero_helper.py info {item_id} Obtain paper information
  2. Obtain by priority: arXiv HTML > arXiv PDF > DOI > WebSearch title
  3. Determine arXiv ID: from URL / Zotero extra field / title search
  4. Recommend directly WebFetch https://arxiv.org/html/{arxiv_id}, no need to download
  5. Skip condition: neither PDF nor online source / non-paper content

For detailed Zotero operations see references/zotero-guide.md

2. Reading mode

Mode Trigger words Output
Quick summary "quick look", "quick" 3-5 sentences of core contributions
Full analysis "detailed analysis", default Structured notes (use template)
Critical analysis "critical analysis", "critique" Evaluation of methodological strengths and weaknesses
Knowledge extraction "extract formulas", "technical details" Formulas + algorithm pseudocode

3. Note generation

Template: Strictly follow assets/paper-note-template.md, do not simplify on your own.

Core quality rules

  1. Zero omissions: All Figures, all formulas, and all Tables in the paper must all appear in the notes
  2. Inline concept links: Technical terms appearing for the first time in the main text must use [[概念]] links, not just at the end
  3. ASCII flowcharts strictly prohibited: Use structured Markdown lists + $数学符号$ to describe the architecture
  4. Formula completeness: Each formula must have a name ([[概念|名称]]), LaTeX formula, meaning, and symbol explanation
  5. External image links preferred: arXiv HTML / project homepage / GitHub, if not found then download locally

See the detailed quality specifications for formulas/images/tables at references/quality-standards.md

Image acquisition workflow (multi-source fallback)

Goal: Ensure the note containsall Figuresof the paper. First count the total number of Figures in the paper, then acquire them one by one.

  1. WebSearch "{论文标题} arxiv" Get the arXiv ID
  2. Source A — arXiv HTML(preferred):
    • WebFetch https://arxiv.org/html/{arxiv_id} Extract all <figure> titles and img src URLs
    • Count the total number of Figures in the paper and confirm whether the extracted count is complete
  3. Source B — Project homepage(when HTML returns 404 or images are incomplete):
    • Find the project homepage URL from the abstract/HTML (common patterns:project page、github.io、our website)
    • WebFetch the project homepage and extract the display images (usually includes teaser / demo images)
  4. Source C — PDF extraction(when both of the previous two fail):
    • pdfimages -png Extract from the PDF and filter for valid images >10KB
  5. In the note, embed via ![Figure X](url) external links
  6. Verification: external links load / local files >10KB
  7. URL deduplication (mandatory): Check each URL before writing. If https://arxiv.org/html/ is followed by two consecutive identical arxiv_ids (e.g., 2607.04988v1/2607.04988v1/), delete the duplicate segment. This is a high-frequency bug; see references/image-troubleshooting.md
    • Reason: In arXiv HTML, the img src already contains the {id}v1/ prefix; do not add it again when concatenating
    • Correct:https://arxiv.org/html/ + src (e.g., https://arxiv.org/html/2607.04988v1/x1.png)
    • Wrong:https://arxiv.org/html/2607.04988v1/ + src (causes path duplication and returns 404)

ar5iv numbering does not necessarily correspond to Figure numbering; for troubleshooting see references/image-troubleshooting.md

Image reliability assurance (automatically executed after generation)

After the note is saved, run the image reachability check script to automatically download inaccessible external images locally:

python3 ../daily-papers/download_note_images.py "{笔记完整路径}"
  • Reachable external links are left unchanged; unreachable ones are automatically downloaded to assets/ and replaced with Obsidian wikilinks
  • If there are localization operations, the frontmatter image_source is automatically updated to mixed

Formula format

Each formula must include: name ([[概念|名称]])、LaTeX $$ block (with blank lines before and after), meaning, symbol list. $$ Before and after theblock there must be blank linesotherwise Obsidian will not render. For overly long formulas use aligned to split.

4. Obsidian saving

File naming

Use onlymethod name/model name:{方法名}.md(e.g., Pi05.md, without a year prefix). Method name determination: before the colon in the title / "We propose XXX" in the Abstract / Greek letters converted to ASCII. When uncertain, save to _待整理/。

Save path

By Zotero category hierarchy:{NOTES_PATH}/{zotero_collection_path}/{方法名}.md

YAML frontmatter

---
title: "论文标题"
method_name: "MethodName"
authors: [Author1, Author2]
year: 2025
venue: arXiv
tags: [tag1, tag2]  # 小写连字符,3-8 个
zotero_collection: 3-Robotics/1-VLX/VLA
image_source: online
created: YYYY-MM-DD
---

Tags determination: look at Related Work subheadings + Abstract keywords. The first tag is the most core topic.

Automatically executed after saving

  1. Only refresh the catalog page when AUTO_REFRESH_INDEXES=true :
    python3 ../_shared/generate_concept_mocs.py
    python3 ../_shared/generate_paper_mocs.py
    
  2. Only do git when GIT_COMMIT_ENABLED=true :
    • First confirm that VAULT_PATH/.git exists
    • git add {新增文件} {paper_notes_folder}/ there must actually be staged changes after
    • After the conditions are met, execute:
    cd {VAULT_PATH} && git add {新增文件} {paper_notes_folder}/ && git commit -m "add paper note: {方法名}"
    
    • Only push when GIT_PUSH_ENABLED=true and the repository is already configured with a remote

5. Concept library maintenance (required for every paper)

Concept library location:{CONCEPTS_PATH}

Process

  1. ScanAll [[概念]] links in the paper notes
  2. CheckWhether the concept note corresponding to each link exists (ls + find)
  3. CreateNonexistent concepts (cannot be skipped), automatically categorized into the corresponding subdirectory

For classification rules and templates, see references/concept-categories.md

Self-check

  • Do the concept notes for all [[概念]] links in the notes exist?
  • Do the concept notes include this paper as a "representative work"?

6. Self-check after completion (merged checklist)

  • Are all Figures in the notes (count matches the paper)?
  • Are all formulas in the notes (variables consistent, no conflicts)?
  • Are all Tables fully preserved (all rows and columns)?
  • Do technical terms in the main text have [[概念]] inline links?
  • Has the concept library been updated (missing concepts created)?
  • Are images available (external links loadable / local >10KB)?

7. Interactive features

After parsing is complete, ask: In-depth explanation? Compare with other papers? Save to Obsidian? After saving, automatically create missing concept notes and report the number of newly added concepts.

8. Batch processing

Supports batch processing of Zotero collections (recursive subcollections by default). Process: recursively retrieve papers → deduplicate → skip existing notes → process sequentially → summarize.

Reference files (consult as needed)

  • references/zotero-guide.md — Zotero queries, classification, PDF path retrieval, intelligent classification judgment
  • references/image-troubleshooting.md — ar5iv image numbering correspondence, PDF extraction alternative
  • references/concept-categories.md — 16 subdirectory rules + templates for automatic concept categorization
  • references/quality-standards.md — Detailed quality specifications for formulas/images/tables + self-check checklist