
Notebooklm
Query Google NotebookLM notebooks from your coding agent for citation-backed answers pulled only from notebooks you have uploaded.
Overview
NotebookLM is an agent skill for the Idea phase (also Build and Validate) that automates browser sessions to query your Google NotebookLM notebooks and return source-grounded, citation-oriented answers.
Install
npx skills add https://github.com/pleaseprompto/notebooklm-skill --skill notebooklmWhat is this skill?
- Runs ask_question.py and notebook_manager.py via a persistent Python runner with browser automation against notebooklm.g
- Smart-add flow: query a notebook URL first for an overview, then register name, description, and topics in the local lib
- Fresh browser session per question to reduce stale state; answers are intended to stay document-only for lower hallucina
- Triggers on explicit NotebookLM URLs, “ask my NotebookLM”, library add/list, and documentation query phrasing
- Supports listing, adding, and organizing notebooks in a managed library tied to the skill scripts
- Smart-add flow uses a two-step pattern: overview question via ask_question.py then notebook_manager.py add
Adoption & trust: 6.5k installs on skills.sh; 6.9k GitHub stars; 1/3 security scanners passed (skills.sh audits).
What problem does it solve?
You have critical truth in NotebookLM notebooks but your agent keeps answering from general knowledge instead of those uploaded sources.
Who is it for?
Solo builders who already upload specs, competitor notes, or API PDFs to NotebookLM and want agent workflows that respect that library.
Skip if: Teams that need fully headless CI queries without browser login, or people who want generic web search instead of NotebookLM-grounded corpora.
When should I use this skill?
User mentions NotebookLM, shares a notebooklm.google.com notebook URL, asks to query notebooks or add documentation to the NotebookLM library, or says phrases like “ask my NotebookLM” or “check my docs”.
What do I get? / Deliverables
You get document-scoped answers and a maintainable local notebook library so the agent can re-query the same corpora with explicit URLs or saved entries.
- Citation-oriented answers from a specified NotebookLM notebook URL or library entry
- Updated local notebook library metadata (name, description, topics) after smart-add
Recommended Skills
Journey fit
Spans multiple journey phases - primary shelf plus alternate fits below.
Canonical shelf is Idea/research because the skill’s core job is grounding decisions in uploaded sources before or alongside implementation—not replacing your repo docs. Research is where solo builders compare specs, internal wikis, and reference PDFs; NotebookLM is explicitly a source-grounded query layer for that corpus.
Where it fits
Upload competitor teardown PDFs to NotebookLM and ask the skill for cited comparisons before you commit to a positioning angle.
Query a notebook that holds your PRD drafts to confirm feature boundaries without the agent inventing requirements.
Keep vendor API notes in NotebookLM and pull exact limits and auth flows into implementation tasks.
Run a final pass against a launch checklist notebook so release comms match the sourced plan.
How it compares
Use this as a NotebookLM-specific integration skill—not as a replacement for MCP doc servers or raw `web_search` on the open web.
Common Questions / FAQ
Who is notebooklm for?
Indie developers and small teams who centralize research and internal docs in Google NotebookLM and use Claude Code or similar agents day to day.
When should I use notebooklm?
During Idea research to sanity-check claims against uploaded sources, during Validate when scoping from your own briefs, and during Build or Ship when runbooks live in NotebookLM and you need grounded answers with citations.
Is notebooklm safe to install?
It drives a real browser against Google accounts and runs local Python scripts; review the Security Audits panel on this Prism page and treat notebook URLs and auth state as sensitive before enabling on shared machines.
SKILL.md
READMESKILL.md - Notebooklm
# NotebookLM Research Assistant Skill Interact 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. ## When to Use This Skill Trigger when user: - Mentions NotebookLM explicitly - Shares NotebookLM URL (`https://notebooklm.google.com/notebook/...`) - Asks to query their notebooks/documentation - Wants to add documentation to NotebookLM library - Uses phrases like "ask my NotebookLM", "check my docs", "query my notebook" ## ⚠️ CRITICAL: Add Command - Smart Discovery When user wants to add a notebook without providing details: **SMART ADD (Recommended)**: Query the notebook first to discover its content: ```bash # 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. ## Critical: Always Use run.py Wrapper **NEVER call scripts directly. ALWAYS use `python scripts/run.py [script]`:** ```bash # ✅ 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: 1. Creates `.venv` if needed 2. Installs all dependencies 3. Activates environment 4. Executes script properly ## Core Workflow ### Step 1: Check Authentication Status ```bash python scripts/run.py auth_manager.py status ``` If not authenticated, proceed to setup. ### Step 2: Authenticate (One-Time Setup) ```bash # Browser MUST be visible for manual Google login python scripts/run.py auth_manager.py setup ``` **Important:** - Browser is VISIBLE for authentication - Browser window opens automatically - User must manually log in to Google - Tell user: "A browser window will open for Google login" ### Step 3: Manage Notebook Library ```bash # 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 ``` ### Quick Workflow 1. Check library: `python scripts/run.py notebook_manager.py list` 2. Ask question: `python scripts/run.py ask_question.py --question "..." --notebook-id ID` ### Step 4: Ask Questions ```bash # Basic query (uses active notebook if