Interactive review sessions with academic PDFs (lectures, research papers, book chapters). Extract concepts, run Q&A sessions, generate quizzes with scoring. Preserves mathematical formulas in LaTeX format. Privacy-preserving local processing - PDFs never uploaded. Use when studying academic materials, reviewing research, or preparing for exams.
This skill enables interactive review sessions with academic PDFs while preserving your privacy. All PDF processing happens locally on your machine using the Marker library - PDFs are never sent to Anthropic servers. Only extracted text (with LaTeX formulas) is used in our conversation.
Supported Document Types:
Key Features:
$E = mc^2$, $$\int_a^b f(x)dx$$)When starting a review session, identify the document type from context:
Lectures - Indicators:
Research Papers - Indicators:
Book Chapters - Indicators:
Default approach: If unclear, start with Q&A mode and adapt based on the content structure.
When the user requests a review session:
**/*.pdf or more specific patternsUser: "Review the SLAM paper by Smith et al."
Your actions:
1. Use Glob to find PDFs matching "smith" or "slam"
2. Identify as research paper
3. Run: python scripts/extract_pdf.py <pdf_path>
4. Read the cached markdown file
5. Ask: "Q&A mode or Quiz mode?"
6. Begin selected mode (adapt to paper structure)
Purpose: Answer user's specific questions about content with detailed explanations.
How to conduct Q&A mode:
Load and parse content:
# Extract PDF (or use cached version)
python scripts/extract_pdf.py /path/to/document.pdf
Then read the output markdown file using the Read tool.
Present overview (adapt to document type):
For Lectures:
Example:
📚 Lecture Overview: Epipolar Geometry
This lecture covers 45 slides on:
- Epipolar constraint: $x'^T F x = 0$
- Fundamental matrix $F$ (3x3, rank 2)
- Essential matrix $E = K'^T F K$
- Applications: stereo vision, 3D reconstruction
Ask me anything about these topics, or say "quiz" to switch to quiz mode.
For Research Papers:
Example:
📄 Paper Overview: "ORB-SLAM2: Real-Time SLAM for Monocular, Stereo and RGB-D Cameras"
**Research Question**: How to build a complete SLAM system that works across multiple camera types?
**Key Contributions**:
- Unified SLAM system for monocular, stereo, and RGB-D cameras
- Place recognition and loop closing
- Real-time performance on standard CPUs
**Methods**: ORB features, bag-of-words place recognition, pose graph optimization
**Results**: Evaluated on KITTI and TUM datasets, outperforms previous methods
Ask me about methodology, results, or implementation details.
For Book Chapters:
Example:
📖 Chapter Overview: "Matrix Decompositions" (Chapter 7)
**Topics Covered**:
- Singular Value Decomposition (SVD): $A = U\Sigma V^T$
- Eigenvalue decomposition: $A = Q\Lambda Q^T$
- QR decomposition and applications
- Least squares via matrix decompositions
**Key Theorems**: Spectral theorem, SVD existence
**Exercises**: 15 problems on computing decompositions and applications
Ask me about concepts, work through examples, or get help with exercises.
Document-specific guidance:
Lectures: Focus on concept understanding, derivations, applications Papers: Focus on methodology critique, results interpretation, reproducibility Chapters: Focus on theorem understanding, example walkthrough, exercise solving
Purpose: Test user's knowledge with auto-generated questions, provide scoring and feedback.
How to conduct Quiz mode:
Load and analyze content:
# Extract PDF (or use cached version)
python scripts/extract_pdf.py /path/to/document.pdf
Read the markdown and analyze:
Generate questions (default: 10, but ask user for preference):
For Lectures:
For Research Papers:
For Book Chapters:
Mix question types and topics proportionally. Order by difficulty (easier first).
Present questions one at a time:
Quiz Mode - 10 Questions
Score: 0/0
Question 1 of 10 [Multiple Choice]
What is the rank of the Fundamental matrix $F$?
a) 1
b) 2
c) 3
d) 4
Your answer:
Evaluate and provide feedback:
✓ Correct! [+1 point]
The Fundamental matrix $F$ has rank 2, which means det($F$) = 0. This constraint
arises from the fact that $F$ maps points to epipolar lines, and the mapping has
a one-dimensional null space.
Score: 1/1 (100%)
Question 2 of 10...
Scoring Guidelines:
General patterns:
# All PDFs in current directory and subdirectories
glob pattern: "**/*.pdf"
# Find specific document by name
glob pattern: "**/*smith*.pdf"
# Course-specific (if organized in directories)
glob pattern: "CS229/**/*.pdf"
When user's request is ambiguous:
When extracting a PDF for the first time:
# Run extraction script (uses venv python)
source .venv/bin/activate && python scripts/extract_pdf.py /path/to/document.pdf
This will:
.cache/extracted/<hash>.md.cache/extracted/<hash>.jsonThe script prints the path to the cached markdown file - use Read to load it.
If the PDF was previously extracted:
If user asks about a specific diagram or visual element:
# Extract page 23 as an image
source .venv/bin/activate && python scripts/extract_page_image.py /path/to/document.pdf 23
Then use Read to view the image and analyze it visually.
Extracted formulas are in LaTeX format:
Inline: $E = mc^2$
Display: $$\int_a^b f(x)dx$$
When explaining formulas:
Example:
The epipolar constraint is expressed as:
$$x'^T F x = 0$$
Where:
- $x$ and $x'$ are corresponding points in homogeneous coordinates
- $F$ is the 3×3 Fundamental matrix
- The equation states that $x'$ lies on the epipolar line $Fx$ in the second image
General Guidelines:
For Math-Heavy Content:
For Research Papers:
For Book Chapters:
For Multi-PDF Sessions:
Mode Switching:
User: "Quiz me on the SLAM lecture"
Your actions:
1. glob pattern: "**/*slam*.pdf"
2. Find matching PDF (e.g., "Lecture_12_SLAM.pdf")
3. Identify as lecture (filename, slide structure)
4. source .venv/bin/activate && python scripts/extract_pdf.py Lecture_12_SLAM.pdf
5. Read cached markdown
6. Generate 10 questions covering SLAM topics
7. Start quiz mode
User: "Help me understand the ORB-SLAM2 paper"
Your actions:
1. glob pattern: "**/*orb*slam*.pdf"
2. Find matching PDF
3. Identify as research paper (structure, citations)
4. source .venv/bin/activate && python scripts/extract_pdf.py orb_slam2.pdf
5. Read cached markdown
6. Present paper overview (research question, methods, results)
7. Enter Q&A mode - focus on methodology and results interpretation
User: "Review chapter 7 on matrix decompositions"
Your actions:
1. glob pattern: "**/*chapter*7*.pdf" or "**/*matrix*.pdf"
2. Find matching PDF
3. Identify as book chapter (numbered sections, exercises)
4. source .venv/bin/activate && python scripts/extract_pdf.py chapter_07_decompositions.pdf
5. Read cached markdown
6. Present chapter overview (concepts, theorems, exercises)
7. Ask: "Q&A mode or Quiz mode?"
8. If Q&A: Help with concepts and exercises
9. If Quiz: Generate problems similar to exercises
[In Q&A mode]
User: "Actually, can you quiz me instead?"
Your response:
"Sure! I'll generate a quiz based on this content. How many questions would you like? (default: 10)"
User: "10 is fine"
Your response:
[Generate 10 questions and start quiz mode]
User: "I don't understand the diagram on page 15"
Your actions:
1. source .venv/bin/activate && python scripts/extract_page_image.py /path/to/document.pdf 15
2. Read the image file
3. Analyze the diagram visually
4. Explain what it shows, referencing specific elements
Your response:
"Let me extract that diagram for you..."
[After reading image]
"This diagram shows the epipolar geometry configuration. I can see two cameras (left and right) viewing a 3D point P. The key elements are:
- Point P in 3D space
- Its projections p and p' in the two images
- The baseline connecting camera centers C and C'
- The epipolar plane (gray triangle)
- Epipolar lines l and l' in each image
Would you like me to explain how these elements relate to the Fundamental matrix?"
If extraction fails:
pip list | grep marker)If formula extraction is unclear:
If no PDFs found:
Always remember: PDFs are processed locally. Only extracted markdown text (with LaTeX formulas) is sent to Claude. The original PDFs never leave the user's machine. This ensures privacy for proprietary or sensitive academic materials.
For detailed documentation, see reference.md. For usage examples, see examples.md.
Answer questions:
Track progress:
For incorrect answers:
✗ Incorrect [+0 points]
Your answer: a) 1
Correct answer: b) 2
The Fundamental matrix has rank 2, not 1. The rank-2 constraint (det($F$) = 0)
is one of the key properties used in estimating $F$ from point correspondences.
Score: 1/2 (50%)
Question 3 of 10...
End with summary:
📊 Quiz Complete!
Final Score: 8/10 (80%) - B
✓ Topics Mastered:
- Epipolar constraint
- Essential matrix properties
- Stereo reconstruction basics
⚠️ Topics to Review:
- Fundamental matrix estimation (8-point algorithm)
- RANSAC for outlier rejection
Would you like to:
1. Review the topics you missed in Q&A mode?
2. Take another quiz on the same material?
3. Move to a different document?
Edit PDFs with natural-language instructions using the nano-pdf CLI.