notebooklm

Complete Google NotebookLM integration — add sources, ask questions, generate all Studio content (podcast, video, slide deck, quiz, flashcards, infographic, mind map, data table, report), download artifacts, and manage notebooks programmatically. Activates on /notebooklm or intent like "create a podcast about X", "make a presentation", "generate a quiz", "summarize these documents".

Safety Notice

This listing is from the official public ClawHub registry. Review SKILL.md and referenced scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "notebooklm" with this command: npx skills add nikolayco/noteboklm

NotebookLM Skill

Full programmatic access to Google NotebookLM — including features not exposed in the web UI.

Library: teng-lin/notebooklm-py ⚠️ Unofficial — Uses undocumented Google APIs. May break without notice.


Prerequisites

Authentication must be active before any command:

notebooklm login          # Opens browser — log in with Google account
notebooklm list           # Confirm auth works
notebooklm auth check     # Diagnose auth issues
notebooklm auth check --test   # Full validation including network test

Verify readiness before any workflow:

notebooklm status         # Active notebook and session
notebooklm doctor         # Environment health check
notebooklm doctor --fix   # Auto-fix issues

When This Skill Activates

Explicit: /notebooklm, "use notebooklm", "with notebooklm"

Intent detection:

  • "Create a podcast / audio overview about [topic]"
  • "Summarize these URLs / documents"
  • "Generate a quiz from my research"
  • "Make flashcards for studying"
  • "Generate a video explainer"
  • "Build a presentation / slide deck"
  • "Make an infographic"
  • "Create a mind map"
  • "Add these sources to NotebookLM"
  • "Research [topic] and import sources"
  • "Analyze these documents"

Autonomy Rules

Run without confirmation:

  • notebooklm status, list, doctor — read-only
  • notebooklm auth check — diagnostics
  • notebooklm create — create notebook
  • notebooklm use <id> — set context (⚠️ single-agent only; use -n in parallel)
  • notebooklm source add — add sources
  • notebooklm ask "..." — chat (without --save-as-note)
  • notebooklm language list/get/set — language settings
  • notebooklm profile list/create/switch — profile management

Ask user first:

  • notebooklm delete — destructive
  • notebooklm generate * — long-running, may hit rate limits
  • notebooklm download * — writes to filesystem
  • notebooklm ask "..." --save-as-note — writes a note
  • notebooklm history --save — writes a note

Quick Reference

TaskCommand
Log innotebooklm login
List notebooksnotebooklm list
Create notebooknotebooklm create "Title"
Set active notebooknotebooklm use <notebook_id>
Show contextnotebooklm status
Add URLnotebooklm source add "https://..."
Add filenotebooklm source add ./file.pdf
Add YouTubenotebooklm source add "https://youtube.com/..."
Add Drive docnotebooklm source add-drive <file_id> "Title"
List sourcesnotebooklm source list
Web research (fast)notebooklm source add-research "query"
Web research (deep)notebooklm source add-research "query" --mode deep --no-wait
Ask a questionnotebooklm ask "question"
Ask with referencesnotebooklm ask "question" --json
Save answer as notenotebooklm ask "question" --save-as-note
Chat historynotebooklm history
Generate podcastnotebooklm generate audio "instructions"
Generate videonotebooklm generate video
Generate cinematic videonotebooklm generate cinematic-video "description"
Generate slide decknotebooklm generate slide-deck
Generate quiznotebooklm generate quiz
Generate flashcardsnotebooklm generate flashcards
Generate infographicnotebooklm generate infographic
Generate mind mapnotebooklm generate mind-map
Generate data tablenotebooklm generate data-table "description"
Generate reportnotebooklm generate report --format study-guide
Check artifact statusnotebooklm artifact list
Wait for artifactnotebooklm artifact wait <artifact_id>
Download podcastnotebooklm download audio ./podcast.mp3
Download videonotebooklm download video ./video.mp4
Download slides (PDF)notebooklm download slide-deck ./slides.pdf
Download slides (PPTX)notebooklm download slide-deck ./slides.pptx --format pptx
Download quiznotebooklm download quiz quiz.json
Set languagenotebooklm language set en

Sources

Supported Types

URLs, YouTube videos, PDFs, text/Markdown/Word files, Google Drive docs, audio, video, images, pasted text.

notebooklm source add "https://example.com/article"
notebooklm source add ./report.pdf
notebooklm source add "https://www.youtube.com/watch?v=VIDEO_ID"
notebooklm source add-drive <drive_file_id> "Doc Title"

