Skip to content

Nech07/dailypaper

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Paper-reading

This is a cross-agent skill pack for reading papers. You can talk to your AI coding agent in plain language and it will filter new papers, read a paper, write notes, and save everything into Obsidian.

What This Setup Does

  • Fetches a batch of new papers every day, does a first-pass screening, and generates a ranked recommendation list.
  • Produces a full analysis, quick summary, or critical review for a single paper.
  • Turns technical terms into concept notes so they stay linked and reusable later.
  • Writes results into Obsidian and maintains MOC / navigation pages.
  • Integrates with Zotero, so you do not need to copy links one by one.

The final output in Obsidian looks roughly like this:

ObsidianVault/
├── DailyPapers/YYYY-MM-DD-paper-recommendations.md
├── PaperNotes/.../*.md
└── PaperNotes/_Concepts/.../*.md

Template preview:

How To Use It

In practice it is usually just two prompts:

today's paper recommendations
read this paper https://arxiv.org/abs/2509.24527

Other common phrasings:

paper recommendations from the last 3 days
paper recommendations from the last week

read this paper ~/Downloads/paper.pdf
give me a quick summary of this paper https://arxiv.org/abs/2509.24527
critically analyze this paper ~/Downloads/paper.pdf

read Diffusion Policy from my Zotero
batch read papers under the VLA collection in Zotero

today's paper recommendations runs the full pipeline. read this paper ... reads a single paper.

MOC pages are usually refreshed automatically. If you changed the structure manually, or suspect the index is out of sync, run:

refresh indexes

Installation

Prerequisites:

It is a good idea to put your Obsidian vault under git. Once your note library grows, version history is useful for both recovery and syncing.

If this runs on your own machine, you can choose a more permissive local agent configuration if your tool supports it. Only do that on a trusted personal machine.

Run this from the repo root:

# Claude Code
mkdir -p ~/.claude/skills
cp -r ./skills/* ~/.claude/skills/

# Codex
mkdir -p ~/.codex/skills
cp -r ./skills/* ~/.codex/skills/

# Update this to your own Obsidian vault path.
# It should match paths.obsidian_vault in the config file.
VAULT=~/ObsidianVault
mkdir -p "$VAULT/DailyPapers" \
  "$VAULT/PaperNotes/_Concepts/0-Uncategorized" \
  "$VAULT/PaperNotes/_Unsorted"

Configuration

After installation, edit the shared config in your skill home:

  • Claude Code: ~/.claude/skills/_shared/user-config.json
  • Codex: ~/.codex/skills/_shared/user-config.json

You can edit it manually or ask your agent to update it for you.

The main fields are:

Key Description
paths.obsidian_vault Path to your Obsidian vault
paths.zotero_db Path to your Zotero database (optional if you do not use Zotero)
paths.zotero_storage Path to Zotero attachment storage
agent.platform Runtime target, typically claude or codex
agent.command CLI command used by helper scripts, for example claude or codex
agent.skill_home Skill install root, for example ~/.claude/skills or ~/.codex/skills
daily_papers.keywords Research directions you care about; used for paper scoring
daily_papers.negative_keywords Directions you do not want; a match excludes the paper
daily_papers.domain_boost_keywords Extra domain terms that increase relevance score

batch read papers under XXX in Zotero does not need any extra mapping file. As long as paths.zotero_db and paths.zotero_storage point to the same Zotero library, the scripts can read your collection tree directly.

Default Behavior

By default, Obsidian vault automation does not commit or push:

  • auto_refresh_indexes = true
  • git_commit = false
  • git_push = false

So the default behavior is to refresh index pages automatically without touching your git repo. If your vault is already version-controlled and you want automatic commits after a run, enable git_commit.

How It Works

The daily recommendation flow is split into three stages so a single agent session does not get overloaded:

  1. Fetch: a Python script concurrently requests HuggingFace Daily / Trending plus the arXiv API, scores papers with your keywords, deduplicates them, and writes the top 30 candidates to /tmp. It then asynchronously enriches metadata from arXiv pages, including authors, affiliations, and figures.
  2. Review: the agent reads the candidate list, sorts papers into must-read / worth-reading / skip, writes sharp comments, saves the result into DailyPapers/, and updates .history.json for cross-day deduplication.
  3. Notes: for must-read papers, the pipeline calls paper-reader to generate full notes with formulas, figures, and key methods, extends the concept library, backfills note links, and refreshes the index pages.

Single-paper reading goes through paper-reader. It supports arXiv links, local PDFs, and Zotero search. It can collect figures from arXiv HTML, project pages, or PDFs, then writes a structured note using the template and files it into the right Obsidian folder.

generate-mocs maintains the navigation pages by recursively scanning the paper-note tree and concept library and generating wikilink-based index pages.

More implementation detail is in ARCHITECTURE.md.

What Is In This Repo

The first two skills are the ones you will use most often; the third is mainly for maintenance:

  • daily-papers: end-to-end daily recommendation flow
  • paper-reader: single-paper reading
  • generate-mocs: manual index refresh

There are also three internal skills for debugging or rerunning specific stages:

  • daily-papers-fetch
  • daily-papers-review
  • daily-papers-notes

Advanced Usage

If you want to run only one stage of the pipeline, you can say:

run paper fetch
run paper review
run paper notes

If you want local scheduling, for example every morning at 6:00 AM, you can ask your agent to set it up for your OS environment.

FAQ

Can it run the full pipeline in one shot?

Yes. Just say today's paper recommendations. Internally it is split into three stages mainly to control context length and make debugging / reruns easier.

Do index pages refresh automatically?

Usually yes. A single-paper run and the full daily pipeline will normally refresh indexes at the end. refresh indexes is the manual fallback entrypoint.

Can I use it without Zotero?

Yes. Daily recommendations do not depend on Zotero, and single-paper reading also works with direct arXiv links or local PDFs. Zotero is mainly for searching, categorizing, and batch processing an existing library.

Can I use it without Obsidian?

Yes. The output is just Markdown. Obsidian is convenient if you want [[wikilinks]], graph view, and MOC-style navigation, but it is not required.

Can it help with paper writing?

Yes. It is useful for organizing related work, maintaining a note library, and generating reading outlines. You should still verify AI-generated content before using it.

Will it touch my git repo by default?

No. commit and push are off by default and only run if you enable them in config.

Disclaimer

This is an open-sourced version of my personal research workflow. AI-generated recommendations, commentary, and notes can contain factual mistakes or omissions, so this is best used as a research assistant rather than a substitute for your own judgment.

There will also be bugs and environment-specific issues. If something small breaks, the quickest path is often to ask the AI to help fix it.

License

Apache-2.0. See LICENSE.

About

Skill for paper reading

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages