Skip to content
OpenSmartRoute
Skillv1.0.0

notebooklm

Queries managed Google NotebookLM notebooks for citation-backed, source-grounded answers via local Claude Code browser automation; use for uploaded sources, not live web search.

by akillness(0) 0 installs
Free
Sign in to install

Free account. Installing gives you the manifest plus copy-paste snippets.

See reviews

About

Imported from akillness/jeo-skills (.agent-skills/notebooklm/SKILL.md). Install upstream with npx skills add akillness/jeo-skills --skill notebooklm. Copyright stays with the author (MIT).

notebooklm — Google NotebookLM Integration for Claude Code

Query your NotebookLM notebooks directly. Source-grounded, citation-backed answers without leaving the editor.

notebooklm brings Google NotebookLM into your Claude Code workflow via browser automation (Patchright). Instead of switching tabs and copy-pasting, you ask questions from the terminal and get grounded answers from your uploaded sources.

Installation

Plugin (Claude Code — recommended)

claude plugin marketplace add PleasePrompto/notebooklm-skill

Manual (git clone)

mkdir -p ~/.claude/skills
cd ~/.claude/skills
git clone https://github.com/PleasePrompto/notebooklm-skill.git notebooklm

Skill (via skills CLI)

npx skills add https://github.com/akillness/jeo-skills --skill notebooklm

Requirements

  • Python 3.10+ — for browser automation scripts
  • Chrome — installed via patchright install chrome (Chromium will NOT work)
  • Google account — a dedicated account is recommended for automation
  • Local Claude Code — web UI is not supported (sandbox restrictions)
  • Internet access — required to reach notebooklm.google.com

Setup (first-time)

# 1. Install Python dependencies (auto-runs on first use)
cd ~/.claude/skills/notebooklm
python scripts/run.py auth_manager.py setup

# 2. A Chrome window opens — log in to Google manually
# The session is saved and reused for future queries

# 3. Add your first notebook
python scripts/run.py notebook_manager.py add \
  --url "https://notebooklm.google.com/notebook/YOUR_ID" \
  --name "my-research" \
  --description "Research notes on topic X"

When to use this skill

  • You have documents uploaded to NotebookLM and need citation-backed answers during development
  • You want to cross-reference your research notes while writing code without switching windows
  • You need source-grounded analysis from a curated document set (not a general web search)
  • You are doing research synthesis across multiple notebooks on related topics

Do not use when

  • You need live web search — use scrapling or web-research instead
  • You need general knowledge not in your uploaded documents — ask Claude directly
  • You are running Claude from the web UI — browser automation is blocked in the sandbox
  • Your Google account has exceeded the 50 queries/day free-tier limit

Usage

Ask a question

# Ask the currently active notebook
python scripts/run.py ask_question.py --question "What are the key findings about X?"

# Ask a specific notebook by ID
python scripts/run.py ask_question.py \
  --notebook-id "my-research" \
  --question "Summarize the methodology section"

# Ask with browser visible (useful for debugging)
python scripts/run.py ask_question.py \
  --question "What does source 3 say about Y?" \
  --show-browser

Manage notebooks

# List all notebooks
python scripts/run.py notebook_manager.py list

# Search notebooks
python scripts/run.py notebook_manager.py search "machine learning"

# Activate a notebook (sets it as the default)
python scripts/run.py notebook_manager.py activate --id "my-research"

# Remove a notebook from the library
python scripts/run.py notebook_manager.py remove --id "old-notes"

Authentication management

# Check auth status
python scripts/run.py auth_manager.py status

# Re-authenticate if session expired
python scripts/run.py auth_manager.py reauth

# Clear all auth data
python scripts/run.py auth_manager.py clear

Data storage

All user data is stored locally at ~/.claude/skills/notebooklm/data/:

data/
├── library.json          # Your notebook registry
├── auth_info.json        # Authentication metadata
├── browser_state/        # Persistent browser session
│   ├── browser_profile/  # Chrome profile data
│   └── state.json        # Cookies and localStorage
└── sessions.json         # Active session tracking

Key constraints

Constraint Detail
Rate limit 50 queries/day (free Google account)
Local only Web UI sandbox blocks network access
Manual upload Documents must be uploaded to NotebookLM manually first
Browser overhead Each query opens a browser session (adds 3–10 seconds)
Auth renewal Session cookies expire; run auth_manager.py reauth when needed

Troubleshooting