notebooklm source list
notebooklm source fulltext <source_id>     # Get indexed text content
notebooklm source guide <source_id>        # Get source guide
notebooklm source wait <source_id>         # Wait for indexing
notebooklm source delete <source_id>
notebooklm source delete-by-title "Exact Title"

Web Research

# Fast (5–10 sources, seconds)
notebooklm source add-research "AI trends 2025"

# Deep — blocking (20+ sources, waits up to 5 min)
notebooklm source add-research "AI safety" --mode deep --import-all

# Deep — non-blocking (recommended for agents)
notebooklm source add-research "AI safety" --mode deep --no-wait
notebooklm research status               # Check progress
notebooklm research wait --import-all    # Wait and auto-import

# Search Google Drive
notebooklm source add-research "Project Report" --from drive

Source limits by plan: Standard 50 · Plus 100 · Pro 300 · Ultra 600


Chat & Q&A

notebooklm ask "What are the main themes?"

# Use specific sources only
notebooklm ask "Compare these" -s src_id1 -s src_id2

# Get answer with source citations
notebooklm ask "What is X?" --json

# Save answer as note
notebooklm ask "Summarize" --save-as-note
notebooklm ask "Summarize" --save-as-note --note-title "Research Summary"

# Continue a specific conversation
notebooklm ask "Tell me more" -c <conversation_id>

notebooklm history                         # View history
notebooklm history --show-all             # Full Q&A content
notebooklm history --save                 # Save as note
notebooklm history --save --note-title "Session Log"

Content Generation

🎙️ Podcast (Audio Overview)

# Formats: deep-dive | brief | critique | debate
# Lengths:  short | default | long
notebooklm generate audio "Focus on practical applications"
notebooklm generate audio "Compare two viewpoints" --format debate --length long
notebooklm generate audio -s src1 -s src2          # Specific sources
notebooklm generate audio --language en --json     # JSON output → task_id

notebooklm download audio ./podcast.mp3

🎬 Video

# Formats: explainer | brief
# Styles:  auto | classic | whiteboard | kawaii | anime | watercolor | retro-print | heritage | paper-craft
notebooklm generate video "Explain for beginners" --style whiteboard
notebooklm generate cinematic-video "Documentary-style summary"

notebooklm download video ./video.mp4
notebooklm download cinematic-video ./documentary.mp4

📊 Slide Deck

# Formats: detailed | presenter
# Lengths: default | short
notebooklm generate slide-deck --format detailed

notebooklm download slide-deck ./slides.pdf
notebooklm download slide-deck ./slides.pptx --format pptx   # ← not in web UI

# Revise individual slide (zero-indexed)
notebooklm generate revise-slide "Make title more impactful" --artifact <id> --slide 0 --wait
notebooklm generate revise-slide "Remove the table" --artifact <id> --slide 3 --wait

❓ Quiz

# Difficulty: easy | medium | hard
# Quantity:   fewer | standard | more
notebooklm generate quiz --difficulty hard --quantity more

notebooklm download quiz quiz.json                           # JSON ← not in web UI
notebooklm download quiz --format markdown quiz.md
notebooklm download quiz --format html quiz.html

🃏 Flashcards

notebooklm generate flashcards --difficulty medium --quantity more

notebooklm download flashcards cards.json
notebooklm download flashcards --format markdown cards.md

🗺️ Mind Map

notebooklm generate mind-map    # Synchronous — instant, no --wait needed

notebooklm download mind-map ./mindmap.json    # ← not in web UI

📈 Infographic

# Orientation: landscape | portrait | square
# Detail:      concise | standard | detailed
# Style:       auto | sketch-note | professional | bento-grid | editorial |
#              instructional | bricks | clay | anime | kawaii | scientific
notebooklm generate infographic --orientation portrait --style professional --detail detailed

notebooklm download infographic ./infographic.png

📋 Data Table

notebooklm generate data-table "Compare the key concepts"

notebooklm download data-table ./data.csv

📄 Report

# Formats: briefing-doc | study-guide | blog-post | custom
notebooklm generate report --format study-guide
notebooklm generate report --format briefing-doc --append "Keep under 2 pages"
notebooklm generate report "Technical white paper on AI trends"    # → auto custom
notebooklm generate report --format study-guide -s src1 -s src2   # Specific sources

notebooklm download report ./report.md

Generation Types Summary

