chief-of-ai
Coordinate authorized work across persistent AI agents and existing tasks. Use when the user…
Turn expert podcasts into personalized protocols with cited experiments. Load 300 episodes from terminal, run an expert-informed interview, build experiments in your Obsidian morning routine. Use when user says \"notebooklm\", \"load channel\", \"expert interview\", \"notebooklm
$ npx -y skills add ArtemXTech/personal-os-skills --skill notebooklm --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/notebooklmContext preview
The summary Claude sees to decide when to auto-load this skill.
Turn expert podcasts into personalized protocols with cited experiments. Load 300 episodes from terminal, run an expert-informed interview, build experiments in your Obsidian morning routine. Use when user says \"notebooklm\", \"load channel\", \"expert interview\", \"notebooklm
name: notebooklm description: "Turn expert podcasts into personalized protocols with cited experiments. Load 300 episodes from terminal, run an expert-informed interview, build experiments in your Obsidian morning routine. Use when user says \"notebooklm\", \"load channel\", \"expert interview\", \"notebooklm ask\", \"health protocol\", or wants to turn expert content into actionable experiments."
Turn any expert's content into a personalized protocol with experiments you actually run. Load 300 YouTube episodes into NotebookLM from terminal, run a cited interview about your goal, create experiments in your Obsidian daily note.
**Video walkthrough:** [https://youtu.be/KRpZSvtMiTI](https://youtu.be/KRpZSvtMiTI)
1. **Load sources from terminal.** You can't just tell NotebookLM to add a YouTube channel. This skill does it. One command. 300 episodes. 2. **Cited answers traced to exact transcript lines.** Every recommendation links back to the exact episode and passage. Verifiable. 3. **Expert-informed interviews.** Claude queries NotebookLM with YOUR goal. Generates questions informed by the expert's research on your specific topic. 4. **Experiments in Obsidian.** Protocol becomes experiments in your daily note. Morning routine skill asks every day: how is this going? 5. **Any expert, any domain.** Huberman for health. Lenny for product. Onboarding docs for a new job. Same pattern.
uv tool install notebooklm-mcp-cli
Gives you the `nlm` command. See [notebooklm-mcp-cli](https://github.com/jacob-bd/notebooklm-mcp-cli) for details.
pip install "notebooklm-py[browser]" playwright install chromium
# nlm CLI auth (for queries and source listing) nlm auth login # notebooklm-py auth (for notebook creation and loading) notebooklm login
Both open a browser window for Google login. `nlm` saves to its own config, `notebooklm-py` saves cookies to `~/.notebooklm/storage_state.json`.
# List your notebooks nlm notebook list # Ask a question with citations nlm notebook query <notebook-id> "What does Huberman say about deep focus?" --json # List sources nlm source list <notebook-id> --json
| User says | Workflow | |-----------|----------| | "load channel", "youtube channel", "bulk load videos" | [workflows/youtube-channel.md](workflows/youtube-channel.md) | | "notebooklm ask", "ask notebook", "Q&A" | [workflows/ask.md](workflows/ask.md) | | "import notebook", "import sources" | [workflows/import.md](workflows/import.md) | | "notebooklm auth", "notebooklm login" | [workflows/auth.md](workflows/auth.md) |
This is the workflow shown in the video:
Goal: "I want to improve my health and focus" Expert: Andrew Huberman (@hubaborhab on YouTube)
# Scrape channel videos python3 scripts/load_channel.py scrape \ --channel "https://www.youtube.com/@hubaborhab" \ --output /tmp/huberman-videos.json # Create notebook notebooklm create "Andrew Huberman - Health" # Load 200 most recent health-related episodes notebooklm use <notebook-id> python3 scripts/load_channel.py load \ --videos /tmp/huberman-videos.json \ --notebook <notebook-id> \ --count 200 \ --concurrency 20
nlm notebook query <notebook-id> \ "What does Huberman recommend for sustaining deep focus for 4+ hours daily?" --json
Each answer comes with `[N]` citations back to the exact source and passage.
Claude uses the notebook to generate interview questions specific to YOUR goal. You answer honestly. Claude builds a personalized protocol where each recommendation is tied to an exact episode.
The protocol becomes experiments in your Obsidian vault:
Package the workflow as a `/huberman` or `/lenny` skill. Same pattern, different expert.
Your Vault/
├── Notes/NotebookLM/
│ ├── Huberman Health.md # type: notebook (index)
│ └── huberman-health/
│ ├── Sources/ # type: notebook-source (transcripts)
│ │ └── Episode Title.md
│ └── QA/ # type: nlm-query (cited answers)
│ └── 2026-04-05 Focus Protocol.md
├── Notes/Experiments/
│ └── Morning Sunlight Protocol.md # type: experiment
└── Notes/Dashboards/
└── Health.md # Dashboard with embedded experiments| Script | Purpose | |--------|---------| | `scripts/load_channel.py` | Scrape YouTube channel + bulk-load into NotebookLM | | `scripts/resolve_citations.py` | Replace `[N]` with `[[Source#^anchor\|[N]]]` wikilinks | | `scripts/import_sources.py` | Import sources as vault files with metadata | | `scripts/extract_passages.py` | Extract cited passages from Q&A into source files | | `scripts/backfill_fulltext.py` | Fetch full transcripts for source files |
All scripts use `Path.cwd()` as vault root. Run them from your vault directory.
The resolver turns `[N]` markers in NotebookLM answers into clickable `[[Source#^c-XXXXXXXX|[N]]]` wikilinks. Click to jump to the exact cited passage in the source transcript.
Claude Code skills for Obsidian workflows. 📚 Take control over your life. Point B, 14-day sprint on personal AI agents, starts Nov 3: lab.artemzhutov.com
Coordinate authorized work across persistent AI agents and existing tasks. Use when the user…
Query and sync Granola meetings to Obsidian vault. Use when user mentions Granola, meeting…
Import NotebookLM notebooks into your Obsidian vault as linked knowledge graphs. Sources…
Load context from vault memory. Temporal queries (yesterday, last week, session history) use…
Sync Claude Code sessions to Obsidian markdown. Export, resume, add notes, close sessions.…
Manage tasks in Obsidian via TaskNotes plugin API. Use when user wants to create tasks, list…