github PleasePrompto/notebooklm-skill v1.0.0
v1.0.0: NotebookLM Claude Code Skill

latest releases: v1.3.0, v1.2.0, v1.1.0...
5 months ago

NotebookLM Claude Code Skill v1.0.0

Let Claude Code chat directly with NotebookLM for zero-hallucination answers based on your own notebooks

This is the first official release of the NotebookLM Skill for Claude Code - a local skill that enables Claude to query your Google NotebookLM notebooks programmatically for source-grounded, citation-backed answers from Gemini.

What This Is

A Claude Code Skill that provides:

  • Direct NotebookLM integration from Claude Code CLI
  • Browser automation for querying your notebooks
  • Persistent authentication with Google
  • Notebook library management
  • Zero hallucinations - all answers backed by your source documents

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.

Installation

# 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?"

The skill automatically:

  • Creates an isolated Python environment (.venv)
  • Installs all dependencies
  • Sets up browser automation
  • Everything stays contained in the skill folder

Quick Start

1. Authenticate with Google (one-time)

"Set up NotebookLM authentication"

A browser window opens, log in with your Google account, done.

2. Add your notebooks

"Add this NotebookLM notebook: https://notebooklm.google.com/notebook/..."

Claude will ask for a description and tags to organize your library.

3. Start querying

"Ask my NotebookLM about [your question]"

Claude automatically selects the right notebook and retrieves answers from Gemini.

Key Features

Zero Hallucinations: NotebookLM refuses to answer if information isn't in your docs. No invented APIs.

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.

Intelligent Follow-ups: Built-in mechanism prompts Claude to ask comprehensive follow-up questions, building complete understanding despite stateless architecture.

Real-World Example

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:

  • Authenticates with NotebookLM
  • Asks comprehensive questions about each specification
  • Follows up when prompted "Is that ALL you need to know?"
  • Provides accurate specifications: DOT 4 brake fluid, SAE 10W-40 oil, 100 N·m rear axle torque

NotebookLM Chat Example

Example showing Claude's automatic follow-up questions to NotebookLM, building comprehensive understanding before responding to the user.

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

  • Patchright: Browser automation library (Playwright-based)
  • Python: Implementation language for this skill
  • Stateless design: Optimized for Claude Skills architecture with intelligent follow-up mechanism

Based on battle-tested technology from the NotebookLM MCP Server (used in production across Claude Code, Codex, and Cursor).

Dependencies

  • Python 3.8+
  • patchright==1.55.2 (browser automation)
  • python-dotenv==1.0.0 (environment configuration)

All dependencies install automatically in an isolated .venv on first use.

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 (gitignored)

Data Storage

All data is stored locally:

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

Security: Automatically excluded from git via .gitignore

Session Model

This skill uses a stateless model optimized for Claude Skills:

  • Each question opens a fresh browser session
  • Asks the question, gets the answer
  • Includes "Is that ALL you need to know?" prompt to encourage comprehensive follow-ups
  • Closes browser immediately

This approach:

  • Keeps the skill simple and reliable
  • Avoids session management complexity
  • Uses Claude's intelligence for multi-step research
  • Maintains notebook library persistence

For persistent chat sessions across multiple tools, see the NotebookLM MCP Server.

Comparison with MCP Server

This skill is based on the NotebookLM MCP Server (https://github.com/PleasePrompto/notebooklm-mcp):

Feature This Skill MCP Server
Protocol Claude Skills Model Context Protocol
Installation Git clone to ~/.claude/skills npm/Claude MCP
Sessions Stateless (fresh per query) Persistent sessions
Compatibility Claude Code only (local) Multiple tools (Claude Code, Codex, Cursor, etc.)
Language Python TypeScript

Choose this skill if:

  • You use Claude Code exclusively
  • You want simple git-based installation
  • You prefer Python-based automation

Choose the MCP server if:

  • You use multiple AI coding tools
  • You want persistent chat sessions
  • You prefer TypeScript/npm ecosystem

Known Limitations

Skill-Specific:

  • Local Claude Code only - Does not work in web UI (sandbox restrictions)
  • No session persistence - Each question is independent
  • No follow-up context - Can't reference "the previous answer" (but intelligent prompting encourages comprehensive questions)

NotebookLM:

  • Rate limits - Free tier has daily query limits
  • Manual upload - You must upload docs to NotebookLM first
  • Share requirement - Notebooks must be shared publicly

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 and similar AI-powered assistants are incredibly powerful, but they can make mistakes. Please use them with care and awareness:

  • Always review changes before committing or deploying
  • Test in safe environments first
  • Keep backups of important work
  • Remember: AI agents are assistants, not infallible oracles

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!

Documentation

  • README.md: Complete documentation with examples
  • SKILL.md: Skill instructions for Claude
  • references/: Extended guides and troubleshooting
    • api_reference.md: Detailed API documentation
    • usage_patterns.md: Best practices and workflows
    • troubleshooting.md: Common issues and solutions

Links

License

MIT License - see LICENSE file for details


Ready to eliminate hallucinations? Install now and query your NotebookLM knowledge base directly from Claude Code!

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

Don't miss a new notebooklm-skill release

NewReleases is sending notifications on new releases.