TypeCommandOptionsDownload
Podcastgenerate audio--format, --length.mp3
Videogenerate video--format, --style.mp4
Cinematic Videogenerate cinematic-videosame as video.mp4
Slide Deckgenerate slide-deck--format, --length.pdf / .pptx
Quizgenerate quiz--difficulty, --quantity.json/.md/.html
Flashcardsgenerate flashcards--difficulty, --quantity.json/.md/.html
Infographicgenerate infographic--orientation, --detail, --style.png
Reportgenerate report--format, --append.md
Mind Mapgenerate mind-map(sync, instant).json
Data Tablegenerate data-tabledescription required.csv

All generate commands also support: -s/--source (specific sources), --language, --json, --retry N


Artifact Management

notebooklm artifact list
notebooklm artifact list --type audio       # Filter by type
notebooklm artifact get <artifact_id>
notebooklm artifact rename <artifact_id> "New Title"
notebooklm artifact delete <artifact_id>
notebooklm artifact wait <artifact_id> --timeout 1200
notebooklm artifact export <artifact_id> --type docs    # → Google Docs
notebooklm artifact export <artifact_id> --type sheets  # → Google Sheets
notebooklm artifact suggestions

# Batch downloads (not in web UI)
notebooklm download audio --all
notebooklm download infographic --all
notebooklm download video --latest
notebooklm download audio --all --dry-run   # Preview only

Notes

notebooklm note list
notebooklm note create "My research notes..."
notebooklm note get <note_id>
notebooklm note save <note_id> --title "New Title" --content "Updated content"
notebooklm note rename <note_id> "New Title"
notebooklm note delete <note_id>

Sharing

notebooklm share status
notebooklm share public --enable
notebooklm share public --disable
notebooklm share view-level full     # Chat + sources + notes
notebooklm share view-level chat     # Chat only
notebooklm share add user@example.com
notebooklm share add user@example.com --permission editor
notebooklm share update user@example.com --permission editor
notebooklm share remove user@example.com

Language Settings

notebooklm language list              # List all 80+ supported languages
notebooklm language get               # Show current setting
notebooklm language set en            # Set globally

# Per-command override
notebooklm generate audio --language de
notebooklm generate video --language fr

Important: Language is a GLOBAL setting affecting all notebooks in your account.

Common codes: en English · de German · fr French · es Spanish · it Italian · pt_BR Portuguese · ja Japanese · ko Korean · zh_Hans Simplified Chinese · ar Arabic


Features Not in the Web UI

FeatureCommand
Batch downloadsdownload <type> --all
Quiz/Flashcard as JSON or Markdowndownload quiz --format json
Mind map JSON exportdownload mind-map
Slide deck as PPTXdownload slide-deck --format pptx
Individual slide revisiongenerate revise-slide "..." --artifact <id> --slide N
Report template appendgenerate report --format study-guide --append "..."
Source full-text accesssource fulltext <id>
Save chat to noteask "..." --save-as-note
Programmatic sharingshare commands

Common Workflows

Research → Podcast

notebooklm create "Research: AI"
notebooklm use <id>
notebooklm source add "https://en.wikipedia.org/wiki/Artificial_intelligence"
notebooklm source add-research "AI trends 2025" --mode deep --import-all
notebooklm generate audio "Focus on breakthroughs and future outlook" --format debate --wait
notebooklm download audio ./ai-podcast.mp3

Documents → Study Materials

notebooklm create "Exam Prep"
notebooklm use <id>
notebooklm source add ./lecture-notes.pdf
notebooklm source add ./textbook-chapter.pdf
notebooklm generate quiz --difficulty hard --wait
notebooklm generate flashcards --wait
notebooklm generate report --format study-guide --wait
notebooklm ask "What are the most important topics?"

YouTube → Notes + Report

notebooklm create "Video Notes"
notebooklm use <id>
notebooklm source add "https://www.youtube.com/watch?v=VIDEO_ID"
notebooklm ask "What are the main points?"
notebooklm generate report --format briefing-doc --wait
notebooklm download report ./notes.md

Full Presentation Workflow

notebooklm create "Presentation: [Topic]"
notebooklm use <id>
notebooklm source add "https://source1.com"
notebooklm source add ./data.pdf
notebooklm generate slide-deck --format detailed --wait
notebooklm download slide-deck ./slides.pptx --format pptx
notebooklm generate revise-slide "Stronger opening title" --artifact <id> --slide 0 --wait

Agent Automation (Non-blocking)

