agentsclimarketplace

Setup

Skill platdrag/notebookLM-claude-skill/skills/setup

Install and configure the notebooklm-py CLI for querying NotebookLM notebooks. Handles installation, authentication, notebook discovery, and project config file setup.From its SKILL.md

Install
npx -y skills add platdrag/notebookLM-claude-skill --skill setup

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 5 stars5 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

SKILL.md

5.5 KB, as published. Nobody here has run it

NotebookLM Setup

This skill guides the user through installing and configuring the notebooklm-py CLI tool so that /notebooklm:query can query their NotebookLM notebooks.

<steps CRITICAL="TRUE">

Step 1: Check if notebooklm-py is Already Installed

notebooklm --version
  • If the command succeeds, report the version and skip to Step 3.
  • If the command is not found, proceed to Step 2.

Step 2: Install notebooklm-py

Ask the user which installation method they prefer:

Option A — Lightweight (recommended if you can export browser cookies manually):

pip install notebooklm-py

This installs the CLI and all query functionality. Authentication must be handled by manually exporting cookies from an existing browser session (see Step 4, Option B).

Option B — With browser-based login:

pip install "notebooklm-py[browser]"
playwright install chromium

This adds Playwright, which enables the notebooklm login command. It opens a dedicated Chromium instance to capture Google session cookies — regular browsers don't expose cookies to external programs, so Playwright's own browser is needed for automated cookie extraction.

If pip fails, try pip3 or suggest the user activate the appropriate Python virtual environment. pipx install notebooklm-py is also an option for global CLI tools.

Verify installation:

notebooklm --version

Step 3: Check Authentication Status

notebooklm auth check --json
  • If auth is valid, report the status and skip to Step 5.
  • If auth is invalid or missing, proceed to Step 4.

Step 4: Authenticate

Offer two authentication methods:

Option A — Browser login (requires [browser] extra and Playwright):

Tell the user:

Please run this command in your terminal (not here — it opens a browser window):

notebooklm login
  1. A Chromium window will open to the NotebookLM page
  2. Log in with your Google account
  3. Once the page loads, switch back to your terminal and press ENTER

Come back here when you're done.

Option B — Manual cookie export (no Playwright needed):

Tell the user:

You can export cookies from a browser where you're already logged into NotebookLM:

  1. Open https://notebooklm.google.com in your browser (make sure you're logged in)
  2. Use a cookie export extension (e.g., "EditThisCookie", "Cookie-Editor", or "Get cookies.txt")
  3. Export all cookies for the .google.com domain as JSON
  4. Create the file ~/.notebooklm/storage_state.json with this structure:
{
  "cookies": [ ...exported cookies array... ],
  "origins": []
}

The critical cookies are: SID, HSID, SSID, APISID, SAPISID, __Secure-1PSID, __Secure-3PSID

Wait for the user to confirm they've completed authentication.

Then verify:

notebooklm auth check --json

If still failing, suggest re-trying or switching to the other authentication method.

Step 5: Discover Notebooks

List the user's notebooks:

notebooklm list --json

Present the results as a readable list:

Your NotebookLM notebooks:
1. "Notebook Title" (ID: abc123...)
2. "Another Notebook" (ID: def456...)
...

If no notebooks exist, suggest:

You don't have any notebooks yet. You can create one:

  • Web: Go to https://notebooklm.google.com and click "New Notebook"
  • CLI: notebooklm create "My Knowledge Base" then add sources with notebooklm source add

Step 6: Configure the Project Config File

Read the existing config at {project-root}/.claude/notebooklm-config.json if it exists.

Ask the user which notebook(s) they want to configure for this project. For each selected notebook, ask for a short name (key) to use with the --notebook flag.

Ask the user which notebook should be the default (used when no --notebook flag is specified with /notebooklm:query).

Write/update the config file at {project-root}/.claude/notebooklm-config.json:

{
  "defaultNotebook": "<chosen-default-name>",
  "notebooks": {
    "<name>": {
      "id": "<actual-notebook-id>",
      "description": "<user-provided description of what this notebook contains>"
    }
  },
  "settings": {
    "mode": "concise",
    "responseLength": "default",
    "persona": null
  }
}

Settings reference:

  • mode: One of default, learning-guide, concise, detailed
  • responseLength: One of default, longer, shorter
  • persona: Custom instruction string (e.g., "Act as a senior architect") or null for default

Step 7: Verify End-to-End

Run a quick test query against the configured default notebook:

notebooklm ask "Summarize the main topics covered in this notebook" -n <notebook_id> --json --new

If successful, show the user a summary of the response and confirm:

Setup complete. You can now use /notebooklm:query <question> to query your notebook.

If it fails, diagnose based on the error (auth, notebook not found, no sources, etc.) and guide the user to fix it.

</steps>

Post-Setup

After setup is complete, remind the user:

  • /notebooklm:query <question> — Query the default notebook
  • /notebooklm:query <question> --notebook <name> — Query a specific notebook
  • Auth sessions expire every few weeks — re-run notebooklm login or re-export cookies when needed
  • To add more sources: notebooklm source add "<url-or-file>" -n <notebook_id>

Keep looking

Skills are one crate of 628,853. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.