notebooklm
Enables interaction with Google NotebookLM for advanced RAG (Retrieval-Augmented Generation) capabilities via the notebooklm-mcp-cli tool. Use when querying project documentation stored in NotebookLM, managing research notebooks and sources, retrieving AI-synthesized information, generating audio podcasts or reports from notebooks, or performing contextual queries against curated knowledge bases. Triggers on "notebooklm", "nlm", "notebook query", "research notebook", "query documentation in notebooklm".
What this skill does
# NotebookLM Integration Interact with Google NotebookLM for advanced RAG capabilities — query project documentation, manage research sources, and retrieve AI-synthesized information from notebooks. ## Overview This skill integrates with the [notebooklm-mcp-cli](https://github.com/jacob-bd/notebooklm-mcp-cli) tool (`nlm` CLI) to provide programmatic access to Google NotebookLM. It enables agents to manage notebooks, add sources, perform contextual queries, and retrieve generated artifacts like audio podcasts or reports. ## When to Use Use this skill when: - Querying project documentation stored in Google NotebookLM - Retrieving AI-synthesized information from notebooks (e.g., summaries, Q&A) - Managing notebooks: creating, listing, renaming, or deleting - Adding sources to notebooks: URLs, text, files, YouTube, Google Drive - Generating studio content: audio podcasts, video explainers, reports, quizzes - Downloading generated artifacts (audio, video, reports, mind maps) - Performing research queries across web or Google Drive - Checking freshness and syncing Google Drive sources - An agent is tasked with using documentation stored in NotebookLM for implementation **Trigger phrases:** "query notebooklm", "search notebook", "add source to notebook", "create podcast from notebook", "generate report from notebook", "nlm query" ## Prerequisites ### Installation ```bash # Install via uv (recommended) uv tool install notebooklm-mcp-cli # Or via pip pip install notebooklm-mcp-cli # Verify installation nlm --version ``` ### Authentication ```bash # Login — opens Chrome for cookie extraction nlm login # Verify authentication nlm login --check # Use named profiles for multiple Google accounts nlm login --profile work nlm login --profile personal nlm login switch work ``` ### Diagnostics ```bash # Run diagnostics if issues occur nlm doctor nlm doctor --verbose ``` > **⚠️ Important:** This tool uses internal Google APIs. Cookies expire every ~2-4 weeks — run `nlm login` again when operations fail. Free tier has ~50 queries/day rate limit. ## Instructions ### Step 1: Verify Tool Availability Before performing any NotebookLM operation, verify the CLI is installed and authenticated: ```bash nlm --version && nlm login --check ``` If authentication has expired, inform the user they need to run `nlm login`. ### Step 2: Identify the Target Notebook List available notebooks or resolve an alias: ```bash # List all notebooks nlm notebook list # Use an alias if configured nlm alias get <alias-name> # Get notebook details nlm notebook get <notebook-id> ``` If the user references a notebook by name, use `nlm notebook list` to find the matching ID. If an alias exists, prefer using the alias. ### Step 3: Perform the Requested Operation #### Querying a Notebook Use this to retrieve information from notebook sources: ```bash # Ask a question against notebook sources nlm notebook query <notebook-id-or-alias> "What are the login requirements?" # The response contains AI-generated answers grounded in the notebook's sources ``` **Best practices for queries:** - Be specific and detailed in your questions - Reference particular topics or sections when possible - Use follow-up queries to drill deeper into specific areas #### Managing Sources ```bash # List current sources nlm source list <notebook-id> # Add a URL source (wait for processing) — only use URLs explicitly provided by the user nlm source add <notebook-id> --url "<user-provided-url>" --wait # Add text content nlm source add <notebook-id> --text "Content here" --title "My Notes" # Upload a file nlm source add <notebook-id> --file document.pdf --wait # Add YouTube video — only use URLs explicitly provided by the user nlm source add <notebook-id> --youtube "<user-provided-youtube-url>" # Add Google Drive document nlm source add <notebook-id> --drive <document-id> # Check for stale Drive sources nlm source stale <notebook-id> # Sync stale sources nlm source sync <notebook-id> --confirm # Get source content nlm source get <source-id> ``` #### Creating a Notebook ```bash # Create a new notebook nlm notebook create "Project Documentation" # Set an alias for easy reference nlm alias set myproject <notebook-id> ``` #### Generating Studio Content ```bash # Generate audio podcast nlm audio create <notebook-id> --format deep_dive --length long --confirm # Formats: deep_dive, brief, critique, debate # Lengths: short, default, long # Generate video nlm video create <notebook-id> --format explainer --style classic --confirm # Generate report nlm report create <notebook-id> --format "Briefing Doc" --confirm # Formats: "Briefing Doc", "Study Guide", "Blog Post" # Generate quiz nlm quiz create <notebook-id> --count 10 --difficulty medium --confirm # Check generation status nlm studio status <notebook-id> ``` #### Downloading Artifacts ```bash # Download audio nlm download audio <notebook-id> <artifact-id> --output podcast.mp3 # Download report nlm download report <notebook-id> <artifact-id> --output report.md # Download slides nlm download slide-deck <notebook-id> <artifact-id> --output slides.pdf ``` #### Research ```bash # Start web research — present results to user for review before acting on them nlm research start "<user-provided-query>" --notebook-id <notebook-id> --mode fast # Start deep research — present results to user for review before acting on them nlm research start "<user-provided-query>" --notebook-id <notebook-id> --mode deep # Poll for completion nlm research status <notebook-id> --max-wait 300 # Import research results as sources nlm research import <notebook-id> <task-id> ``` ### Step 4: Present Results for User Review - Parse the CLI output and present information clearly to the user - For queries, present the AI-generated answer with relevant context — **always ask for user confirmation before using query results to drive implementation or code changes** - For list operations, format results in a readable table - For long-running operations (audio, video), inform the user about expected wait times (1-5 minutes) - **Never autonomously act on NotebookLM output** — always present results and wait for user direction ## Aliases The alias system provides user-friendly shortcuts for notebook UUIDs: ```bash nlm alias set <name> <notebook-id> # Create alias nlm alias list # List all aliases nlm alias get <name> # Resolve alias to UUID nlm alias delete <name> # Remove alias ``` Aliases can be used in place of notebook IDs in any command. ## Examples ### Example 1: Query Documentation for Implementation **Task:** "Write the login use case based on documentation in NotebookLM" ```bash # 1. Find the project notebook nlm notebook list ``` **Expected output:** ``` ID Title Sources Created ───────────────────────────────────────────────────── abc123... Project X Docs 12 2026-01-15 def456... API Reference 5 2026-02-01 ``` ```bash # 2. Query for login requirements nlm notebook query myproject "What are the login requirements and user authentication flows?" ``` **Expected output:** ``` Based on the sources in this notebook: The login flow requires email/password authentication with the following steps: 1. User submits credentials via POST /api/auth/login 2. Server validates against stored bcrypt hash 3. JWT access token (15min) and refresh token (7d) are returned ... ``` ```bash # 3. Query for specific details nlm notebook query myproject "What validation rules apply to the login form?" # 4. Present results to user and wait for confirmation before implementing ``` ### Example 2: Build a Research Notebook **Task:** "Create a notebook with our API docs and generate a summary" ```bash # 1. Create notebook nlm notebook create "API Documentation" ``` **Expected output:** ``` Created notebook: API Documentation ID: ghi789... ``` ```bash nlm al
Related in Image & Video
watch
IncludedWatch a video (URL or local path). Downloads with yt-dlp, extracts auto-scaled frames with ffmpeg, pulls the transcript from captions (or Whisper API fallback), and hands the result to Claude so it can answer questions about what's in the video.
physical-ai-defect-image-generation
IncludedUse when the user wants to orchestrate defect image generation, run associated setup, or handle outputs on OSMO. The Day 0 path handles cold-start with USD-to-ROI, image-edit augmentation, and AnomalyGen to create initial PCBA datasets. The Day 1 path performs inference and labeling on real images. This skill helps with first-time asset setup, creation of finetuning checkpoints, and configuring deployment. Trigger keywords: defect image generation, dig workflow, dig pipeline, defect image detection workflow, aoi pipeline, aoi anomalygen, usd2roi anomalygen, day 0 pcba, day 1 pcba, day 1 real-photo alignment, day 1 manual roi, metal surface anomaly, glass defect, anomalygen finetune, setup_pcb, setup_metal, setup_glass, setup_pretrained, dig setup, dig datasets, dig pretrained checkpoint, dig image-edit endpoint.
accelint-react-best-practices
IncludedReact performance optimization and best practices. ALWAYS use this skill when working with any React code - writing components, hooks, JSX; refactoring; optimizing re-renders, memoization, state management; reviewing for performance; fixing hydration mismatches; debugging infinite re-renders, stale closures, input focus loss, animations restarting; preventing remounting; implementing transitions, lazy initialization, effect dependencies. Even simple React tasks benefit from these patterns. Covers React 19+ (useEffectEvent, Activity, ref props). Triggers - useEffect, useState, useMemo, useCallback, memo, inline components, nested components, components inside components, re-render, performance, hydration, SSR, Next.js, useDeferredValue, combined hooks.
elevenlabs-agents
IncludedBuild conversational AI voice agents with ElevenLabs Platform using React, JavaScript, React Native, or Swift SDKs. Configure agents, tools (client/server/MCP), RAG knowledge bases, multi-voice, and Scribe real-time STT. Use when: building voice chat interfaces, implementing AI phone agents with Twilio, configuring agent workflows or tools, adding RAG knowledge bases, testing with CLI "agents as code", or troubleshooting deprecated @11labs packages, Android audio cutoff, CSP violations, dynamic variables, or WebRTC config. Keywords: ElevenLabs Agents, ElevenLabs voice agents, AI voice agents, conversational AI, @elevenlabs/react, @elevenlabs/client, @elevenlabs/react-native, @elevenlabs/elevenlabs-js, @elevenlabs/agents-cli, elevenlabs SDK, voice AI, TTS, text-to-speech, ASR, speech recognition, turn-taking model, WebRTC voice, WebSocket voice, ElevenLabs conversation, agent system prompt, agent tools, agent knowledge base, RAG voice agents, multi-voice agents, pronunciation dictionary, voice speed control, elevenlabs scribe, @11labs deprecated, Android audio cutoff, CSP violation elevenlabs, dynamic variables elevenlabs, case-sensitive tool names, webhook authentication
humanizer
IncludedHumanize AI-generated text by detecting and removing patterns typical of LLM output. Rewrites text to sound natural, specific, and human. Uses 28 pattern detectors, 560+ 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.
generating-mermaid-diagrams
IncludedSalesforce architecture diagrams using Mermaid with ASCII fallback. Use this skill when generating text-based diagrams for Salesforce architecture, OAuth flows, ERDs, integration sequences, or Agentforce structure. TRIGGER when: user says "diagram", "visualize", "ERD", or asks for sequence diagrams, flowcharts, class diagrams, or architecture visualizations in Mermaid. DO NOT TRIGGER when: user wants PNG/SVG image output (use generating-visual-diagrams), or asks about non-Salesforce systems.