NB_ID=$(notebooklm create "Bulk Research" --json | python3 -c "import sys,json; print(json.load(sys.stdin)['id'])")
notebooklm use $NB_ID
SRC=$(notebooklm source add "https://url.com" --json | python3 -c "import sys,json; print(json.load(sys.stdin)['source_id'])")
notebooklm source wait $SRC --timeout 120
TASK=$(notebooklm generate audio "Overview" --json | python3 -c "import sys,json; print(json.load(sys.stdin)['task_id'])")
notebooklm artifact wait $TASK --timeout 1200
notebooklm download audio ./podcast.mp3

JSON Output Schemas

// notebooklm list --json
{"notebooks": [{"id": "...", "title": "...", "created_at": "..."}]}

// notebooklm source add "..." --json
{"source_id": "...", "title": "...", "status": "processing"}

// notebooklm generate audio "..." --json
{"task_id": "...", "status": "pending"}

// notebooklm ask "..." --json
{"answer": "...[1]", "conversation_id": "...", "turn_number": 1,
 "references": [{"source_id": "...", "citation_number": 1, "cited_text": "..."}]}

// notebooklm source list --json
{"sources": [{"id": "...", "title": "...", "status": "ready|processing|error"}]}

// notebooklm artifact list --json
{"artifacts": [{"id": "...", "title": "...", "type": "...", "status": "completed|in_progress|pending|unknown"}]}

Error Handling

ErrorCauseFix
Auth/cookie errorSession expirednotebooklm auth checknotebooklm login
"No notebook context"Context not setnotebooklm use <id> or -n <id> flag
"No result found for RPC ID"Rate limitingWait 5–10 min, retry
GENERATION_FAILEDGoogle rate limitWait and retry; use web UI as fallback
Download failsGeneration incompleteCheck notebooklm artifact list
Invalid IDWrong IDnotebooklm list to find correct ID
RPC protocol errorGoogle changed APIUpdate notebooklm-py

On failure, offer the user: retry / skip / investigate.

Exit Codes

CodeMeaning
0Success
1Error (not found, failed)
2Timeout (wait commands only)

Processing Times & Rate Limits

OperationTypical TimeTimeout
Source indexing30s – 10 min600s
Research (fast)30s – 2 min180s
Research (deep)15 – 30+ min1800s
Mind mapinstant
Quiz, flashcards5 – 15 min900s
Report, data table5 – 15 min900s
Audio generation10 – 20 min1200s
Video generation15 – 45 min2700s

Always reliable: Notebook/source management, chat, mind map, report, data table. May hit rate limits: Audio, video, quiz, flashcards, infographic, slide deck — retry after 5–10 min.

For agents, avoid --wait on long operations. Use artifact wait <id> in a background task.


Parallel Agent Safety

notebooklm use <id> writes to a shared file — unsafe in parallel workflows.

Solutions:

  1. Pass -n <notebook_id> directly to each command (recommended)
  2. export NOTEBOOKLM_PROFILE=agent-$ID — per-agent profile isolation
  3. export NOTEBOOKLM_HOME=/tmp/agent-$ID — full isolation
  4. Always use full UUIDs, not partial IDs

Troubleshooting

notebooklm --help
notebooklm auth check --test   # Full auth + network validation
notebooklm doctor --fix        # Auto-fix environment
notebooklm login               # Re-authenticate
notebooklm --version           # Check version

Docs: https://github.com/teng-lin/notebooklm-py/blob/main/docs/troubleshooting.md

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

Gigo Lobster Resume

🦞 GIGO · gigo-lobster-resume: 续跑入口:v2 stable 当前会清理旧 checkpoint 并从头重跑;保留此 slug 作为旧 checkpoint 兼容入口。 Triggers: 继续试吃 / 恢复评测 / resume tasting / continue lobster...

Registry SourceRecently Updated
General

YiHui CONTEXT MODE

context-mode is an MCP server that saves 98% of your context window by sandboxing tool outputs. It routes large file reads, shell outputs, and web fetches th...

Registry SourceRecently Updated
General

xinyi-drink

Use when users ask about 新一好喝/新一咖啡 drinks, stores, menu, activities, Skill用户大礼包, today drink recommendations, afternoon tea, feeling sleepy, or personalized...

Registry SourceRecently Updated
General

vedic-destiny

吠陀命盘分析中文入口。用于完整命盘研判、命主盘 Rashi chart 与九分盘 Navamsha chart 联读、既往事件回看、出生时间稳定度判断、事业主题、婚姻主题、时空盘专题,以及基于 Jagannatha Hora PDF、星盘截图或文本命盘数据的系统拆盘。当用户提到完整星盘、事业方向、婚姻问题、关系窗...

Registry SourceRecently Updated