Skip to content

Latest commit

 

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 

Repository files navigation

paper-to-notion

A Claude Code skill that turns a Zotero-highlighted scientific paper PDF into structured notes appended to a Notion page.

It reads the actual highlight annotations (and any Zotero comment attached to each one) straight out of the PDF file — no Zotero database or desktop app connection required — then reads the paper itself to independently judge what its most important ideas are, and only then weaves the highlights in as supporting quotes/anchors under that structure. For papers whose contribution is a machine learning or statistical framework, it also pulls out the paper's core equations as real LaTeX.

Why this exists

Most "highlights → notes" tools just dump your highlighted sentences into a template, grouped by whatever you happened to select while reading. That flatters your reading session, not the paper's actual argument. This skill deliberately separates two passes:

  1. Read the paper and decide independently what the important ideas are.
  2. Go back through the highlights and anchor them onto that backbone as evidence — not every highlight needs to survive, and the outline isn't built by clustering them.

What you get

  • A new Toggle Heading 1 section (titled with the paper's title) appended to a Notion page you name each run — it never touches or replaces existing content on that page.
  • TL;DR, then Heading 2 / Heading 3 sections built around the paper's own most important ideas, with highlighted quotes and paraphrases woven in as support.
  • LaTeX equation blocks for the paper's core formulas, when the paper is framework/method-shaped.
  • A closing summary of what was added, what was left out, and any highlights that landed on a figure/image rather than text (so there's nothing to quote).

Prerequisites

  • Claude Code with skills enabled.
  • A Notion MCP connector configured in Claude Code. This skill's allowed-tools currently reference the mcp__claude_ai_Notion__* tool names from Claude.ai's built-in Notion connector. If you're using a different Notion MCP server (e.g. the official makenotion MCP server), you'll likely need to adjust the tool names in SKILL.md's allowed-tools frontmatter to match.
  • Python 3 with PyMuPDF. The skill will try to pip3 install it automatically on first run if it's missing.
  • A PDF with real highlight annotations, e.g. exported from Zotero with your highlights intact (not a clean/unannotated copy).

Install

Copy the paper-to-notion/ folder into your Claude Code skills directory:

cp -r paper-to-notion ~/.claude/skills/paper-to-notion

Use

/paper-to-notion /path/to/paper.pdf https://notion.so/your-notes-page

Both the PDF path and the destination Notion page are required arguments — there's no default/remembered page, and the skill will ask rather than guess if either is missing or ambiguous.

How it works

  1. extract_highlights.py opens the PDF with PyMuPDF and reads every Highlight annotation's covered words directly from the page's text layer (matching by area overlap and deduping by word identity, to avoid the duplicated-text artifacts that naive per-quad text extraction produces), plus each highlight's color and any Zotero comment attached to it.
  2. Claude reads the full paper and independently decides its most important ideas.
  3. It drafts notes structured around those ideas, with LaTeX equations where relevant, quoting or paraphrasing highlights as anchors, following a fixed formatting style (no em dashes, no bold, everything as bullets).
  4. It resolves your Notion page and appends the note as a new toggle section.

License

MIT, see LICENSE.

About

claude code skill for notes taking

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages