notebooklm-skill README

The project's README from github.com/PleasePrompto/notebooklm-skill. As one markdown file: README.md.

[!WARNING] This project is no longer maintained. As of September 2026 the repository is archived: no updates, bug fixes or support. It may stop working when the upstream services change. Feel free to fork.

NotebookLM Claude Code Skill

Let Claude Code chat directly with NotebookLM for source-grounded answers based exclusively on your uploaded documents

Python Claude Code Skill Based on GitHub

Use this skill to query your Google NotebookLM notebooks directly from Claude Code for source-grounded, citation-backed answers from Gemini. Browser automation, library management, persistent auth. Drastically reduced hallucinations - answers only from your uploaded documents.

Installation • Quick Start • Why NotebookLM • How It Works • MCP Alternative


⚠️ Important: Local Claude Code Only

This skill works ONLY with local Claude Code installations, NOT in the web UI.

The web UI runs skills in a sandbox without network access, which this skill requires for browser automation. You must use Claude Code locally on your machine.


The Problem

When you tell Claude Code to "search through my local documentation", here's what happens:

The Solution

This Claude Code Skill lets Claude Code chat directly with NotebookLM — Google's source-grounded knowledge base powered by Gemini 2.5 that provides intelligent, synthesized answers exclusively from your uploaded documents.

Your Task → Claude asks NotebookLM → Gemini synthesizes answer → Claude writes correct code

No more copy-paste dance: Claude asks questions directly and gets answers straight back in the CLI. It builds deep understanding through automatic follow-ups, getting specific implementation details, edge cases, and best practices.


Why NotebookLM, Not Local RAG?

Approach Token Cost Setup Time Hallucinations Answer Quality
Feed docs to Claude 🔴 Very high (multiple file reads) Instant Yes - fills gaps Variable retrieval
Web search 🟡 Medium Instant High - unreliable sources Hit or miss
Local RAG 🟡 Medium-High Hours (embeddings, chunking) Medium - retrieval gaps Depends on setup
NotebookLM Skill 🟢 Minimal 5 minutes Minimal - source-grounded only Expert synthesis

What Makes NotebookLM Superior?

  1. Pre-processed by Gemini: Upload docs once, get instant expert knowledge
  2. Natural language Q&A: Not just retrieval — actual understanding and synthesis
  3. Multi-source correlation: Connects information across 50+ documents
  4. Citation-backed: Every answer includes source references
  5. No infrastructure: No vector DBs, embeddings, or chunking strategies needed

Installation

The simplest installation ever:

# 1. Create skills directory (if it doesn't exist)
mkdir -p ~/.claude/skills

# 2. Clone this repository
cd ~/.claude/skills
git clone https://github.com/PleasePrompto/notebooklm-skill notebooklm

# 3. That's it! Open Claude Code and say:
"What are my skills?"

When you first use the skill, it automatically:

Note: The setup uses real Chrome instead of Chromium for cross-platform reliability, consistent browser fingerprinting, and better anti-detection with Google services


Quick Start

1. Check your skills

Say in Claude Code:

"What skills do I have?"

Claude will list your available skills including NotebookLM.

2. Authenticate with Google (one-time)

"Set up NotebookLM authentication"

A Chrome window opens → log in with your Google account

3. Create your knowledge base

Go to notebooklm.google.com → Create notebook → Upload your docs:

Share: ⚙️ Share → Anyone with link → Copy

4. Add to your library

Option A: Let Claude figure it out (Smart Add)

"Query this notebook about its content and add it to my library: [your-link]"

Claude will automatically query the notebook to discover its content, then add it with appropriate metadata.

Option B: Manual add

"Add this NotebookLM to my library: [your-link]"

Claude will ask for a name and topics, then save it for future use.

5. Start researching

"What does my React docs say about hooks?"

Claude automatically selects the right notebook and gets the answer directly from NotebookLM.


How It Works

This is a Claude Code Skill - a local folder containing instructions and scripts that Claude Code can use when needed. Unlike the MCP server version, this runs directly in Claude Code without needing a separate server.

Key Differences from MCP Server

Feature This Skill MCP Server
Protocol Claude Skills Model Context Protocol
Installation Clone to ~/.claude/skills claude mcp add ...
Sessions Fresh browser each question Persistent chat sessions
Compatibility Claude Code only (local) Claude Code, Codex, Cursor, etc.
Language Python TypeScript
Distribution Git clone npm package

Architecture

~/.claude/skills/notebooklm/
├── SKILL.md              # Instructions for Claude
├── scripts/              # Python automation scripts
│   ├── ask_question.py   # Query NotebookLM
│   ├── notebook_manager.py # Library management
│   └── auth_manager.py   # Google authentication
├── .venv/                # Isolated Python environment (auto-created)
└── data/                 # Local notebook library

When you mention NotebookLM or send a notebook URL, Claude:

  1. Loads the skill instructions
  2. Runs the appropriate Python script
  3. Opens a browser, asks your question
  4. Returns the answer directly to you
  5. Uses that knowledge to help with your task

Core Features

Source-Grounded Responses

NotebookLM significantly reduces hallucinations by answering exclusively from your uploaded documents. If information isn't available, it indicates uncertainty rather than inventing content.

Direct Integration

No copy-paste between browser and editor. Claude asks and receives answers programmatically.

Smart Library Management

Save NotebookLM links with tags and descriptions. Claude auto-selects the right notebook for your task.

Automatic Authentication

One-time Google login, then authentication persists across sessions.

Self-Contained

Everything runs in the skill folder with an isolated Python environment. No global installations.

Human-Like Automation

Uses realistic typing speeds and interaction patterns to avoid detection.


Common Commands

What you say What happens
"Set up NotebookLM authentication" Opens Chrome for Google login
"Add [link] to my NotebookLM library" Saves notebook with metadata
"Show my NotebookLM notebooks" Lists all saved notebooks
"Ask my API docs about [topic]" Queries the relevant notebook
"Use the React notebook" Sets active notebook
"Clear NotebookLM data" Fresh start (keeps library)

Real-World Examples

Example 1: Workshop Manual Query

User asks: "Check my Suzuki GSR 600 workshop manual for brake fluid type, engine oil specs, and rear axle torque."

Claude automatically:

NotebookLM Chat Example

Example 2: Building Without Hallucinations

You: "I need to build an n8n workflow for Gmail spam filtering. Use my n8n notebook."

Claude's internal process:

→ Loads NotebookLM skill
→ Activates n8n notebook
→ Asks comprehensive questions with follow-ups
→ Synthesizes complete answer from multiple queries

Result: Working workflow on first try, no debugging hallucinated APIs.


Technical Details

Core Technology

Note: The MCP server uses the same Patchright library but via TypeScript/npm ecosystem.

Dependencies

Data Storage

All data is stored locally within the skill directory:

~/.claude/skills/notebooklm/data/
├── library.json       - Your notebook library with metadata
├── auth_info.json     - Authentication status info
└── browser_state/     - Browser cookies and session data

Important Security Note:

Session Model

Unlike the MCP server, this skill uses a stateless model:

This means:

For multi-step research, Claude automatically asks follow-up questions when needed.


Limitations

Skill-Specific

NotebookLM


FAQ

Why doesn't this work in the Claude web UI? The web UI runs skills in a sandbox without network access. Browser automation requires network access to reach NotebookLM.

How is this different from the MCP server? This is a simpler, Python-based implementation that runs directly as a Claude Skill. The MCP server is more feature-rich with persistent sessions and works with multiple tools (Codex, Cursor, etc.).

Can I use both this skill and the MCP server? Yes! They serve different purposes. Use the skill for quick Claude Code integration, use the MCP server for persistent sessions and multi-tool support.

What if Chrome crashes? Run: "Clear NotebookLM browser data" and try again.

Is my Google account secure? Chrome runs locally on your machine. Your credentials never leave your computer. Use a dedicated Google account if you're concerned.


Troubleshooting

Skill not found

# Make sure it's in the right location
ls ~/.claude/skills/notebooklm/
# Should show: SKILL.md, scripts/, etc.

Authentication issues

Say: "Reset NotebookLM authentication"

Browser crashes

Say: "Clear NotebookLM browser data"

Dependencies issues

# Manual reinstall if needed
cd ~/.claude/skills/notebooklm
rm -rf .venv
python -m venv .venv
source .venv/bin/activate  # or .venv\Scripts\activate on Windows
pip install -r requirements.txt

Disclaimer

This tool automates browser interactions with NotebookLM to make your workflow more efficient. However, a few friendly reminders:

About browser automation: While I've built in humanization features (realistic typing speeds, natural delays, mouse movements) to make the automation behave more naturally, I can't guarantee Google won't detect or flag automated usage. I recommend using a dedicated Google account for automation rather than your primary account—think of it like web scraping: probably fine, but better safe than sorry!

