paper-wiki-starter
Claude-Code-driven scaffold: turn research PDFs into a hyperlinked Obsidian vault via paper-report / paper-idea / paper-experiment skills
paper-wiki-starter
A Claude-Code-driven scaffold for turning a pile of research paper PDFs into a hyperlinked Obsidian vault β concept pages, reading cards, cross-paper reports, research ideas, and experiment plans.
This repository contains the framework: workflow rules, prompt templates, Claude skills, and a bootstrap script. It contains zero paper content, zero personal notes, and zero model weights. You bring those.
Note: the
paper-writeskill (end-to-end manuscript drafting) is not included in this initial release. A similar workflow will be added in a future update. The three shipped skills βpaper-report,paper-idea, andpaper-experimentβ are fully functional standalone.
What you get
- 3 Claude Code skills that turn natural-language questions into structured wiki entries:
paper-reportβ cross-paper synthesis, intent-aware (gap-finding / landscape / method-compare / β¦)paper-ideaβ research-idea scouting with mandatory novelty checkpaper-experimentβ transferable experiment plans with "steal-able" baselines, datasets, metrics
- Prompt templates (
schema/prompts/) covering NotebookLM paper review, Claude concept update, and wikilink conventions - Bootstrap scripts that install the surrounding CLI stack (MinerU, qmd, NotebookLM CLI, endnote-cli, kepano's obsidian-skills bundle) with a single command
- Deterministic audit helpers (
scripts/concept-audit.py) for periodic wiki health checks
Architecture at a glance
raw/ (PDFs + MinerU output)
β
βΌ
CLI tools: mineru β qmd β obsidian-cli β notebooklm β endnote-cli
β
βΌ
Claude skills: paper-report β paper-idea, paper-experiment
β
βΌ
wiki/ (concepts, papers, reports, ideas, experiments)
Full picture: architecture.md Β· Workflow rules: CLAUDE.md
Quick start
On a fresh machine with Claude Code installed:
git clone https://github.com/TCMzhoutong/paper-wiki-starter.git
cd paper-wiki-starter
./scripts/bootstrap.sh
Then open Claude Code in the repo directory and follow the prompts. For the full deployment walk-through (including the steps that can't be automated β NotebookLM OAuth, Obsidian install, EndNote), see BOOTSTRAP.md.
Prerequisites
Required: git, conda, node β₯ 22, npm, python β₯ 3.10, Claude Code.
Installed automatically by the bootstrap: MinerU, qmd, notebooklm-py, endnote-cli, kepano/obsidian-skills bundle.
Manual install (bootstrap tells you when): Obsidian desktop app, NotebookLM OAuth login, EndNote (optional).
Full dependency matrix with upstream URLs and licenses: DEPENDENCIES.md.
Directory layout
paper-wiki-starter/
βββ CLAUDE.md β session-wide rules for Claude Code
βββ architecture.md β how the pieces fit
βββ BOOTSTRAP.md β Claude-Code-facing deploy prompt
βββ DEPENDENCIES.md β third-party inventory + licenses
βββ skills.lock.yaml β machine-readable dep spec
βββ schema/prompts/ β templates (paper cards, concept updates, NotebookLM prompts)
βββ scripts/
β βββ bootstrap.sh β one-shot deploy
β βββ install-skills.sh β Claude skills + CLI wrappers
β βββ check-env.sh β status report
β βββ batch-read.sh β headless bulk paper-card generation
β βββ concept-audit.py β wiki health check
βββ skills/ β first-party Claude skills (shipped)
β βββ paper-report/
β βββ paper-idea/
β βββ paper-experiment/
βββ setup.sh β environment installer (conda + MinerU + qmd + Ollama)
βββ add-paper.sh β PDF β Markdown β qmd-indexed workflow
βββ wiki/ β YOUR curated notes (gitignored)
βββ raw/ β YOUR PDFs + MinerU output (gitignored)
Canonical workflows
| Workflow | Trigger phrase in Claude | Output |
|---|---|---|
| Add paper | Drop PDF, run ./add-paper.sh | wiki/papers/<title>.md |
| Research report | "write a report on X", "compare A vs B" | wiki/reports/<topic>_<date>.md |
| Idea scouting | "find ideas in X", "/idea X" | wiki/ideas/<slug>_<date>.md |
| Experiment plan | "baseline for X", "/experiment X" | wiki/experiments/<slug>_<date>.md |
Details for each workflow β intent detection, block assembly, validation gates β live inside the respective skill's SKILL.md.
Bulk paper reading
For ingesting tens or hundreds of papers at once without bloating a single Claude Code session's context:
./add-paper.sh # MinerU-convert all PDFs in raw/pdf/
./scripts/batch-read.sh # headless loop: one `claude -p` per paper
Run this from a regular terminal (PowerShell / Git Bash), not from inside an interactive Claude Code session. Each paper runs in its own fresh Claude context β no carry-over, no bloat. The script is idempotent (skips papers whose cards already exist) and safe to Ctrl-C and resume. Progress is streamed to batch-read.log.
After the batch finishes, ask Claude Code once to run the ζ ‘ιͺη»΄ζ€ζ΅η¨ (concept health audit). This dedupes concepts and resolves alias conflicts across the whole batch in a single pass β the designed-in "cleanup stage" that keeps bulk mode fast.
License
- Code (
.sh,.py,.yaml,.json) β MIT - Content (prompt templates, skill instructions, documentation prose) β CC-BY-NC-4.0
Commercial use of the prompt templates requires separate licensing. Non-commercial academic, personal, and research use is explicitly permitted.
Contributing
See CONTRIBUTING.md. Short version: framework improvements welcome, personal notes aren't. Don't PR PDFs.
Acknowledgements
Stands on the shoulders of:
- MinerU β PDF β Markdown conversion
- MinerU-Document-Explorer (qmd) β local markdown index + semantic search
- notebooklm-py β Google NotebookLM automation
- kepano/obsidian-skills β obsidian-cli, defuddle, and friends
- endnote-cli β EndNote
.enllibrary access - Obsidian β the vault browser the whole thing orbits around
How to Install
- Download the ZIP or clone the repository
- Open the folder as a vault in Obsidian (File β Open Vault)
- Obsidian will prompt you to install required plugins
Stats
Stars
1
Forks
0
License
MIT
Last updated 4mo ago
Categories