Transform academic PDFs into structured literature notes and critical-thinking canvases for Obsidian.
"The human mind... operates by association. With one item in its grasp, it snaps instantly to the next that is suggested by the association of thoughts." — Vannevar Bush, As We May Think, 1945
Bush imagined this in 1945 — a desk where all your reading lives outside its original containers, ready for you to build trails of association through it. That's what this workflow is.
Step one: Convert the PDF to Markdown. The knowledge leaves the frozen PDF and becomes something you can return to, search, and connect — today, next month, next year.
Step two: Come back anytime and draw out what's relevant now. Connect ideas across papers. Visualize arguments, evidence, and assumptions side by side in an Obsidian canvas. The literature note captures what's there. The canvas lets you see it alongside everything else you know.
You need both of these:
- Claude Code — download here if you don't have it yet. This workflow only works inside Claude Code.
- Obsidian — download here. The final output is a JSON canvas file that only renders in Obsidian.
If you just want AI help reading a PDF, you don't need this workflow. Drag the PDF into any AI chat and ask questions directly. This workflow is for people who want structured literature notes and a critical-thinking canvas they can revisit in Obsidian.
Paste this into Claude Code:
Install this skill for me: https://github.com/heleninsights-dot/phd-deepread-workflow
Claude Code installs the skill, the Python CLI, and everything else automatically. Done. Drag a PDF into Claude Code and say "phd-deepread read this paper".
Only needed if you work with scanned PDFs (image-based, text not selectable):
brew install tesseract # macOS
sudo apt install tesseract-ocr # Ubuntu/DebianDrag a PDF into Claude Code and say:
phd-deepread read this paper
Claude extracts the text, writes a structured literature note, and creates a 9-node critical-thinking canvas — all in one go. Open the .canvas file in Obsidian to visualize arguments, evidence, assumptions, and gaps side by side.
You can also ask for specific parts: "phd-deepread extract this PDF, but just give me the prompt — I'll write the note myself."
Drag a folder into Claude Code and say:
phd-deepread read this folder
Claude batch-processes every PDF inside — extracting text, writing a structured literature note for each one, and creating canvas templates. Already-processed papers are skipped automatically. Works the same as a single paper, just for the whole folder.
Each PDF you process gives you three files:
| Output | What it is |
|---|---|
paper.md |
Full text of the PDF, converted to Markdown |
paper_literature_note.md |
Structured academic note — see below for what's extracted |
paper.canvas |
A 9-node critical-thinking canvas — open this in Obsidian to visualize arguments, evidence, assumptions, and gaps side by side |
The note doesn't summarize — it pulls out the specific data you need to actually use the paper in your research:
| Category | What you get |
|---|---|
| Findings | Every key result with direction, magnitude, p-value, confidence interval, effect size, and source table/figure |
| Methodology | Study design, sample sizes with attrition, inclusion/exclusion criteria, every instrument/assay/software named |
| Critique | Limitations mapped to validity types (internal, external, construct, statistical), plus limitations the authors don't discuss |
| Connections | Extensive [[wikilinks]] to methods, proteins, genes, diseases, concepts — linking the paper to your existing notes |
| Action items | Specific, actionable follow-ups you can act on without re-reading the paper |
| Assessment | Innovation, evidence strength, and practical potential — each with a concrete justification, not just a score |
Claude Code calls these commands for you — you don't need to type them yourself:
| Command | What it does |
|---|---|
doctor |
Check that all dependencies are installed |
extract <pdf> |
Extract text and images from a PDF |
generate <dir> |
Build a literature-note prompt from extracted text |
canvas -o <file> [--from-note <md>] |
Create a 9-node canvas; populate from a finished note with --from-note |
run <pdf> |
Full pipeline: extract → generate prompt → canvas |
batch <dir> |
Process all PDFs in a folder |
verify <dir> |
Quality-check output files |
Obsidian: Notes use YAML frontmatter and Dataview-compatible callouts. Canvas files open with the Obsidian Canvas plugin. Wikilinks connect to your existing notes.
Zotero: Use your Zotero citation key as the citekey field in the generated note. Export PDFs from Zotero into your processing folder before running the workflow.
"command not found: phd-deepread" — your terminal can't see the install location. Open a new terminal window. If still missing, add ~/.local/bin to your PATH:
echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.zshrc"Tesseract not found" — only matters for scanned PDFs:
brew install tesseract # macOS
sudo apt install tesseract-ocr # Ubuntu/Debian"Template not found" after installing — upgrade to the latest version:
pip install --upgrade phd-deepread-workflowUsing a virtual environment (cleanest install)
python3 -m venv venv
source venv/bin/activate # macOS/Linux
# or: venv\Scripts\activate # Windows
pip install phd-deepread-workflow- Fork the repository
- Create a feature branch:
git checkout -b feature/my-feature - Commit and push, then open a Pull Request
See CONTRIBUTING.md for details.
MIT — see LICENSE.
- Issues: GitHub Issues
- Email: heleninsights@gmail.com
Made with love for the academic community
If this workflow helps your research, consider giving it a star on GitHub!