From brain-os
Autonomously extracts atomic concepts from EPUB books into Obsidian notes, validates against NotebookLM via multi-role autoresearch loop, extends knowledge for mastery.
npx claudepluginhub sonthanh/brain-os-pluginThis skill uses the workspace's default tool permissions.
3-phase autonomous agent: extract book content → validate against NotebookLM → extend beyond the source. Inspired by [autoresearch](https://github.com/ehmo/autoresearch) — independent teams with information barriers.
Guides systematic book reading with knowledge compilation from chapters, mastery testing, spaced repetition reviews, querying, and cross-book comparisons. Builds Markdown wiki under project root.
Absorbs book insights into vault zones (business, personal, thinking) by generating reports on applications, personal habits, thinking seeds, and proposing updates. Handles single books or cross-book synthesis.
Distills books into executable Agent Skills via RIA-TV++ pipeline with extraction, triple verification, and Zettelkasten linking. Outputs Markdown skill packs for Claude Code.
Share bugs, ideas, or general feedback.
3-phase autonomous agent: extract book content → validate against NotebookLM → extend beyond the source. Inspired by autoresearch — independent teams with information barriers.
All knowledge lives in Obsidian, never in this skill.
obsidian_vault: "{vault}/knowledge/raw" # Read {vault} from ${CLAUDE_PLUGIN_ROOT}/brain-os.config.md
notebooklm_bin: ~/.local/bin/notebooklm
scripts_dir: ${CLAUDE_PLUGIN_ROOT}/skills/self-learn/scripts
Goal: Read the book → identify atomic concepts → write Obsidian notes.
scripts/lib/epub_parser.py to get chapter textscripts/lib/note_writer.py
c. Categorize into topic folders, link to related concepts from previous chapters{obsidian_vault}/{book-slug}/
├── decision-making/
├── business-operations/
├── leadership/
└── [discovered categories]/
---
source: "{book_title}"
author: "{author}"
chapter: {chapter_number}
tags: [{tags}]
---
# {Concept Title}
{~100 words: concise, crystal clear, key point only}
## Key Insight
{One sentence takeaway}
## Related
- [[related-concept-1]]
- [[related-concept-2]]
Goal: Compare agent knowledge against NotebookLM. Patch gaps until mastery.
notebooklm ask~/.local/bin/notebooklm use {notebook_id} # Set active notebook FIRST
~/.local/bin/notebooklm ask "{question}" # Then ask questions
total = max(100, num_topics × 3)
scripts/lib/question_gen.pynotebooklm ask "{question}"
c. Judge scores using scripts/lib/judge.py prompt (0-100 scale)
d. If score < 95: identify what's missing → update/create Obsidian notesWrong concepts are catastrophic. Fix conceptual errors before missing details. A note that says the wrong thing is far worse than a note missing a detail.
Round 1: 85/100 passed (85%) — weak: [business-operations, leadership-hats]
Round 2: 94/100 passed (94%) — weak: [accountability-structures]
Round 3: 100/100 passed (100%) — MASTERY ACHIEVED
After validation passes, create the structured book note directly (previously a separate /ingest step):
{obsidian_vault}/{book-slug}/{vault}/knowledge/books/{book-slug}.md/ingest skill for template)ingested: true in _validation/audit-flag.jsonsource: "synthesis"applied/{domain}/, tagged source: "application"source: "research-{date}"Extension notes use same template but different source tags.
Pipeline continues autonomously: /verify → /absorb → commit + push → notify.
Phase 2 must reach 100% pass at ≥95 before Phase 3 runs. See /study for full pipeline.
/self-learn --book <epub_path> --notebook-id <nlm_id>
/self-learn --phase extract --book <epub_path>
/self-learn --phase validate --notebook-id <nlm_id>
/self-learn --phase extend
python3 ${CLAUDE_PLUGIN_ROOT}/skills/self-learn/scripts/summary.py {vault}/knowledge/raw/the-road-less-stupid --status
python3 ${CLAUDE_PLUGIN_ROOT}/skills/self-learn/scripts/summary.py {vault}/knowledge/raw/the-road-less-stupid --phase3
python3 ${CLAUDE_PLUGIN_ROOT}/skills/self-learn/scripts/summary.py {vault}/knowledge/raw/the-road-less-stupid
| Book | Vault Path | NotebookLM ID |
|---|---|---|
| The Road Less Stupid | knowledge/raw/the-road-less-stupid | 9c6d742c-d512-42f6-a42c-ccdd993ef19f |
| Start with Why | knowledge/raw/start-with-why | e990cedd-7dca-4812-824e-7a9e757f0065 |
| Changing World Order | knowledge/raw/dalio-changing-world-order | bf8f46c4-0dfb-4f5e-9013-7a9e757f0065 |
Follow skill-spec.md § 11. Append to {vault}/daily/skill-outcomes/self-learn.log:
{date} | self-learn | {action} | ~/work/brain-os-plugin | knowledge/raw/{slug}/ | commit:{hash} | {result}
action: extract, validate, or extendresult: pass if phase completed (validate = 100% pass rate), partial if progress but not complete, fail if stuck or errorsargs="--book {epub} --notebook-id {id}", score={pass_rate}%