Skip to content

Guide · Agent skill

How to use the NotebookLM CLI Harness agent skill

Updated · written with AI from the project's own documentation and checked against our catalogue data

The cli-anything-notebooklm skill teaches an AI agent to work with Google NotebookLM through a command-line wrapper instead of the web interface. Once it is installed and a NotebookLM login session exists on your machine, the agent can list and create notebooks, add source URLs, ask questions against a notebook, generate artifacts and download the results. This guide covers what the skill does, how to install it, how to trigger it, what it needs and the safety points to know before you use it.

NotebookLM CLI HarnessHKUDS/CLI-Anything · Apache-2.0

Quick start

  1. 1Download and unzip the skill. Download the skill ZIP from this page and unzip it into ~/.claude/skills/ or your project's .claude/skills/ folder.
  2. 2Install the harness. From the notebooklm/agent-harness directory, run python3 -m pip install -e .
  3. 3Install the upstream CLI and browser. Run python3 -m pip install --user 'notebooklm-py[browser]' and then python3 -m playwright install chromium.
  4. 4Check your login. Run cli-anything-notebooklm auth status to confirm you have a valid local NotebookLM session.
  5. 5Ask the agent. Make a natural request that names NotebookLM and the action, such as listing notebooks or adding a source.

What is an agent skill, and what does this one do?

An agent skill is a folder containing a SKILL.md file that tells an AI agent when and how to use a set of tools. This skill is named cli-anything-notebooklm and is described as an experimental NotebookLM harness. A harness is a wrapper that lets the agent run commands instead of clicking through the NotebookLM web interface.

The skill covers these areas: listing notebooks, managing sources, asking questions, generating artifacts and downloading outputs. It is built on an installed notebooklm command, so the agent is really calling the cli-anything-notebooklm wrapper, which in turn depends on the upstream notebooklm-py tool.

Install the skill from the ZIP

Download the skill ZIP from this page and unzip it. You can place the skill folder in one of two locations. For a personal install available across projects, use ~/.claude/skills/. For a single project, put it in that project's .claude/skills/ folder.

If you use the Claude apps instead, upload the skill under Settings → Capabilities → Skills.

The skill ships with a SKILL.md file. Installing the skill only makes the instructions available to the agent; the NotebookLM tooling still has to be set up separately, as described in the next section.

  • Personal: ~/.claude/skills/
  • Project: .claude/skills/ inside your project folder
  • Claude apps: Settings → Capabilities → Skills

Install the NotebookLM tooling it depends on

The SKILL.md file gives two installation paths. First, the harness package is meant to be installed from the harness directory in the CLI-Anything repository. Second, the upstream NotebookLM CLI is installed if needed. Run these from the directories shown in the source.

Installing the upstream CLI also requires Playwright with Chromium, which the browser-based login uses.

  • Run the harness install from the notebooklm/agent-harness directory of the CLI-Anything repository.
  • Install the upstream CLI with the browser extra if it is not already present.
  • Install the Chromium browser for Playwright.
cd notebooklm/agent-harness python3 -m pip install -e . python3 -m pip install --user 'notebooklm-py[browser]' python3 -m playwright install chromium

Check your login and find notebook IDs

Before the agent does anything useful, it needs a valid local NotebookLM login session. The auth command group handles login and validation. The agent's standard first step is to check auth status, then discover notebook IDs in JSON form.

Once it has a notebook ID, the agent should pass it explicitly with --notebook on follow-up commands rather than relying on a default context.

  • Check auth: cli-anything-notebooklm auth status
  • List notebooks as JSON: cli-anything-notebooklm --json notebook list
  • Use --notebook with an ID on later commands
cli-anything-notebooklm auth status cli-anything-notebooklm --json notebook list cli-anything-notebooklm --notebook nb_123 source list

Command groups the agent can use

