Interact with Google NotebookLM to create notebooks, add YouTube sources, analyze content, and generate artifacts (infographics, slide-decks, flashcards, reports, etc.). Use when the user wants to send content to NotebookLM or generate deliverables from it.
Create notebooks, add sources, analyze content, and generate deliverables via Google NotebookLM.
bash setup.sh (from project root)notebooklm login (run in a separate terminal)cd /home/user/Sneha && source .venv/bin/activate
python .claude/skills/notebooklm/scripts/create_notebook.py --title "Notebook Title"
Returns JSON: {"notebook_id": "...", "title": "..."}. Save the notebook_id for all subsequent commands.
python .claude/skills/notebooklm/scripts/add_sources.py \
--notebook-id <ID> \
--urls https://youtube.com/watch?v=abc https://youtube.com/watch?v=def ...
Accepts multiple URLs in one call. Adds a 1.5s delay between each to avoid rate limits. Returns summary of added/failed counts.
python .claude/skills/notebooklm/scripts/ask_question.py \
--notebook-id <ID> \
--question "Summarize the key themes and insights across all sources"
Returns JSON with the analysis answer.
python .claude/skills/notebooklm/scripts/generate_artifact.py \
--notebook-id <ID> \
--type <ARTIFACT_TYPE> \
--style "optional style description"
Supported artifact types:
infographics - Visual infographicslide-deck - Presentation slidesflashcards - Study flashcardsquiz - Quiz questionsreport - Written reportmind-map - Mind map diagramaudio - Audio overview (podcast-style)video - Video summarydata-table - Structured data tableStyle examples:
"handwritten / chalkboard" - Chalkboard aesthetic"modern and minimalist" - Clean design"colorful and engaging" - Vibrant visuals/yt-researchurl values from the resultscreate_notebook.py --title "[Topic] Research"add_sources.py --notebook-id <ID> --urls <all URLs>ask_question.py --notebook-id <ID> --question "..."generate_artifact.py --notebook-id <ID> --type infographics --style "..."If you see an auth error like "session expired" or "not authenticated", tell the user to run notebooklm login again in a separate terminal to re-authenticate.