Skip to content
Development
Skill

/notebooklm-cli

Drives Google NotebookLM via the cli-web-notebooklm command-line tool — create and manage notebooks, add URL/text sources, ask questions grounded in the sources, and generate/download artifacts (audio overview, video, slide deck, mindmap, study guide, quiz, FAQ, briefing,

From plugin
cli-anything-web
23927 skills4 agents6 commands1 MCP

Claude Code

$ npx -y skills add ItamarZand88/CLI-Anything-WEB --skill notebooklm-cli --agent claude-code

SKILL.md

notebooklm-cli.SKILL.md
name: notebooklm-cli
description: Drives Google NotebookLM via the cli-web-notebooklm command-line tool — create and manage notebooks, add URL/text sources, ask questions grounded in the sources, and generate/download artifacts (audio overview, video, slide deck, mindmap, study guide, quiz, FAQ, briefing, infographic, data table). Use when the user asks about NotebookLM or wants to build notebooks, query sources, or produce study materials, podcasts, or presentations programmatically. Prefer this CLI over browsing NotebookLM. Requires Google login.

cli-web-notebooklm

Manage NotebookLM notebooks, sources, chat, and artifact generation. Requires Google auth (`auth login`). Install: `pip install "cli-web-notebooklm[auth]"`, then `playwright install chromium`.

Commands

| Command | Purpose | Key options | |---------|---------|-------------| | `notebooks list\|create\|get\|rename\|delete` | Manage notebooks | `--title`, `--emoji`; `delete` needs `--confirm`; IDs may be partial | | `use NOTEBOOK_ID` / `status` | Set/show persistent notebook context | once set, `--notebook` is optional everywhere | | `sources list\|get\|delete` | Manage sources | `--notebook ID`, `delete` needs `--confirm` | | `sources add-url --url URL` | Add a web page as source | | | `sources add-text --title T --text "..."` | Add pasted text as source | | | `chat ask --query "..."` | Ask the notebook a question | `--notebook ID` | | `artifacts generate --type TYPE` | Generate an artifact | types: `audio`, `video`, `mindmap`, `study-guide`, `briefing`, `faq`, `quiz`, `infographic`, `slide-deck`, `data-table`; `--wait` (poll until done), `--retry N`, `-o FILE` | | `artifacts list` | All artifacts with status | | | `artifacts download ARTIFACT_ID -o FILE` | Download a completed artifact | briefing/study-guide → .md, audio/video → .mp4, slide-deck → .pdf/.pptx, data-table → .csv, quiz/faq → .json; mindmap content is inline | | `artifacts generate-notes` / `artifacts list-audio-types` | Study notes; audio overview formats | | | `whoami` | Current Google account | |

Examples

# Build a research notebook end to end
cli-web-notebooklm notebooks create --title "Research" --json
cli-web-notebooklm use <id-from-above>
cli-web-notebooklm sources add-url --url https://example.com/paper --json
sleep 10   # sources need a few seconds of processing

# Ask a grounded question
cli-web-notebooklm chat ask --query "What methodology was used?" --json

# Generate a briefing doc and save it
cli-web-notebooklm artifacts generate --type briefing --wait -o briefing.md --json

# Generate a podcast-style audio overview (5-10 min), then download
cli-web-notebooklm artifacts generate --type audio --wait --json
cli-web-notebooklm artifacts download <artifact-id> -o podcast.mp4 --json

JSON output

Commands accept `--json` and return the data directly (e.g. notebooks list: `[{id, title, emoji, source_count, ...}]`; chat ask: `{notebook_id, query, answer}`). Errors return `{"error": true, "code": "AUTH_EXPIRED", "message": "..."}`.

Auth

cli-web-notebooklm auth login                    # browser login with Google account
cli-web-notebooklm auth login --cookies-json f   # import cookies from a file
cli-web-notebooklm auth status --json
cli-web-notebooklm auth refresh                  # re-extract tokens when rotated but cookies still valid

For CI, set `CLI_WEB_NOTEBOOKLM_AUTH_JSON` with the cookies JSON. Run `doctor` to diagnose auth setup.

Utilities

`cli-web-notebooklm doctor [--json]` self-diagnoses the local setup (install, auth, dependencies). `cli-web-notebooklm mcp-serve` serves the commands as MCP tools over stdio.

Agent tips

  • Use `--wait` on `artifacts generate` — audio/video take 5-10 minutes and the CLI polls with backoff. `--retry N` handles rate limits.
  • Wait ~10 seconds after adding sources before asking questions or generating artifacts.
  • Notebook/source/artifact IDs accept unique prefixes (partial IDs).
Read more
@itamarzand88
Ships withcli-anything-web

Claude Code plugin that generates production-grade Python CLIs for any web app. 20 CLIs and counting.

23927 skills4 agents1 MCP
Get the whole plugin

Stars on GitHub

Momentum

stars in total
239
Star history of ItamarZand88/CLI-Anything-WEB on GitHub, a chart by star-history.com

Other skills on cli-anything-web.

More skills from other plugins.

brainstorming
Auto-invoked

brainstorming

You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…

@obra@obraInstall Skill
ask-matt

ask-matt

Ask which skill or flow fits your situation. A router over the skills in this repo.

skills10d309k
@mattpocock@mattpocockInstall Skill
accessibility
Auto-invoked

accessibility

Design, implement, and audit accessible UI to WCAG 2.2 Level AA across Web, iOS, and Android — semantic ARIA roles and labels,…

ecc12d293k
@affaan-m@affaan-mInstall Skill
compiler-commit

compiler-commit

Use when you want to verify compiler changes and commit with the correct convention. Runs tests, lint, and format, then commits…

react1d252k
@facebook@facebookInstall Skill

Questions about notebooklm-cli.

Which coding agents can use notebooklm-cli?
notebooklm-cli installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.