notebooklm-skillUse 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 through document-only responses.
Install via ClawdBot CLI:
clawdbot install guccidgi/notebooklm-skillInteract with Google NotebookLM to query documentation with Gemini's source-grounded answers. Each question opens a fresh browser session, retrieves the answer exclusively from your uploaded documents, and closes.
Trigger when user:
https://notebooklm.google.com/notebook/...)When user wants to add a notebook without providing details:
SMART ADD (Recommended): Query the notebook first to discover its content:
# Step 1: Query the notebook about its content
python scripts/run.py ask_question.py --question "What is the content of this notebook? What topics are covered? Provide a complete overview briefly and concisely" --notebook-url "[URL]"
# Step 2: Use the discovered information to add it
python scripts/run.py notebook_manager.py add --url "[URL]" --name "[Based on content]" --description "[Based on content]" --topics "[Based on content]"
MANUAL ADD: If user provides all details:
--url - The NotebookLM URL--name - A descriptive name--description - What the notebook contains (REQUIRED!)--topics - Comma-separated topics (REQUIRED!)NEVER guess or use generic descriptions! If details missing, use Smart Add to discover them.
NEVER call scripts directly. ALWAYS use python scripts/run.py [script]:
# ā
CORRECT - Always use run.py:
python scripts/run.py auth_manager.py status
python scripts/run.py notebook_manager.py list
python scripts/run.py ask_question.py --question "..."
# ā WRONG - Never call directly:
python scripts/auth_manager.py status # Fails without venv!
The run.py wrapper automatically:
.venv if neededpython scripts/run.py auth_manager.py status
If not authenticated, proceed to setup.
# Browser MUST be visible for manual Google login
python scripts/run.py auth_manager.py setup
Important:
# List all notebooks
python scripts/run.py notebook_manager.py list
# BEFORE ADDING: Ask user for metadata if unknown!
# "What does this notebook contain?"
# "What topics should I tag it with?"
# Add notebook to library (ALL parameters are REQUIRED!)
python scripts/run.py notebook_manager.py add \
--url "https://notebooklm.google.com/notebook/..." \
--name "Descriptive Name" \
--description "What this notebook contains" \ # REQUIRED - ASK USER IF UNKNOWN!
--topics "topic1,topic2,topic3" # REQUIRED - ASK USER IF UNKNOWN!
# Search notebooks by topic
python scripts/run.py notebook_manager.py search --query "keyword"
# Set active notebook
python scripts/run.py notebook_manager.py activate --id notebook-id
# Remove notebook
python scripts/run.py notebook_manager.py remove --id notebook-id
python scripts/run.py notebook_manager.py listpython scripts/run.py ask_question.py --question "..." --notebook-id ID# Basic query (uses active notebook if set)
python scripts/run.py ask_question.py --question "Your question here"
# Query specific notebook
python scripts/run.py ask_question.py --question "..." --notebook-id notebook-id
# Query with notebook URL directly
python scripts/run.py ask_question.py --question "..." --notebook-url "https://..."
# Show browser for debugging
python scripts/run.py ask_question.py --question "..." --show-browser
Every NotebookLM answer ends with: "EXTREMELY IMPORTANT: Is that ALL you need to know?"
Required Claude Behavior:
python scripts/run.py ask_question.py --question "Follow-up with context..."
auth_manager.py)python scripts/run.py auth_manager.py setup # Initial setup (browser visible)
python scripts/run.py auth_manager.py status # Check authentication
python scripts/run.py auth_manager.py reauth # Re-authenticate (browser visible)
python scripts/run.py auth_manager.py clear # Clear authentication
notebook_manager.py)python scripts/run.py notebook_manager.py add --url URL --name NAME --description DESC --topics TOPICS
python scripts/run.py notebook_manager.py list
python scripts/run.py notebook_manager.py search --query QUERY
python scripts/run.py notebook_manager.py activate --id ID
python scripts/run.py notebook_manager.py remove --id ID
python scripts/run.py notebook_manager.py stats
ask_question.py)python scripts/run.py ask_question.py --question "..." [--notebook-id ID] [--notebook-url URL] [--show-browser]
cleanup_manager.py)python scripts/run.py cleanup_manager.py # Preview cleanup
python scripts/run.py cleanup_manager.py --confirm # Execute cleanup
python scripts/run.py cleanup_manager.py --preserve-library # Keep notebooks
The virtual environment is automatically managed:
.venv automaticallyManual setup (only if automatic fails):
python -m venv .venv
source .venv/bin/activate # Linux/Mac
pip install -r requirements.txt
python -m patchright install chromium
All data stored in ~/.claude/skills/notebooklm/data/:
library.json - Notebook metadataauth_info.json - Authentication statusbrowser_state/ - Browser cookies and sessionSecurity: Protected by .gitignore, never commit to git.
Optional .env file in skill directory:
HEADLESS=false # Browser visibility
SHOW_BROWSER=false # Default browser display
STEALTH_ENABLED=true # Human-like behavior
TYPING_WPM_MIN=160 # Typing speed
TYPING_WPM_MAX=240
DEFAULT_NOTEBOOK_ID= # Default notebook
User mentions NotebookLM
ā
Check auth ā python scripts/run.py auth_manager.py status
ā
If not authenticated ā python scripts/run.py auth_manager.py setup
ā
Check/Add notebook ā python scripts/run.py notebook_manager.py list/add (with --description)
ā
Activate notebook ā python scripts/run.py notebook_manager.py activate --id ID
ā
Ask question ā python scripts/run.py ask_question.py --question "..."
ā
See "Is that ALL you need?" ā Ask follow-ups until complete
ā
Synthesize and respond to user
| Problem | Solution |
|---------|----------|
| ModuleNotFoundError | Use run.py wrapper |
| Authentication fails | Browser must be visible for setup! --show-browser |
| Rate limit (50/day) | Wait or switch Google account |
| Browser crashes | python scripts/run.py cleanup_manager.py --preserve-library |
| Notebook not found | Check with notebook_manager.py list |
Important directories and files:
scripts/ - All automation scripts (ask_question.py, notebook_manager.py, etc.)data/ - Local storage for authentication and notebook libraryreferences/ - Extended documentation:api_reference.md - Detailed API documentation for all scriptstroubleshooting.md - Common issues and solutionsusage_patterns.md - Best practices and workflow examples.venv/ - Isolated Python environment (auto-created on first run).gitignore - Protects sensitive data from being committedGenerated Mar 1, 2026
Researchers can upload academic papers and literature reviews to NotebookLM, then query the skill for source-grounded answers to specific questions, ensuring citations are accurate and reducing time spent searching through documents. This is ideal for literature reviews or verifying claims in studies.
Software developers and engineers upload technical manuals, API docs, or internal wikis to NotebookLM, using the skill to quickly find answers to coding questions or system specifications without manual browsing. This streamlines troubleshooting and onboarding processes.
Law firms and legal professionals can upload contracts, case files, or regulations to NotebookLM, querying the skill for specific clauses or precedents with citations, ensuring thorough and accurate legal research while minimizing errors.
Journalists and content creators upload source materials like reports or interviews to NotebookLM, using the skill to verify facts and gather quotes directly from documents, enhancing credibility and reducing misinformation in articles or videos.
Businesses upload internal documents such as policies, training materials, and project reports to NotebookLM, enabling employees to query the skill for quick answers on procedures or historical data, improving efficiency and knowledge retention.
Offer the NotebookLM skill as a paid subscription service for businesses and individuals, providing regular updates, priority support, and enhanced features like advanced analytics or custom integrations. Revenue is generated through monthly or annual fees.
Provide basic querying and notebook management for free, while charging for advanced capabilities such as bulk document processing, team collaboration tools, or API access. This attracts a broad user base and converts power users to paid plans.
Sell customized enterprise licenses to large organizations, including features like on-premise deployment, enhanced security, dedicated support, and integration with existing systems like CRM or document management platforms. Revenue comes from one-time or annual contracts.
š¬ Integration Tip
Always use the run.py wrapper for scripts to ensure proper environment setup and avoid dependency issues, and implement the follow-up mechanism to iteratively query NotebookLM until all user information needs are met.
Remove signs of AI-generated writing from text. Use when editing or reviewing text to make it sound more natural and human-written. Based on Wikipedia's comprehensive "Signs of AI writing" guide. Detects and fixes patterns including: inflated symbolism, promotional language, superficial -ing analyses, vague attributions, em dash overuse, rule of three, AI vocabulary words, negative parallelisms, and excessive conjunctive phrases.
Humanize AI-generated text to bypass detection. This humanizer rewrites ChatGPT, Claude, and GPT content to sound natural and pass AI detectors like GPTZero,...
Collaborative thinking partner for exploring complex problems through questioning
Humanize AI-generated text by detecting and removing patterns typical of LLM output. Rewrites text to sound natural, specific, and human. Uses 24 pattern detectors, 500+ AI vocabulary terms across 3 tiers, and statistical analysis (burstiness, type-token ratio, readability) for comprehensive detection. Use when asked to humanize text, de-AI writing, make content sound more natural/human, review writing for AI patterns, score text for AI detection, or improve AI-generated drafts. Covers content, language, style, communication, and filler categories.
ę ¹ę®ēØę·ēåč½éę±ļ¼å®ęäø VeADK ēøå ³ēåč½ć
You MUST use this before any creative work - creating features, building components, adding functionality, or modifying behavior. Explores user intent, requirements and design before implementation.