NotebookLM
Интеграция локального Claude Code с Google NotebookLM для получения ответов на основе источников с цитатами из загруженных документов. Снижайте галлюцинации и эффективно управляйте знаниями.
Этот навык Claude Code обеспечивает прямую связь между локальными установками Claude Code и Google NotebookLM. Он позволяет разработчикам запрашивать свои загруженные документы для получения ответов, основанных на источниках и подкреплённых цитатами, с использованием Gemini 2.5, что значительно снижает количество галлюцинаций и потребление токенов. Автоматизируя взаимодействие с браузером, управляя библиотеками и обрабатывая постоянную аутентификацию, он оптимизирует процесс исследования, позволяя Claude строить глубокое понимание и писать корректный код, основываясь исключительно на вашей личной базе знаний, без ручного копирования.
Ключевые возможности
Варианты использования
Let Claude Code chat directly with NotebookLM for source-grounded answers based exclusively on your uploaded documents
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
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.
When you tell Claude Code to "search through my local documentation", here's what happens:
- Massive token consumption: Searching through documentation means reading multiple files repeatedly
- Inaccurate retrieval: Searches for keywords, misses context and connections between docs
- Hallucinations: When it can't find something, it invents plausible-sounding APIs
- Manual copy-paste: Switching between NotebookLM browser and your editor constantly
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.
| 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 |
- Pre-processed by Gemini: Upload docs once, get instant expert knowledge
- Natural language Q&A: Not just retrieval — actual understanding and synthesis
- Multi-source correlation: Connects information across 50+ documents
- Citation-backed: Every answer includes source references
- No infrastructure: No vector DBs, embeddings, or chunking strategies needed
# 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:
- Creates an isolated Python environment (
.venv) - Installs all dependencies including Google Chrome
- Sets up browser automation with Chrome (not Chromium) for maximum reliability
- Everything stays contained in the skill folder
Note: The setup uses real Chrome instead of Chromium for cross-platform reliability, consistent browser fingerprinting, and better anti-detection with Google services
Say in Claude Code:
"What skills do I have?"
Claude will list your available skills including NotebookLM.
"Set up NotebookLM authentication"
A Chrome window opens → log in with your Google account
Go to notebooklm.google.com → Create notebook → Upload your docs:
- 📄 PDFs, Google Docs, markdown files
- 🔗 Websites, GitHub repos
- 🎥 YouTube videos
- 📚 Multiple sources per notebook
Share: ⚙️ Share → Anyone with link → Copy
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.
"What does my React docs say about hooks?"
Claude automatically selects the right notebook and gets the answer directly from NotebookLM.
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.
| 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 |
~/.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:
- Loads the skill instructions
- Runs the appropriate Python script
- Opens a browser, asks your question
- Returns the answer directly to you
- Uses that knowledge to help with your task
NotebookLM significantly reduces hallucinations by answering exclusively from your uploaded documents. If information isn't available, it indicates uncertainty rather than inventing content.
No copy-paste between browser and editor. Claude asks and receives answers programmatically.
Save NotebookLM links with tags and descriptions. Claude auto-selects the right notebook for your task.
One-time Google login, then authentication persists across sessions.
Everything runs in the skill folder with an isolated Python environment. No global installations.
Uses realistic typing speeds and interaction patterns to avoid detection.
| 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) |
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
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.
- Patchright: Browser automation library (Playwright-based)
- Python: Implementation language for this skill
- Stealth techniques: Human-like typing and interaction patterns
Note: The MCP server uses the same Patchright library but via TypeScript/npm ecosystem.
- patchright==1.55.2: Browser automation
- python-dotenv==1.0.0: Environment configuration
- Automatically installed in
.venvon first use
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:
- The
data/directory contains sensitive authentication data and personal notebooks - It's automatically excluded from git via
.gitignore - NEVER manually commit or share the contents of the
data/directory
Unlike the MCP server, this skill uses a stateless model:
- Each question opens a fresh browser
- Asks the question, gets the answer
- Adds a follow-up prompt to encourage Claude to ask more questions
- Closes the browser immediately
This means:
- No persistent chat context
- Each question is independent
- But your notebook library persists
- Follow-up mechanism: Each answer includes "Is that ALL you need to know?" to prompt Claude to ask comprehensive follow-ups
For multi-step research, Claude automatically asks follow-up questions when needed.
- 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"
- Rate limits - Free tier has daily query limits
- Manual upload - You must upload docs to NotebookLM first
- Share requirement - Notebooks must be shared publicly
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.
# Make sure it's in the right location
ls ~/.claude/skills/notebooklm/
# Should show: SKILL.md, scripts/, etc.Say: "Reset NotebookLM authentication"
Say: "Clear NotebookLM browser data"
# 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.txtThis 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:
- 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!
This skill is inspired by my NotebookLM MCP Server and provides an alternative implementation as a Claude Code Skill:
- Both use Patchright for browser automation (TypeScript for MCP, Python for Skill)
- Skill version runs directly in Claude Code without MCP protocol
- Stateless design optimized for skill architecture
If you need:
- Persistent sessions → Use the MCP Server
- Multiple tool support (Codex, Cursor) → Use the MCP Server
- Quick Claude Code integration → Use this skill
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 — навык для Claude Code
Навык, который позволяет Claude Code напрямую обращаться к вашим записным книжкам Google NotebookLM. Вместо того чтобы искать по локальным файлам или копировать данные вручную, вы задаёте вопрос в терминале — и Claude получает ответ только из загруженных вами документов, с цитатами и ссылками на источники.
⚠️ Важно: навык работает только с локальной установкой Claude Code (не веб-интерфейс). Веб-версия не даёт навыкам доступа к сети, а здесь требуется автоматизация браузера.
Зачем это нужно
Обычный сценарий «поищи в моей документации» в Claude Code приводит к:
- Огромному расходу токенов — чтение множества файлов.
- Неточному поиску — теряется контекст.
- Галлюцинациям — когда ответа нет, модель придумывает правдоподобные API.
- Постоянному переключению между редактором и браузером.
Навык решает это так: Claude отправляет запрос в NotebookLM, а Gemini 2.5 даёт синтезированный ответ только на основе ваших документов. Никакого копирования: вопрос → ответ → готовый код.
Почему NotebookLM, а не локальный RAG
| Подход | Токены | Время настройки | Галлюцинации | Качество ответа |
|---|---|---|---|---|
| Подача файлов Клоду | Очень высоко | Мгновенно | Да | Переменное |
| Поиск в вебе | Средне | Мгновенно | Часто | Нестабильно |
| Локальный RAG | Средне-высоко | Часы | Возможны | Зависит от настройки |
| Навык NotebookLM | Минимум | 5 минут | Минимум (только из источников) | Экспертный синтез |
NotebookLM не требует векторных баз данных, эмбеддингов и стратегий разбиения на чанки. Вы загружаете документы один раз — и получаете готовую базу знаний, которая умеет связывать информацию из 50+ источников.
Установка
# 1. Создайте папку навыков, если её нет
mkdir -p ~/.claude/skills
# 2. Клонируйте репозиторий
cd ~/.claude/skills
git clone https://github.com/PleasePrompto/notebooklm-skill notebooklm
# 3. Готово! Откройте Claude Code и спросите: «Какие у меня навыки?»
При первом использовании навык автоматически:
- Создаёт изолированное Python-окружение (
.venv). - Устанавливает зависимости и Google Chrome (не Chromium — ради надёжности и совместимости с Google).
- Ничего не трогает за пределами папки навыка.
Быстрый старт
- Проверьте навыки — скажите в Claude Code: «Какие у меня навыки?».
- Аутентифицируйтесь (один раз) — скажите: «Настрой аутентификацию NotebookLM». Откроется Chrome, войдите в свой Google-аккаунт.
- Создайте записную книжку — на notebooklm.google.com нажмите «Создать» и загрузите файлы (PDF, Google Docs, Markdown, ссылки, видео YouTube). Затем поделитесь: ⚙️ → «Поделиться» → «Все, у кого есть ссылка» → скопируйте ссылку.
- Добавьте в библиотеку — передайте ссылку Клоду:
- Автоматически: «Запроси эту записную книжку и добавь её в мою библиотеку: [ссылка]».
- Вручную: «Добавь эту NotebookLM в мою библиотеку: [ссылка]» — Клод попросит указать имя и темы.
- Начинайте исследовать — например: «Что говорится в моих React-документах о хуках?». Claude сам выберет нужную записную книжку и вернёт ответ.
Как это работает
Это навык Claude Code — локальная папка с инструкциями и скриптами. Структура:
~/.claude/skills/notebooklm/
├── SKILL.md # Инструкции для Claude
├── scripts/
│ ├── ask_question.py # Запрос к NotebookLM
│ ├── notebook_manager.py # Управление библиотекой
│ └── auth_manager.py # Аутентификация в Google
├── .venv/ # Изолированное окружение
└── data/ # Локальная библиотека
Когда вы упоминаете NotebookLM или отправляете ссылку, Claude:
- Загружает инструкции навыка.
- Запускает нужный Python-скрипт.
- Открывает браузер, задаёт вопрос, получает ответ.
- Использует эти знания для вашей задачи.
Ключевые возможности
- Ответы только по источникам — галлюцинации сведены к минимуму.
- Прямая интеграция — без копирования вручную.
- Умная библиотека — сохраняйте ссылки с тегами и описаниями, Клод сам выбирает нужную записную книжку.
- Автоматическая аутентификация — один раз, и больше не нужно.
- Изолированность — всё работает в своей папке, глобальных установок нет.
- Человекоподобная автоматизация — реалистичная скорость печати и паттерны взаимодействия для защиты от блокировок.
Часто используемые команды
| Ваша фраза | Что происходит |
|---|---|
| «Настрой аутентификацию NotebookLM» | Открывается Chrome для входа в Google |
| «Добавь [ссылка] в мою библиотеку NotebookLM» | Сохраняется записная книжка |
| «Покажи мои записные книжки NotebookLM» | Список всех сохранённых |
| «Спроси мои API-документы о [тема]» | Поиск в нужной записной книжке |
| «Используй записную книжку React» | Выбор активной записной книжки |
| «Очисти данные NotebookLM» | Сброс без удаления библиотеки |
Отличия от MCP-сервера
Существует также MCP-версия (типскриптовая, через npm), но этот навык:
- Проще в установке — просто git clone.
- Работает только в локальном Claude Code.
- Не требует запуска отдельного сервера.
- Не сохраняет историю сессий — каждый вопрос открывает новый браузер.
MCP-версия, в свою очередь, поддерживает постоянные сессии, совместима с Codex, Cursor и другими инструментами, использует TypeScript.
Важные замечания
- Только локальный Claude Code — в веб-интерфейсе не работает из-за песочницы.
- Нет сохранения контекста — каждый запрос независим. Чтобы уточнить детали, Клод автоматически задаёт уточняющие вопросы.
- Лимиты бесплатного тарифа — у NotebookLM есть дневные квоты запросов.
- Необходимость расшаривать записные книжки — ссылка должна быть доступна «всем, у кого есть ссылка».
- Безопасность: все данные (файл библиотеки, куки) хранятся локально в
data/и исключены из git — не копируйте их вручную.
Устранение неполадок
- Навык не найден: проверьте, что папка лежит в
~/.claude/skills/notebooklm/и содержитSKILL.md. - Проблемы с аутентификацией: скажите «Сбрось аутентификацию NotebookLM».
- Браузер падает: скажите «Очисти данные браузера NotebookLM».
- Проблемы с зависимостями: удалите
.venvв папке навыка и пересоздайте окружение (python -m venv .venv, затемpip install -r requirements.txt).
Примеры
Пример 1: «Проверь руководство по эксплуатации Suzuki GSR 600: какая тормозная жидкость, масло и момент затяжки задней оси?» — Claude получит из NotebookLM точные спецификации: DOT 4, SAE 10W-40, 100 Н·м.
Пример 2: «Мне нужно собрать n8n-воркфлоу для фильтрации спама в Gmail. Используй мою записную книжку по n8n.» — Клод запросит NotebookLM, получит полную инструкцию и соберёт рабочий воркфлоу с первой попытки, без галлюцинаций.
Технические детали
- Библиотека:
patchright==1.55.2(на основе Playwright) +python-dotenv==1.0.0. - Сессионная модель: stateless — каждый вопрос открывает новый браузер, задаёт вопрос, получает ответ, показывает приглашение «Это всё, что вам нужно?», и закрывается.
- Хранение:
~/.claude/skills/notebooklm/data/—library.json,auth_info.json,browser_state/.
Альтернативы
Если вам нужна постоянная сессия или совместимость с другими инструментами — используйте MCP-сервер.
Почему стоит использовать этот навык вместо локальных RAG-решений?
Этот навык обеспечивает минимальное потребление токенов, экспертный синтез от Gemini 2.5 (из NotebookLM), корреляцию из нескольких источников и ответы с цитированием — без сложной настройки векторных БД, эмбеддингов или чанкинга, необходимых для локального RAG.
Работает ли этот навык с веб-интерфейсом Claude?
Нет, этот навык предназначен исключительно для локальных установок Claude Code. Он требует сетевого доступа для автоматизации браузера, что не допускается в изолированной среде веб-интерфейса Claude.
Какими основными функциями обладает навык NotebookLM Claude Code Skill?
Ключевые функции включают ответы на основе источников, прямую интеграцию без копирования-вставки, умное управление библиотекой ссылок NotebookLM, автоматическую и постоянную аутентификацию Google, а также самодостаточную среду Python.
Что такое навык NotebookLM Claude Code Skill?
Это локальный навык Claude Code, который позволяет вашей локальной установке Claude Code общаться напрямую с Google NotebookLM, предоставляя ответы с цитированием исключительно на основе ваших загруженных документов.
Как этот навык помогает уменьшить галлюцинации ИИ?
Используя NotebookLM, который создан для предоставления ответов исключительно на основе ваших загруженных документов с цитированием, этот навык значительно снижает вероятность того, что Claude Code сгенерирует неточную или вымышленную информацию.
Комментарии
Комментариев пока нет. Будьте первым.