NotebookLM Automation
Programmatically operate NotebookLM through Python, CLI, and agents.
The skill requires authentication up front and explicitly warns that storage_state.json and NOTEBOOKLM_AUTH_JSON are bearer credentials capable of acting as the Google account; it also asks for confirmation on destructive commands. However, source uploads, remote services, dynamic installation, and undocumented APIs create data-flow, supply-chain, and external-effect risks, while rollback and least-privilege coverage remain incomplete, so points are deducted.
Installation, authentication checks, JSON output, parallel isolation, and common failure handling are described concretely. However, dependencies are not fully pinned, Google's internal RPCs may change without notice, and browser-install guidance has environment-specific exceptions; the selected skill contains no executable reproduction evidence, so the score remains conservative and within the static cap.
The skill clearly covers CLI, Python API, MCP, sandboxed agents, and multiple generation workflows, with explicit and intent-based triggers. Still, non-fit boundaries are limited, core functionality depends on Google's network service, mainland-China reachability is not evidenced, and Chinese support is only indirectly represented through a language command, so points are deducted.
It provides installation, authentication, sandbox, concurrency, quick-reference commands, JSON examples, and security warnings with generally good structure. It does not clearly specify compatibility policy, maintenance ownership, or an update path within the skill, and much detail depends on external documentation and a dynamically selected latest release tag, so it is not full marks.
The goals, commands, and expected output formats are clear, covering the main flow from source ingestion through generation and download. However, use requires Google authentication, network access, and asynchronous generation, and this review is static; representative workflows cannot be confirmed as directly usable, so points are deducted under the static ceiling.
Structured output examples, authentication verification criteria, failure guidance, and release-tag installation advice provide some auditability. The selected skill contains no committed test suite, CI results, or independent reproduction record; key capabilities remain primarily author claims, so points are deducted.
- Never commit or log storage_state.json, NOTEBOOKLM_AUTH_JSON, or other authentication material, and do not expose them to an untrusted sandbox; they can act as the Google account.
- Source uploads, generation, and remote MCP may send data to Google or another deployed external service; verify data compliance, account scope, and network reachability first.
- The skill relies on undocumented Google interfaces; versions, RPC behavior, login flows, and generation capabilities may break suddenly, while dynamically selecting the latest release adds change risk.
- Reconfirm permissions and exact targets before delete, download, generate, save-as-note, or other actions with external or local side effects.
What does this skill do, and when should you use it?
NotebookLM Automation is an unofficial Python API and Agent Skill for Google NotebookLM. It creates notebooks, imports many source types, answers questions grounded in those sources, and generates audio, video, reports, quizzes, flashcards, infographics, slide decks, data tables, and mind maps. Artifacts can be downloaded as MP3, MP4, PDF, PPTX, PNG, CSV, JSON, Markdown, or HTML. Because it uses undocumented Google APIs, authentication, rate limits, and API changes are material adoption risks.
Uses the Python API, CLI, MCP, or agent workflows to create and manage NotebookLM notebooks; read URLs, YouTube links, PDFs, documents, text, audio, video, images, and Google Drive sources; run chat and research queries; generate multiple artifact types; retrieve indexed source full text; manage notes, labels, and sharing permissions; and download artifacts to local files.
- Researchers import web pages, papers, PDFs, and YouTube material for cited questions and synthesis.
- Developers connect NotebookLM to Claude Code, Codex, or other agents to build repeatable research pipelines.
- Content teams repurpose one source set into podcasts, videos, reports, slide decks, quizzes, and flashcards.
- Support or operations teams use product documentation, RFCs, and historical tickets for source-grounded troubleshooting and briefings.
- Learners turn course material into audio overviews, quizzes, flashcards, and downloadable study resources.
What are this skill's strengths and limitations?
- Covers notebooks, sources, chat, research, notes, labels, sharing, and many artifact types.
- Offers Python API, CLI, MCP, REST Server, and agent integration paths.
- Supports batch downloads and structured exports for quizzes, flashcards, mind maps, and data tables.
- Includes multi-account profiles, profile isolation, and browser-free options for some automated environments.
- It uses undocumented Google APIs that may change or break without notice.
- Google NotebookLM authentication is required; storage_state.json and NOTEBOOKLM_AUTH_JSON are bearer credentials.
- Audio, video, quiz, flashcard, infographic, and slide-deck generation may hit Google's rate limits.
- Browser-based login depends on Playwright/Chromium; rookiepy is known to fail to build on Python 3.13+.
- The supplied source does not provide complete real-world test results or platform-coverage verification.
How do you install this skill?
Install the package with pip install "notebooklm-py[browser]". Authenticate with notebooklm login, then verify access with notebooklm auth check --test --json. Install the skill with notebooklm skill install, or use npx skills add teng-lin/notebooklm-py. For GitHub installation, use the latest release tag rather than the main branch.
How do you use this skill?
Run notebooklm login, create a notebook, and add a source with notebooklm create "My Research" and notebooklm source add "https://example.com". Ask questions with notebooklm ask "Summarize the key themes", or generate a podcast with notebooklm generate audio "Make it a concise overview". Check long-running work with notebooklm artifact list, then download it with notebooklm download audio ./podcast.mp3. An installed agent skill can also be triggered with prompts such as “Create a podcast about X” or “Summarize these URLs.”
How does this skill compare with similar options?
Compared with the NotebookLM web UI, the project adds programmatic, batch, and local-export workflows, including batch downloads, multi-format quiz and flashcard exports, mind-map JSON, data-table CSV, editable PPTX, source full-text retrieval, and programmatic sharing.