notebooklm
NotebookLM integration patterns for external RAG, research synthesis, studio content generation (audio, cinematic video, slides, infographics, mind maps), and knowledge management. Use when creating notebooks, adding sources, generating audio/video, or querying NotebookLM via MCP.
What this skill does
# NotebookLM
NotebookLM = external RAG engine that offloads reading from your context window. Uses the `notebooklm-mcp-cli` MCP server (PyPI, v0.6.1+) to create notebooks, manage sources, generate content, label sources thematically, and query with grounded AI responses. Supports batch operations across notebooks, pipelines, and multilingual content generation.
> **Disclaimer**: Uses internal undocumented Google APIs via browser authentication. Sessions last ~20 minutes. API may change without notice.
### What's New (April 2026 — v0.6.1)
- **Source labels (NEW in v0.6.0)** — Organize sources into thematic categories. New `label` MCP tool + `nlm label` CLI: `auto` (AI generates from sources, requires 5+), `list`, `create`, `rename`, `delete`, `assign`, `unassign`. Surfaces in NotebookLM web UI's source filter.
- **Label reorganize (NEW in v0.6.1)** — `nlm label reorganize` (or `label` MCP with `action="reorganize"`) forces AI re-categorization when labels already exist. Two modes: all-sources (replace, requires `--confirm`) or unlabeled-only (preserve existing).
- **Video formats** — 3 formats (explainer, brief, cinematic) + 9 visual styles
- **Audio length** — `audio_length` param: short, default, long
- **PPTX export** — `download_artifact(slide_deck_format="pptx")` alongside PDF
- **Bulk source ops** — `source_add(urls=[...])`, `source_delete(source_ids=[...])`, `source_add(wait=True)`
- **Studio artifact rename** — `studio_status(action="rename", artifact_id="...", new_title="...")`
- **Slide/report/quiz params** — `slide_format`, `report_format`, `difficulty` + `question_count`
- **Infographic options** — `orientation`, `detail_level`, 11 `infographic_style` options
- **Audio sources** — Upload m4a, wav, mp3, aac, ogg, opus
- **Async large queries** — `notebook_query_start`/`notebook_query_status` for 50+ source notebooks
- **Multi-browser auth** — Arc, Brave, Edge, Chromium, Vivaldi, Opera + WSL2 (`nlm login --wsl`)
- **Enterprise** — `NOTEBOOKLM_BASE_URL` env var for Google Workspace deployments
- **Security** — Download path traversal protection, `0o600` auth files, Chrome origins locked to localhost
## Prerequisites
1. **Install**: `uv tool install notebooklm-mcp-cli` (or `pip install notebooklm-mcp-cli`)
2. **Authenticate**: `nlm login` (opens browser, session ~20 min)
3. **Configure MCP**: `nlm setup add claude-code` (auto-configures `.mcp.json`) or `nlm setup add all` for multi-tool setup
4. **Verify**: `nlm login --check` to confirm active session
5. **Upgrade**: `uv tool upgrade notebooklm-mcp-cli` — restart MCP server after upgrade
## CRITICAL: Task Management is MANDATORY (CC 2.1.16)
**BEFORE doing ANYTHING else, create tasks to track progress:**
```python
# 1. Create main task IMMEDIATELY
TaskCreate(
subject="NotebookLM: {operation}",
description="Managing notebooks, sources, and content generation",
activeForm="Managing NotebookLM resources"
)
# 2. Create subtasks for the notebook workflow
TaskCreate(subject="Notebook setup", activeForm="Creating/configuring notebook")
TaskCreate(subject="Source management", activeForm="Adding sources to notebook")
TaskCreate(subject="Content generation", activeForm="Generating studio content")
# 3. Set dependencies for sequential steps
TaskUpdate(taskId="3", addBlockedBy=["2"])
TaskUpdate(taskId="4", addBlockedBy=["3"])
# 4. Before starting each task, verify it's unblocked
task = TaskGet(taskId="2") # Verify blockedBy is empty
# 5. Update status as you progress
TaskUpdate(taskId="2", status="in_progress") # When starting
TaskUpdate(taskId="2", status="completed") # When done
```
## Decision Tree — Which Rule to Read
```
What are you trying to do?
│
├── Create / manage notebooks
│ ├── List / get / rename ──────► notebook_list, notebook_get, notebook_rename
│ ├── Create new notebook ──────► notebook_create
│ └── Delete notebook ──────────► notebook_delete (irreversible!)
│
├── Add sources to a notebook
│ ├── URL / YouTube ────────────► source_add(type=url)
│ ├── Plain text ───────────────► source_add(type=text)
│ ├── Local file ───────────────► source_add(type=file)
│ ├── Google Drive ─────────────► source_add(type=drive)
│ ├── Rename a source ──────────► source_rename
│ └── Manage sources ──────────► rules/setup-quickstart.md
│
├── Query a notebook (AI chat)
│ ├── Ask questions ────────────► notebook_query
│ └── Configure chat style ────► chat_configure
│
├── Generate studio content
│ ├── 10 artifact types ───────► rules/workflow-studio-content.md
│ ├── Revise slides ───────────► studio_revise (creates new deck)
│ └── Export to Docs/Sheets ──► export_artifact
│
├── Research & discovery
│ └── Web/Drive research ──────► rules/workflow-research-discovery.md
│
├── Notes (capture insights)
│ └── Create/list/update/delete ► note (unified tool)
│
├── Sharing & collaboration
│ └── Public links / invites / batch ► rules/workflow-sharing-collaboration.md
│
├── Batch & cross-notebook
│ ├── Query across notebooks ────► cross_notebook_query
│ ├── Bulk operations ───────────► batch (query, add-source, create, studio)
│ └── Multi-step pipelines ──────► rules/workflow-batch-pipelines.md
│
├── Organization
│ └── Tag notebooks ─────────────► tag
│
└── Workflow patterns
├── Second brain ─────────────► rules/workflow-second-brain.md
├── Research offload ─────────► rules/workflow-research-offload.md
└── Knowledge base ──────────► rules/workflow-knowledge-base.md
```
## Quick Reference
| Category | Rule | Impact | Key Pattern |
|----------|------|--------|-------------|
| **Setup** | `setup-quickstart.md` | HIGH | Auth, MCP config, source management, session refresh |
| **Workflows** | `workflow-second-brain.md` | HIGH | Decision docs, project hub, agent interop |
| **Workflows** | `workflow-research-offload.md` | HIGH | Synthesis, onboarding, token savings |
| **Workflows** | `workflow-knowledge-base.md` | HIGH | Debugging KB, security handbook, team knowledge |
| **Workflows** | `workflow-studio-content.md` | HIGH | 10 artifact types (audio, cinematic video, slides, infographics, mind maps...) |
| **Research** | `workflow-research-discovery.md` | HIGH | Web/Drive research async flow |
| **Collaboration** | `workflow-sharing-collaboration.md` | MEDIUM | Public links, collaborator invites, batch sharing |
| **Batch** | `workflow-batch-pipelines.md` | HIGH | Cross-notebook queries, batch ops, pipelines |
| **Release** | `workflow-versioned-notebooks.md` | HIGH | Per-release notebooks with changelog + diffs |
**Total: 9 rules across 5 categories**
## MCP Tools by API Group
| Group | Tools | Count |
|-------|-------|-------|
| Notebooks | notebook_list, notebook_create, notebook_get, notebook_describe, notebook_rename, notebook_delete | 6 |
| Sources | source_add, source_rename, source_list_drive, source_sync_drive, source_delete, source_describe, source_get_content | 7 |
| Querying | notebook_query, chat_configure | 2 |
| Studio | studio_create, studio_status (also: list_types, rename), studio_revise, studio_delete | 4 |
| Research | research_start, research_status, research_import | 3 |
| Sharing | notebook_share_status, notebook_share_public, notebook_share_invite, notebook_share_batch | 4 |
| Notes | note (unified: list/create/update/delete) | 1 (4 actions) |
| Downloads | download_artifact | 1 |
| Export | export_artifact (Google Docs/Sheets) | 1 |
| Batch | batch (multi-notebook ops), cross_notebook_query | 2 |
| Pipelines | pipeline (action: run\|list; ingest-and-podcast, research-and-report, multi-format) | 1 |
| Tags | tag (action: add\|remove\|list\|select) | 1 |
| Auth | save_auth_tokens, refresh_auth, server_info | 3 |
**Total: 36 tools across 13 groups** (v0.6.1+)
## Key Decisions
| Decision | Recommendation |
|----------|----------------|
| New notebook vs existing | One notebook per project/topic; add sources to existing |
| Source type | URL for web, text for inline, file for local docs, drive for Google Docs |
| Large 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.