About CLI tools and AI agents: CLI tools like Claude Code, Codex, and similar AI-powered assistants are incredibly powerful, but they can make mistakes. Please use them with care and awareness:

I built this tool for myself because I was tired of the copy-paste dance between NotebookLM and my editor. I'm sharing it in the hope it helps others too, but I can't take responsibility for any issues, data loss, or account problems that might occur. Use at your own discretion and judgment.

That said, if you run into problems or have questions, feel free to open an issue on GitHub. I'm happy to help troubleshoot!


Credits

This skill is inspired by my NotebookLM MCP Server and provides an alternative implementation as a Claude Code Skill:

If you need:


The Bottom Line

Without this skill: NotebookLM in browser → Copy answer → Paste in Claude → Copy next question → Back to browser...

With this skill: Claude researches directly → Gets answers instantly → Writes correct code

Stop the copy-paste dance. Start getting accurate, grounded answers directly in Claude Code.

# Get started in 30 seconds
cd ~/.claude/skills
git clone https://github.com/PleasePrompto/notebooklm-skill notebooklm
# Open Claude Code: "What are my skills?"

Built as a Claude Code Skill adaptation of my NotebookLM MCP Server

For source-grounded, document-based research directly in Claude Code

notebooklm-skill (PleasePrompto/notebooklm-skill)

Searching Database…

7.8K ·GitHub
archived
这是什么?这是一个 Claude Code 技能,让 Claude Code 能直接与你的 Google NotebookLM 笔记本对话。它只基于你上传的文档,由 Gemini 给出有来源依据、带引用的回答。
这是 Claude 技能,还是和 NotebookLM MCP 服务器一样?这是一个独立的 Claude Code 技能,即一个包含说明文件和 Python 脚本的本地文件夹,与作者的 NotebookLM MCP Server 是分开的。该技能只能在本地的 Claude Code 中使用;MCP 服务器还支持 Codex、Cursor 等工具,并能保持持久会话。
我该如何安装并开始使用?将该技能克隆到 ~/.claude/skills 中。第一次使用时,它会自动创建一个 Python 虚拟环境,并安装包括 Google Chrome 在内的依赖项。然后,用你的 Google 账号登录一次,在 notebooklm.google.com 上创建笔记本,上传文档,将笔记本设为共享,最后把链接添加到 Claude 的资料库中。
使用这个需要 Google 账号或 API 密钥吗?需要一个 Google 账号,通过一次性的 Chrome 登录来访问 NotebookLM,并且文档要已经上传到笔记本中。不需要 Anthropic 或 Google 的 API 密钥,因为该技能直接驱动浏览器。
它会在多次提问之间保留对话上下文吗?不会。每次提问都会打开一个全新的浏览器会话,不记得之前的回答,这一点与保持持久聊天会话的 MCP 服务器不同。它也只能在本地的 Claude Code 中使用,无法在网页界面沙盒中运行。
这个能在任何操作系统上运行,还是只能在某一个平台上用?它以 Python 技能文件夹的形式安装,并使用真正的 Chrome 浏览器。作者特意选择它,是为了跨平台的可靠性。因此,只要 Claude Code 在本地运行,它就能在 Windows、macOS 和 Linux 上运行。
我的 NotebookLM 登录数据存放在哪里?所有认证和笔记本数据都存储在技能内的 data/ 目录中,该目录已通过 .gitignore 自动排除在 git 之外。你不应提交或分享这个文件夹,因为它包含敏感的认证数据。
为什么要用 NotebookLM,而不是把文档直接交给 Claude,或者自建本地 RAG?NotebookLM 借助 Gemini,把文档预处理成专家级的综合知识,token 成本很低,并附带来源引用。而本地 RAG 或直接投喂文档,则需要消耗大量 token,容易产生幻觉,还要花费数小时进行嵌入与分块设置。
这个项目还在维护吗?不再维护。该仓库已于 2026 年 9 月归档,不会再有更新、错误修复或支持。如果 NotebookLM 发生变化,它可能会失效。
我可以自动添加笔记本,还是只能手动添加?Claude 可以通过 “Smart Add” 查询笔记本,自动发现其内容和元数据。你也可以自己手动为笔记本指定名称和主题。
NotebookLM 笔记本可以添加哪些类型的来源?你可以上传 PDF、Google 文档、Markdown 文件、网站、GitHub 仓库和 YouTube 视频。每个笔记本可以组合多个来源。
Size
0.2 MB
Stars
7.8K
Age
1y
Commits · 90 Days