/self-learn runs a fully autonomous 3-phase pipeline that reads an epub, extracts atomic knowledge into your Obsidian vault, validates that knowledge against NotebookLM until 100% mastery, then extends it into synthesis and applied research. All knowledge lives in Obsidian — never inside the skill itself.
Usage
How It Works
Phase 1: Extract
/self-learn parses the epub chapter by chapter. For each chapter it identifies atomic concepts — named frameworks, core principles, step-by-step processes, mental models, key distinctions, and actionable tools — then writes one Obsidian note per concept (~100 words).Concepts are organized into topic folders and linked to related concepts from earlier chapters. After all chapters are processed, the skill reports the total number of topics extracted and their category breakdown.Phase 2: Validate
This phase runs an autoresearch loop using 4 independent roles with strict information barriers:
The loop generates
| Role | Responsibility |
|---|---|
| Question Generator | Creates questions without seeing any answers |
| Knowledge Agent | Answers only from your Obsidian notes — never from the book directly |
| Oracle (NotebookLM) | Answers from the full book via notebooklm ask |
| Judge | Scores answer similarity on a 0–100 scale without knowing which is agent vs oracle |
max(100, num_topics × 3) questions — 50% topic-based, 30% blind (from chapter titles), and 20% adversarial. Any question scoring below 95 triggers a targeted update to the relevant Obsidian notes. The loop repeats with fresh questions until 100% of questions pass at ≥95.Example validation log:Phase 3: Extend
Once mastery is achieved,
/self-learn extends the knowledge beyond the source book:- Synthesis — connects concepts to adjacent thinkers; notes tagged
source: "synthesis" - Applied domains — applies ideas to new contexts; saved in
applied/{domain}/, taggedsource: "application" - Research — captures current developments related to the book’s themes; tagged
source: "research-{date}"
/ingest → /audit → /absorb → /sync.
Knowledge Output Location
Extracted notes are written to your vault under the book’s slug:Note Template
Each extracted concept is stored as a standalone Obsidian note:NotebookLM Setup
Before running the validate phase, you need to point the skill at your NotebookLM notebook. Run these two commands to set the active notebook and verify it responds:{notebook_id} with your NotebookLM notebook ID (passed via --notebook-id).
Checking Status
Always use thesummary.py script to check phase status — never generate the summary manually:
/self-learn requires Python 3.12+ and the notebooklm-py package. See the dependencies page for installation instructions.