Symptom Fix
Authentication failed Run python scripts/run.py auth_manager.py reauth
Browser crash Run python scripts/run.py auth_manager.py clear then setup
No response / timeout Increase timeout or run with --show-browser to inspect
Rate limited Wait 24 hours or use a different Google account
Chrome not found Run patchright install chrome (not chromium)
Import error First-run auto-setup may have failed; run setup_environment.py manually

Full troubleshooting guide: ~/.claude/skills/notebooklm/references/troubleshooting.md

Follow-up protocol

After each answer, always assess completeness:

"Is that ALL you need to know from this notebook on this topic?"

NotebookLM can answer follow-up questions within the same session context. Ask targeted follow-ups before switching notebooks to get the most grounded coverage.

References

  • PleasePrompto/notebooklm-skill — source repository
  • ~/.claude/skills/notebooklm/references/usage_patterns.md — advanced usage patterns
  • ~/.claude/skills/notebooklm/references/api_reference.md — programmatic usage
  • ~/.claude/skills/notebooklm/references/troubleshooting.md — troubleshooting guide
  • ~/.claude/skills/notebooklm/AUTHENTICATION.md — hybrid auth system details

Instructions

  1. Identify the task trigger and expected output.
  2. Follow the workflow steps in this skill from top to bottom.
  3. Validate outputs before moving to the next step.
  4. Capture blockers and fallback path if any step fails.

Examples

  • Example: Apply this skill to a small scope first, then scale to full scope after validation passes.

Best practices

  • Keep outputs deterministic and auditable.
  • Prefer small reversible changes over broad risky edits.
  • Record assumptions explicitly.

Use it

Copy one of these into your project. Installing also returns the manifest and these snippets.

yaml
targets:
  - https://api.opensmartroute.ai/api/v1/registry/akillness-jeo-skills-notebooklm/manifest   # or paste the manifest below

Manifest

An Open Capability Manifest: the router reads it to know what this does, what it costs and when to pick it.

akillness-jeo-skills-notebooklm.ocm.jsonjson
{
  "ocm": "1",
  "id": "akillness-jeo-skills-notebooklm",
  "kind": "skill",
  "name": "notebooklm",
  "description": "Queries managed Google NotebookLM notebooks for citation-backed, source-grounded answers via local Claude Code browser automation; use for uploaded sources, not live web search.",
  "publisher": "akillness",
  "version": "1.0.0",
  "capabilities": {
    "domains": [
      "coding"
    ],
    "tags": [
      "skill-md",
      "notebooklm",
      "google",
      "browser-automation",
      "patchright",
      "research",
      "notebook",
      "knowledge-base",
      "citation",
      "grounded-answers"
    ],
    "languages": [
      "en"
    ]
  },
  "quality_prior": 0.6,
  "examples": [
    "Queries managed Google NotebookLM notebooks for citation-backed, source-grounded answers via local Claude Code browser automation; use for uploaded sources, not live web search."
  ],
  "primary": false,
  "metadata": {
    "source": {
      "provider": "skills.sh",
      "repository": "https://github.com/akillness/jeo-skills",
      "path": ".agent-skills/notebooklm/SKILL.md",
      "ref": "HEAD",
      "url": "https://github.com/akillness/jeo-skills/blob/HEAD/.agent-skills/notebooklm/SKILL.md",
      "key": "akillness/jeo-skills/.agent-skills/notebooklm/SKILL.md"
    },
    "compatibility": "Local Claude Code only — web UI is not supported (sandbox restrictions prevent network access). Requires Python 3.10+, Chrome (installed via `patchright install chrome`), and a Google account. Free Go",
    "allowed_tools": [
      "Bash",
      "Read",
      "Write",
      "Glob",
      "Grep"
    ],
    "license": "MIT"
  },
  "instructions": "# notebooklm — Google NotebookLM Integration for Claude Code\n\n> Query your NotebookLM notebooks directly. Source-grounded, citation-backed answers without leaving the editor.\n\n`notebooklm` brings Google NotebookLM into your Claude Code workflow via browser automation (Patchright). Instead of switching tabs and copy-pasting, you ask questions from the terminal and get grounded answers from your uploaded sources.\n\n## Installation\n\n### Plugin (Claude Code — recommended)\n```bash\nclaude plugin marketplace add PleasePrompto/notebooklm-skill\n```\n\n### Manual (git clone)\n```bash\nmkdir -p ~/.claude/skil",
  "cost": {
    "context_tokens": 1570
  }
}

Fetch it by URL: GET /api/v1/registry/akillness-jeo-skills-notebooklm/manifest?version=1.0.0

Reviews

Star ratings from people who tried it. One review per account; edit yours any time.

No reviews yet. Install it, try it, and be the first to rate it.