notebooklm-cli
Comprehensive CLI for Google NotebookLM including notebooks, sources, audio podcasts, reports, quizzes, flashcards, mind maps, slides, infographics, videos, and data tables. Use when working with NotebookLM programmatically: managing notebooks/sources, generating audio overviews (podcasts), creating study materials (quizzes, flashcards), producing presentations (slides, infographics), or querying sources via chat.
Best use case
notebooklm-cli is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
Comprehensive CLI for Google NotebookLM including notebooks, sources, audio podcasts, reports, quizzes, flashcards, mind maps, slides, infographics, videos, and data tables. Use when working with NotebookLM programmatically: managing notebooks/sources, generating audio overviews (podcasts), creating study materials (quizzes, flashcards), producing presentations (slides, infographics), or querying sources via chat.
Teams using notebooklm-cli should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/notebooklm-cli/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How notebooklm-cli Compares
| Feature / Agent | notebooklm-cli | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
Comprehensive CLI for Google NotebookLM including notebooks, sources, audio podcasts, reports, quizzes, flashcards, mind maps, slides, infographics, videos, and data tables. Use when working with NotebookLM programmatically: managing notebooks/sources, generating audio overviews (podcasts), creating study materials (quizzes, flashcards), producing presentations (slides, infographics), or querying sources via chat.
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
SKILL.md Source
# NotebookLM CLI ## Overview This skill provides complete access to Google NotebookLM through a command-line interface. Manage notebooks, sources, and generate various content formats including audio podcasts, reports, quizzes, flashcards, mind maps, slides, infographics, videos, and data tables. ## When to Use This Skill Use this skill when: - Managing NotebookLM notebooks and sources programmatically - Generating audio overviews (podcasts) from notebook sources - Creating study materials: quizzes, flashcards, reports - Producing visual content: slides, infographics, mind maps, videos - Querying sources via chat or one-shot questions - Researching and importing new sources automatically ## Quick Start ### Authentication ```bash nlm login ``` Launches Chrome, navigates to NotebookLM, and extracts session cookies. Requires Google Chrome installed. ### List Notebooks ```bash nlm notebook list ``` ### Create Notebook and Add Sources ```bash nlm notebook create "My Research" nlm source add <notebook-id> --url "https://example.com/article" nlm source add <notebook-id> --text "Your content here" --title "My Notes" ``` ### Generate Content (All Types) All generation commands require `--confirm` or `-y`: ```bash nlm audio create <id> --confirm # Podcast nlm report create <id> --confirm # Briefing doc or study guide nlm quiz create <id> --confirm # Quiz questions nlm flashcards create <id> --confirm # Flashcards nlm mindmap create <id> --confirm # Mind map nlm slides create <id> --confirm # Slide deck nlm infographic create <id> --confirm # Infographic nlm video create <id> --confirm # Video overview nlm data-table create <id> "description" --confirm # Data table ``` ## Authentication | Command | Description | |---------|-------------| | `nlm login` | Authenticate with NotebookLM (opens Chrome) | | `nlm login --check` | Verify current credentials | | `nlm auth status` | Check session validity | | `nlm auth list` | List all profiles | | `nlm auth delete <profile> --confirm` | Delete a profile | | `nlm login --profile <name>` | Login to specific profile | Sessions last ~20 minutes. Re-authenticate with `nlm login` if commands fail. ## Notebook Management | Command | Description | |---------|-------------| | `nlm notebook list` | List all notebooks | | `nlm notebook create "Title"` | Create a new notebook | | `nlm notebook get <id>` | Get notebook details | | `nlm notebook describe <id>` | AI-generated summary | | `nlm notebook query <id> "question"` | Chat with sources | | `nlm notebook delete <id> --confirm` | Delete a notebook | ## Source Management | Command | Description | |---------|-------------| | `nlm source list <notebook-id>` | List sources in notebook | | `nlm source list <notebook-id> --drive` | Show Drive sources with freshness | | `nlm source add <id> --url "..."` | Add URL or YouTube source | | `nlm source add <id> --text "..." --title "..."` | Add pasted text | | `nlm source add <id> --drive <doc-id>` | Add Google Drive document | | `nlm source describe <source-id>` | AI summary of source | | `nlm source content <source-id>` | Get raw text content | | `nlm source stale <notebook-id>` | List outdated Drive sources | | `nlm source sync <notebook-id> --confirm` | Sync Drive sources | ## Content Generation All generation commands require `--confirm` or `-y`: ### Media Types | Command | Output | |---------|--------| | `nlm audio create <id> --confirm` | Audio podcast overview | | `nlm report create <id> --confirm` | Briefing doc or study guide | | `nlm quiz create <id> --confirm` | Quiz questions | | `nlm flashcards create <id> --confirm` | Flashcards | | `nlm mindmap create <id> --confirm` | Mind map | | `nlm slides create <id> --confirm` | Slide deck | | `nlm infographic create <id> --confirm` | Infographic | | `nlm video create <id> --confirm` | Video overview | | `nlm data-table create <id> "description" --confirm` | Data table extraction | ## Studio (Artifact Management) | Command | Description | |---------|-------------| | `nlm studio status <notebook-id>` | List all generated artifacts | | `nlm studio delete <notebook-id> <artifact-id> --confirm` | Delete an artifact | ## Chat | Command | Description | |---------|-------------| | `nlm chat start <notebook-id>` | Start interactive REPL session | | `nlm chat configure <notebook-id>` | Configure chat goal and response style | | `nlm notebook query <id> "question"` | One-shot question (no session) | Chat REPL commands: `/sources`, `/clear`, `/help`, `/exit` ## Research | Command | Description | |---------|-------------| | `nlm research start "query" --notebook-id <id>` | Web search (~30s) | | `nlm research start "query" --notebook-id <id> --mode deep` | Deep research (~5min) | | `nlm research start "query" --notebook-id <id> --source drive` | Search Google Drive | | `nlm research status <notebook-id>` | Check research progress | | `nlm research import <notebook-id> <task-id>` | Import discovered sources | ## Aliases (UUID Shortcuts) ```bash nlm alias set myproject <uuid> # Create alias nlm notebook get myproject # Use alias nlm alias list # List all aliases nlm alias get myproject # Resolve to UUID nlm alias delete myproject # Remove alias ``` ## Output Formats Most list commands support multiple formats: ```bash nlm notebook list # Rich table (default) nlm notebook list --json # JSON output nlm notebook list --quiet # IDs only (for scripting) nlm notebook list --title # "ID: Title" format nlm notebook list --full # All columns ``` ## Profiles (Multiple Accounts) ```bash nlm login --profile work # Login to profile nlm notebook list --profile work # Use profile nlm auth list # List all profiles nlm auth delete work --confirm # Delete profile ``` ## Configuration ```bash nlm config show # Show current configuration nlm config get <key> # Get specific setting nlm config set <key> <value> # Update setting ``` ## AI Documentation For AI assistants, generate comprehensive documentation: ```bash nlm --ai ``` Outputs 400+ lines covering all commands, authentication flow, error handling, task sequences, and automation tips. ## References - [Command Reference](references/commands.md) - Complete command signatures - [Troubleshooting](references/troubleshooting.md) - Error diagnosis and solutions - [Workflows](references/workflows.md) - End-to-end task sequences
Related Skills
notebooklm
Use this skill to query your Google NotebookLM notebooks directly from Claude Code for source-grounded, citation-backed answers from Gemini. Browser automation, library management, persistent auth. Drastically reduced hallucinations through document-only responses.
notebooklm-2
NotebookLM CLI automation for this workspace: authenticate/login, list/create/use/rename/delete notebooks, ask/configure chat, manage sources/notes/sharing, research status, and generate/download artifacts via `uv run tiangong-workspace notebooklm ...`. Use when tasks involve NotebookLM notebooks, sources, notes, sharing, research, or generated outputs (slide decks, flashcards, reports, etc.).
portfolio-watcher
Monitor stock/crypto holdings, get price alerts, track portfolio performance
portainer
Control Docker containers and stacks via Portainer API. List containers, start/stop/restart, view logs, and redeploy stacks from git.
portable-tools
Build cross-device tools without hardcoding paths or account names
polymarket
Trade prediction markets on Polymarket. Analyze odds, place bets, track positions, automate alerts, and maximize returns from event outcomes. Covers sports, politics, entertainment, and more.
polymarket-traiding-bot
No description provided.
polymarket-analysis
Analyze Polymarket prediction markets for trading edges. Pair Cost arbitrage, whale tracking, sentiment analysis, momentum signals, user profile tracking. No execution.
polymarket-agent
Autonomous prediction market agent - analyzes markets, researches news, and identifies trading opportunities
polymarket-5
Query Polymarket prediction markets. Use for questions about prediction markets, betting odds, market prices, event probabilities, or when user asks about Polymarket data.
polymarket-4
Query Polymarket prediction markets. Use for questions about prediction markets, betting odds, market prices, event probabilities, or when user asks about Polymarket data.
polymarket-3
Query Polymarket prediction market odds and events via CLI. Search for markets, get current prices, list events by category. Supports sports betting (NFL, NBA, soccer/EPL, Champions League), politics, crypto, elections, geopolitics. Real money markets = more accurate than polls. No API key required. Use when asked about odds, probabilities, predictions, or "what are the chances of X".