The wrapper groups its commands into seven areas. Each group has a single stated purpose, which makes it easier to see what an agent request will map to.

  • auth: login and auth validation
  • notebook: notebook list, create, summary
  • source: source listing and URL add
  • chat: ask questions and inspect history
  • artifact: list and generate artifacts
  • download: fetch generated outputs
  • share: inspect sharing state

Trigger the skill with natural requests

You do not need to type commands yourself. Ask the agent in plain language about NotebookLM, and it should pick up the skill when the request matches the description. Name NotebookLM and the action you want so the match is clear.

Good requests name a notebook, a source or an output. Vague requests like 'do something with my research' give the agent too little to act on.

  • List my NotebookLM notebooks and tell me their IDs.
  • Add this URL as a source to notebook nb_123.
  • Ask notebook nb_123 what the main arguments in its sources are.
  • Generate an artifact from notebook nb_123 and download it to my project folder.
  • Check whether my NotebookLM login is still valid before you start.

Safety notes: scripts, network and your Google login

This skill runs scripts and uses the network. It depends on your local NotebookLM login session, which relies on authentication cookies. The source says not to expose auth files or cookies in logs, so review agent output before sharing it.

The harness is marked experimental and unofficial. It is not affiliated with Google. Do not rely on it for production or compliance-critical work. If you are uneasy about an agent using your Google session, do not install it.

  • Runs scripts: yes. Uses network: yes.
  • Do not expose auth files or cookies in logs.
  • Use --json only on commands that support it upstream.

Tips for reliable results

Keep the notebook ID explicit on every follow-up command, so the agent cannot act on the wrong notebook. Run auth status first when something fails, since a missing or expired login is the most likely cause of trouble. Check the CLI help for a command before relying on its output format.

  • Start every session with auth status.
  • Always pass --notebook with an ID.
  • Use cli-anything-notebooklm --help to see available commands.
cli-anything-notebooklm --help

What people use it for

  • Listing notebooks and their IDs so an agent can pick the right one for follow-up work.
  • Adding source URLs to a notebook as research material is collected.
  • Asking a notebook questions from a terminal or agent workflow.
  • Generating artifacts from a notebook and downloading the outputs to a folder.
  • Checking sharing state for a notebook through the share group.

Frequently asked questions

How do I install the cli-anything-notebooklm skill?

Download the skill ZIP from this page and unzip it into ~/.claude/skills/ for a personal install, or into a project's .claude/skills/ folder. In the Claude apps you can upload it under Settings → Capabilities → Skills. You also need to install the harness and the upstream notebooklm tooling as described in the source.

What do I need before the skill works?

You need Python 3 with pip, the notebooklm-py CLI installed with the browser extra, Playwright with Chromium, and a valid local NotebookLM login session tied to a Google account. The skill also needs the notebooklm command installed locally.

Is the NotebookLM CLI harness free?

The skill is published under the Apache-2.0 licence. The source does not state any pricing, so check the upstream projects and your own Google account terms for any costs.

Is this an official Google tool?

No. The source describes the harness as experimental and unofficial, and states it is not affiliated with Google. NotebookLM is a Google product, but this wrapper is a third-party project.

What should I do if the agent cannot access NotebookLM?

Start by running cli-anything-notebooklm auth status to check your login. The skill relies on a valid local NotebookLM login session, so an expired or missing session is the most likely cause. Also confirm the notebooklm command is installed.

How is this different from using the NotebookLM web interface?

Instead of clicking through the web app, the agent runs commands through a terminal wrapper to list notebooks, add sources, ask questions and download outputs. The source does not compare it with other tools, so judge the trade-off against your own need for automation.

New agent skills, repos and AI tools — every week

The best new skills and open-source projects, the fastest-growing repos, and one free prompt. Five minutes to read. Unsubscribe anytime.

Our verdict

Use this skill if you are a developer, researcher or analyst who wants an agent to script routine NotebookLM tasks and you are comfortable installing Python packages and Playwright with Chromium. Skip it if you are uneasy about an agent using your Google login session, or if you need production-grade or compliance-critical work, since the harness is experimental and unofficial.

Download the skill