Install any skill in seconds. Free to start, no credit card required.
Get Started Free →**Description**: An Obsidian-based L3-grade paper reading and memory extraction system.
.claude/skills/eesjgong-scholarskill-academic-paper-reading-and-knowledge-internalization/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-03 | ✗→✓ | ▲ Improved | 46% | 0% |
| case-05 | ✗→✓ | ▲ Improved | 115% | 0% |
| case-06 | ✗→✓ | ▲ Improved | 131% | 0% |
| case-07 | ✗→✓ | ▲ Improved | 106% | 0% |
| case-08 | ✗→✓ | ▲ Improved | 367% | 0% |
Description: An Obsidian-based L3-grade paper reading and memory extraction system.
Version: v1.0.0 Last Updated: 2026-03-18
Welcome to ScholarSkill! Owl mascot included.
Before reading papers, complete the setup flow below. This package supports three setup modes.
auto)bash# Choose the English package first, then explicitly point to the target Obsidian vault python ~/.openclaw/workspace-scholar/skills/scholar-skill/en/scripts/configure.py auto --vault-path "/your/Obsidian/Vault"
Best for: first-time users with Obsidian already installed Automatically handles:
1-Papers, 2-Knowledge, 3-MOCs, memory, and more)Note: it is strongly recommended to always pass --vault-path so the script never selects the wrong vault and only syncs the English templates.
semi) - Recommendedbash# Run the English package setup script and explicitly provide the target vault python ~/.openclaw/workspace-scholar/skills/scholar-skill/en/scripts/configure.py semi --vault-path "/your/Obsidian/Vault"
Best for: users who want to confirm each step Flow:
manual)bash# Run the English package setup script and explicitly provide the target vault python ~/.openclaw/workspace-scholar/skills/scholar-skill/en/scripts/configure.py manual --vault-path "/your/Obsidian/Vault"
Best for: advanced users who know exactly what they want Flow:
ScholarSkill depends on the following skills. The setup script checks these automatically.
| Skill | Purpose | Required | |------|------|------| | obsidian-direct | Obsidian file operations | ⭐⭐⭐ | | arxiv-watcher | ArXiv paper search | ⭐⭐⭐ |
| Skill | Purpose | Required | |------|------|------| | academic-research-hub | Multi-source academic search | ⭐⭐ | | tavily | Web content extraction | ⭐⭐ | | pdf | PDF text extraction | ⭐⭐ | | obsidian-cli | Obsidian CLI utilities | ⭐⭐ |
| Skill | Purpose | Required | |------|------|------| | durable-task-runner | long-task orchestration, progress tracking, crash recovery | ⭐⭐⭐ (L3 / batch) |
Why durable-task-runner matters
L3 deep reading (2.5 hours): needs progress tracking and interruption recoveryInstall commands
bash# Core dependencies (via ClawHub) clawhub install obsidian-direct clawhub install arxiv-watcher # Recommended enhancements clawhub install academic-research-hub clawhub install tavily clawhub install pdf clawhub install obsidian-cli # Long-running orchestration (required for L3 / batch workflows) clawhub install durable-task-runner
Manual installation (if ClawHub is unavailable):
bashcd ~/.openclaw/workspace-scholar/skills git clone https://github.com/OpenClaw/obsidian-direct.git git clone https://github.com/OpenClaw/arxiv-watcher.git # ...install the others the same way
After setup, the config file is written to:
text~/.openclaw/workspace-scholar/config/scholar.yml
If that directory does not exist, the script falls back to:
text~/.openclaw/workspace/config/scholar.yml
Key config fields
yamlobsidian: vault_path: /Users/your-name/ObsidianVault # auto-detected or entered manually reading: default_level: L2 # L1 / L2 / L3 notification: feishu_enabled: false
Q: What if the Obsidian vault cannot be found? A: Use semi-automatic or manual mode and provide the path yourself. If Obsidian is not installed yet, install it first from obsidian.md.
Q: What if dependency installation fails? A: Use clawhub install <skill-name>. If ClawHub is unavailable, clone the skill into ~/.openclaw/workspace-scholar/skills/.
Q: Can I change the config later? A: Yes. Edit ~/.openclaw/workspace-scholar/config/scholar.yml or ~/.openclaw/workspace/config/scholar.yml.
Q: I configured the wrong thing. How do I reset? A: Remove the config file and rerun the English package setup: rm ~/.openclaw/workspace-scholar/config/scholar.yml && python ~/.openclaw/workspace-scholar/skills/scholar-skill/en/scripts/configure.py auto --vault-path "/your/Obsidian/Vault"
L1 Quick Triage (5 minutes)P0/P1/P2)P2 papersL2 Standard Reading (45 minutes)P1 papers and daily readingL3 Deep Reading (2.5 hours)P0 papers that are core to your directionSemantic Memory: facts, concepts, methods, and conclusions Episodic Memory: questions, misunderstandings, and correction processes Procedural Memory: reusable reading rules and research methods
L1 reflection: quick check of understanding, questions, and next actions after each paperL2 reflection: weekly review of knowledge growth, missing links, direction, and risksL3 reflection: monthly review of knowledge evolution, direction shifts, and belief revision0-Inbox/text1. Receive a paper (PDF / ArXiv URL / local file) 2. Evaluate priority (P0 / P1 / P2) 3. Choose reading depth (L1 / L2 / L3) 4. Read and generate notes 5. Extract memories (Semantic / Episodic / Procedural) 6. Update `2-Knowledge/` (Concept / Insight / Method / Question / Person) 7. Connect knowledge (bidirectional links + MOC updates) 8. Write reflections / confirmation requests / reports
yaml# ~/.openclaw/workspace-scholar/config/scholar.yml or ~/.openclaw/workspace/config/scholar.yml # The setup script prefers ~/.openclaw/workspace-scholar/config/ when available obsidian: inbox_folder: 0-Inbox vault_path: /Users/your-name/ObsidianVault paper_notes_folder: 1-Papers knowledge_folder: 2-Knowledge concepts_folder: 2-Knowledge/Concepts insights_folder: 2-Knowledge/Insights methods_folder: 2-Knowledge/Methods questions_folder: 2-Knowledge/Questions people_folder: 2-Knowledge/People moc_folder: 3-MOCs outputs_folder: 4-Outputs reflections_folder: 4-Outputs/Reflections confirmation_records_folder: 4-Outputs/Confirmation-Records templates_folder: 9-Templates/en memory_folder: memory reading: default_level: L2 enable_memory_extraction: true enable_knowledge_consolidation: true notification: feishu_enabled: false feishu_user_id: ou_xxxxxxxxxxxxx
The setup script syncs the English templates into:
text{vault}/9-Templates/en/
Location: {vault}/1-Papers/By-Topic/{Topic}/{Year}-{Author}-{Title}.md
Location: {vault}/memory/semantic/{Topic}.md
Location: {vault}/memory/procedural/{Topic}.md
Location: {vault}/memory/episodic/{Date}-{Paper}.md
Location: {vault}/3-MOCs/MOC-{Topic}.md
Location: {vault}/2-Knowledge/Concepts/
Location: {vault}/2-Knowledge/Insights/
Location: {vault}/2-Knowledge/Questions/
Location: {vault}/2-Knowledge/Methods/
Location: {vault}/2-Knowledge/People/
Location: {vault}/4-Outputs/Reflections/L1|L2|L3/
Location: {vault}/0-Inbox/
L2 Standard ReadingtextUser: Please read this paper at L2 depth. Attachment: paper.pdf Agent: 1. Evaluate priority -> P1 2. Perform L2 reading (45-minute standard) 3. Generate the note (3-5 KB) 4. Extract 5-8 memory items 5. Create Concept / Insight / Question / Method cards when needed 6. Update links and the MOC 7. Generate an L1 reflection 8. Output the report
L3 Deep ReadingtextUser: Please deep-read ArXiv:2407.19354 at L3 depth. Agent: 1. Retrieve the paper (ArXiv API) 2. Evaluate priority -> P0 (directly relevant to the core direction) 3. Perform L3 reading (2.5-hour standard) 4. Generate a deep note (10-15 KB) 5. Upgrade knowledge and revise old knowledge 6. Distill 2-3 procedural rules 7. Update `2-Knowledge/` and `3-MOCs/` 8. If conflicts or new directions appear, create a confirmation request in `0-Inbox/` 9. Generate a deep reflection and push the detailed report
textUser: Screen these 10 papers with L1 first, then run L2 reading on the P0 / P1 papers. Agent: 1. Run batch L1 triage (5 minutes per paper) 2. Classify priorities: P0 (2 papers) + P1 (5 papers) + P2 (3 papers) 3. Run L3 on the P0 papers 4. Run L2 on the P1 papers 5. Archive the P2 papers only 6. Run an L2 reflection on the weekend and organize concepts / MOCs 7. Output a summary report
L2 Checklistaction fieldL3 ChecklistL2 requirements satisfied2-Knowledge Update ChecklistL1 reflection generated after the paper?L2 / L3 reflection cycles?arxiv-watcher: ArXiv paper searchacademic-research-hub: multi-source academic searchobsidian-direct: Obsidian file operationstavily: web content extractionpdf: PDF text extractionobsidian-cli: Obsidian CLI utilitiesL1 output and record the error logcontradict and resolve it during weekly consolidationL2 time 30 -> 45 minutes, optimized memory counts)L1 / L2 / L3 standardSkill Author: Scholar Agent Last Updated: 2026-03-18 License: MIT
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-01 | fail→fail | 13,519 | 17,295 | +28% | 1 | 1 | 0% | 2,619 | 6,028 | +130% | 0 | 0 | — |
case-02 | fail→fail | 47,596 | 6,887 | -86% | 1 | 1 | 0% | 8,252 | 4,193 | -49% | 0 | 0 | — |
case-03 | fail→pass | 45,839 | 43,687 | -5% | 1 | 1 | 0% | 8,257 | 12,068 | +46% | 0 | 0 | — |
case-04 | fail→fail | 6,756 | 9,118 | +35% | 1 | 1 | 0% | 942 | 4,937 | +424% | 0 | 0 | — |
case-05 | fail→pass | 13,722 | 3,420 | -75% | 1 | 1 | 0% | 1,980 | 4,265 | +115% | 0 | 0 | — |
case-06 | fail→pass | 23,272 | 3,394 | -85% | 1 | 1 | 0% | 1,930 | 4,459 | +131% | 0 | 0 | — |
case-07 | fail→pass | 14,395 | 3,735 | -74% | 1 | 1 | 0% | 2,118 | 4,355 | +106% | 0 | 0 | — |
case-08 | fail→pass | 7,332 | 4,623 | -37% | 1 | 1 | 0% | 976 | 4,557 | +367% | 0 | 0 | — |
case-09 | fail→pass | 10,306 | 10,381 | +1% | 1 | 1 | 0% | 1,503 | 5,351 | +256% | 0 | 0 | — |
case-10 | fail→pass | 13,737 | 3,113 | -77% | 1 | 1 | 0% | 2,169 | 4,347 | +100% | 0 | 0 | — |
case-11 | fail→pass | 14,650 | 3,746 | -74% | 1 | 1 | 0% | 2,261 | 4,315 | +91% | 0 | 0 | — |
case-12 | fail→pass | 14,923 | 3,430 | -77% | 1 | 1 | 0% | 2,118 | 4,147 | +96% | 0 | 0 | — |
case-13 | fail→pass | 11,946 | 4,181 | -65% | 1 | 1 | 0% | 1,693 | 4,338 | +156% | 0 | 0 | — |
case-14 | fail→pass | 14,700 | 16,619 | +13% | 1 | 1 | 0% | 1,913 | 6,145 | +221% | 0 | 0 | — |
case-15 | fail→pass | 6,782 | 3,122 | -54% | 1 | 1 | 0% | 1,075 | 4,244 | +295% | 0 | 0 | — |
case-16 | fail→pass | 12,306 | 5,378 | -56% | 1 | 1 | 0% | 1,925 | 4,597 | +139% | 0 | 0 | — |
case-17 | fail→pass | 11,883 | 4,112 | -65% | 1 | 1 | 0% | 1,856 | 4,394 | +137% | 0 | 0 | — |
case-18 | pass→pass | 12,983 | 7,699 | -41% | 1 | 1 | 0% | 2,120 | 4,920 | +132% | 0 | 0 | — |
case-19 | fail→pass | 10,269 | 3,491 | -66% | 1 | 1 | 0% | 1,318 | 4,127 | +213% | 0 | 0 | — |
case-20 | pass→pass | 19,663 | 27,539 | +40% | 1 | 1 | 0% | 2,853 | 6,758 | +137% | 0 | 0 | — |
case-21 | pass→pass | 8,490 | 7,610 | -10% | 1 | 1 | 0% | 1,447 | 4,958 | +243% | 0 | 0 | — |
case-22 | pass→pass | 15,673 | 13,827 | -12% | 1 | 1 | 0% | 2,162 | 5,647 | +161% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 22 cases were attempted, and 21 counted toward the lift figure. The other 1 produced results that are not comparable between the two arms, so they are excluded from the headline rather than averaged into it. The headline lift of +68 percentage points is the difference between those two pass rates over the 21 comparable cases.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.