agentleFS
ArtemXTechArtemXTech/personal-os-skills/skills/notebooklm-import/SKILL.md

notebooklm-import

Skill545 starsChanged 54 days agoMITView on GitHub

Import NotebookLM notebooks into your Obsidian vault as linked knowledge graphs. Sources become wikilink-able files, Q&A answers get citations resolved to [[wikilinks]] with passage-level deep links. Use when user says "notebooklm import", "import notebook", "notebooklm sources", or wants to import NotebookLM data into vault files.

  • Installs packages

The file

We split this skill into the rules it gives an agent

2 rules. About 0 are common, 1 is distinctive, and 1 is very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈1

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 1

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Dashboards: use Dataview queries to list sources and Q&A notes

    line 75
  2. Very specific:

    All scripts use Path.cwd() as vault root - run them from your vault directory.

    line 112

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

NotebookLM - Vault Knowledge Graph

Turn NotebookLM notebooks into persistent, linked vault knowledge. Sources become files you can [[wikilink]], Q&A answers get [N] citations resolved to those wikilinks, dashboards tie it all together.

Prerequisites

1. Install notebooklm-py

pip install "notebooklm-py[browser]"
playwright install chromium

2. Authenticate

notebooklm login

Opens a browser window - log in with your Google account. Cookies are saved to ~/.notebooklm/storage_state.json.

Re-run notebooklm login when cookies expire (you'll see auth errors).

3. Obsidian Plugins

  • Dataview (required) - citation tables and dashboard queries use Dataview/DataviewJS

4. Vault Setup

Copy the templates from templates/ into your vault:

  • templates/notebook-source.md -> Templates/Types/notebook-source.md
  • templates/dashboard.md -> use as reference when creating dashboards

Quick Start

# Check current notebook
notebooklm status

# Switch notebook
notebooklm use <notebook-id>

# List notebooks
notebooklm list

Workflow Routing

User saysWorkflow
"import notebook", "notebooklm import", "import sources"workflows/import.md
"notebooklm ask", "ask notebook", "Q&A"workflows/ask.md

Architecture

Your Vault
├── Notes/NotebookLM/{notebook-slug}/
│   ├── Sources/          # One .md per source (YouTube, PDF, web, etc.)
│   │   ├── Video Title.md
│   │   └── Article Title.md
│   └── QA/               # Q&A notes with resolved citations
│       └── 2026-02-23 Emerging Themes.md
└── Notes/Dashboards/
    └── My Research.md     # Dashboard with Dataview queries
  • Source files have type notebook-source with frontmatter: source_id, notebook_id, url, source_type, topics as [[wikilinks]]
  • Q&A notes have type reference with [N] citations resolved to [[Source Title#Passage N]] wikilinks
  • Dashboards use Dataview queries to list sources and Q&A notes

Data Model

notebook-source frontmatter:

type: notebook-source
source_id: "uuid"        # NotebookLM source ID
notebook_id: "uuid"      # NotebookLM notebook ID
url: ""                  # Original URL
source_type: youtube     # youtube, pdf, web, text, gdocs, gslides
status: active
date: YYYY-MM-DD
topics:
  - "[[Topic Name]]"     # AI-extracted topics as wikilinks
related:
  - "[[Notes/Dashboards/Dashboard Name]]"

Q&A reference frontmatter:

type: reference
status: current
date: YYYY-MM-DD
source: "notebooklm:{notebook-slug}"
related:
  - "[[Notes/Dashboards/Dashboard Name]]"

Scripts

ScriptPurpose
scripts/import_sources.pyImport sources as vault files with AI-generated guides and topics
scripts/extract_passages.pyExtract cited passages from Q&A into source files
scripts/resolve_citations.pyReplace [N] markers with [[wikilinks]] in Q&A answers

All scripts use Path.cwd() as vault root - run them from your vault directory.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.