Skip to content

howieeeeeeeeee/paper-management-system

Repository files navigation

PaperHub

PaperHub is an Obsidian-first paper library built around one rule: one paper, one folder, one metadata file.

organized/
`-- melitz2003trade/
    |-- melitz_2003.pdf
    |-- melitz2003trade.md
    `-- ai_summary.md

The folder keeps the PDF, metadata, reading status, tags, and optional AI summary together. This makes the library easy to browse, link, and manage in Obsidian, especially through Papers.base and Obsidian Bases.

AI integration handles the organizing work. Drop PDFs into to_be_organized/, run the paper-summarizer skill in your coding agent, and PaperHub creates the folder, metadata note, canonical tags, and optional ai_summary.md automatically.

New to the workflow? Start with Obsidian 101, then open Papers.base in Obsidian to browse the library.

Onboarding

Use the best model available for this one-time setup. Routine paper runs can use a faster or cheaper model.

  1. Check prerequisites:
  • Git is installed and configured.
  • You have a coding agent such as Claude Code, Codex, or Cursor.
  • You have an Obsidian vault where this paper library should live.
  1. Open Terminal and move to the parent folder where PaperHub should be created. This should be your Obsidian vault, or a folder inside your Obsidian vault:
 cd "/path/to/your/ObsidianVault"
  1. Clone the template into that folder:
 git clone --depth 1 https://github.com/howieeeeeeeeee/paper-management-system.git PaperHub
 cd PaperHub
 rm -rf .git
 git init -b main
 git add -A
 git commit -m "chore(setup): initialize PaperHub"
  1. Go to your Obsidian, open onboarding_questionnaire.md, fill the sections that matter to you, and change the frontmatter status to:
 status: ready_for_agent
  1. Open your coding agent from the PaperHub folder and paste:
 Use the paper-summarizer skill to onboard this project from scratch.

First Run

After onboarding, add one or a few PDFs to to_be_organized/, then ask your coding agent:

paper-summarizer: metadata-only batch for everything in to_be_organized/.

Quick launch

Save a terminal snippet (e.g. Alfred Terminal Command with keyword pp, or Raycast). Command:

cd "/Users/howieee/Library/Mobile Documents/iCloud~md~obsidian/Documents/Howie iCloud/EconPhD/PaperHub" && claude --model claude-haiku-4-5-20251001

Optional: append --dangerously-skip-permissions if permission prompts break long skill runs—only when you fully trust that session.

Use cases

Run all commands from the repository root. Reference paths are relative pointers only: use to_be_organized/ for new PDFs and organized/<folder>/ for existing paper folders.

Scenario Reference Mode Prompt
Many papers, ingest first to_be_organized/ metadata-only paper-summarizer: metadata-only batch for everything in to_be_organized/.
Metadata plus summaries to_be_organized/ full paper-summarizer: organize new PDFs in to_be_organized/ - full summary.

For enrich runs, extra instructions, citation hints, and model-specific examples, see quick_start/use-cases.md.

Output Layout

organized/
`-- melitz2003trade/
    |-- melitz_2003.pdf
    |-- melitz2003trade.md
    `-- ai_summary.md

Each paper folder contains the original PDF and a metadata note. Full and enrich runs also create or refresh ai_summary.md.

Tag system

Four tag types are stored in each paper's YAML tags:: field, methodology, topic, and meta.

Two ways to shape tags:

  • onboarding_questionnaire.md: the first-run starter taxonomy. Edit the "Starter Tag Taxonomy" section before onboarding; the agent uses those lists directly when it creates the initial tag registry.
  • tags/tag_initialization.md: optional later bulk additions after onboarding. Ask the agent to create or process this file, then edit one tag per line under each ## type heading and set the frontmatter to status: ready.
  • Edit a paper metadata file directly in Obsidian. Open any organized paper's {paperlabel}.md file and add a tag to its YAML tags: list. New tags are incorporated into the canonical registry on the next tag-update flow.

While generating the metadata for a paper PDF, the model is nudged to reuse canonical tag strings during summarization.

tags/tags_summary.md is the human-facing table. For now, you can change a tag's type there to reclassify it. The skill keeps tags/_internal/registry.json in sync when tag flows run.

Obsidian tips

Important Files

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages