Back to the collection
NotebookLM·Data & research

NotebookLM skill guide: import sources, ask questions and export

On this page

This NotebookLM skill belongs to teng-lin/notebooklm-py. It lets an agent manage notebooks and sources through a CLI, ask source-grounded questions and generate or download artifacts.

Install and prepare

Install the CLI, sign in and install the skill from a terminal:

Command
uv tool install "notebooklm-py[browser]"
notebooklm login
notebooklm auth check --test --json
notebooklm skill install

You need Python 3.10+, a Google account with NotebookLM access and an environment that can display a login window. The commands use uv’s isolated tool installation; install uv first. After login, test authentication rather than assuming a readable local state file proves access.

Your first task

Enter this in the agent conversation, adapting the files and goal to your task:

Prompt
Use the notebooklm skill to add notes/course-outline.md and notes/student-questions.md to a new Course Design notebook. Wait until both sources are ready, then list five main learner questions with citations. Start with Q&A only; do not generate audio yet.

Pin the notebook and sources

Retain the full ID of the selected or newly created notebook. Keep each added source ID and wait for that specific source to become ready. When several tasks are running, pass explicit notebook identities instead of relying on a mutable current selection.

Check the source set through Q&A

Ask a few questions whose answers you can verify in the original files and inspect the citations. If learner questions refer to different course versions, distinguish them rather than merging contradictions into certainty. Peng Tao’s tutorial begins with notebook creation and Chinese-document import, a useful incremental starting point.

Wait for the requested artifact

Once the source set is suitable, request an audio overview, slides or another supported artifact from those sources. An asynchronous task ID is not a completed file: wait for that task and download the same artifact ID. A Trae community walkthrough follows this pattern from a local article to slide PDF.

Check before delivery

Open the downloaded artifact and check its content, language, citations and layout. Confirm that it belongs to this task’s sources and artifact ID rather than an older item selected as latest. Keep authentication files in private local configuration.

Check the actual source set with the CLI

Before asking an agent to continue, you can run these read-only commands in a terminal. Replace the placeholder with the ID returned when the notebook was created:

Command
notebooklm list --json
notebooklm source list -n <notebook-id> --json
notebooklm ask "What objectives are in section three of the course outline?" -n <notebook-id> --json

The first command confirms the notebook exists, the second shows its sources, and the third tests a question whose answer can be checked in the original file. If a source is still processing, wait for it. If citations point to other material, inspect the notebook ID and source list. notebooklm status is not an authentication test; use the earlier auth check --test --json for that.

Practical boundaries for source-based work

This is a community-maintained unofficial client of the NotebookLM web service. Interface changes, quotas and expired authentication may affect it. Before uploading private or commercially sensitive documents, confirm that sending them to Google’s service is permitted. Auth files are account credentials and do not belong in chat, logs or a repository. At handoff, open the downloaded result and check its source material, language and layout. A community tutorial illustrates a possible path; it cannot guarantee the same output on a new run.

Common questions

The skill is installed but cannot run. The skill and notebooklm-py CLI are separate; check the executable and the agent’s skill discovery location.

Q&A fails immediately after adding a file. Wait until that source is ready.

Is this an official Google API? It is a community-maintained client and may be affected by service, quota or authentication changes.

Is processing local? Notebook sources are processed by Google’s service.

How did your first task go?

These choices help us understand where readers get stuck through site analytics. Blocking analytics may prevent delivery; use email for a specific issue.

References

  1. Peng Tao’s NotebookLM integration tutorial彭涛 ·
  2. Trae community: knowledge sources to presentationsbingo ·
  3. notebooklm-py READMEteng-lin / notebooklm-py contributors
  4. NotebookLM skill workflowteng-lin / notebooklm-py contributors
  5. notebooklm-py installation guideteng-lin
Found outdated or incorrect information? Let us know

Keep exploring

More skills worth getting to know.