Skills

NotebookLM CLI

Manages notebooks, sources and generated content with the nlm CLI and MCP.

Install

npx skills add jacob-bd/gemini-notebook-mcp-cli --skill nlm-skill -g -a claude-code -y
Category
Documents
Updated
8d ago
License
MIT
Context cost
Mediumabout 3,000 tokens
Runs scripts
No, instructions only

What it does

Expert guide for the Gemini Notebook (formerly Google NotebookLM) CLI (`nlm`) and MCP server - interfaces for Gemini Notebook. Use this skill when users want to interact with Gemini Notebook programmatically, including: creating/managing notebooks, checking plan usage and quota windows, adding sources (URLs, YouTube, text, Google Drive), generating content (podcasts, reports, interactive reports, quizzes, flashcards, mind maps, slides, infographics, videos, data tables), conducting research, chatting with sources, or automating Gemini Notebook workflows. Triggers on mentions of "nlm", "notebooklm", "Gemini Notebook", "plan usage", "quota", "podcast generation", "audio overview", "interactive report", "lesson report", "refactor document", "critique draft", or any Gemini Notebook-related automation task.

Gemini Notebook CLI & MCP Expert

This skill provides comprehensive guidance for using Gemini Notebook via both the nlm CLI and MCP tools.

Tool Detection (CRITICAL - Read First!)

ALWAYS check which tools are available before proceeding:

  1. Check for MCP tools: Tool names vary by host; look for mcp__gemini-notebook-mcp__*, mcp__notebooklm_mcp__*, or mcp_gemini_notebook_mcp_*.
  2. Follow an explicit surface choice: If the user asks for MCP or CLI, use it.
  3. Choose by task when both are available: Use MCP for notebook operations and downloads inside its configured download directory. Use the CLI for an explicit --profile without changing the MCP default account, or for a user-directed output path outside the MCP download directory. Ask only if the choice would materially change the result and the user's preference is unclear.
  4. Use the available surface when only MCP or only CLI is callable; read its tool docstring or nlm <command> --help before supplying unfamiliar options.

Decision Logic:

has_mcp_tools = check_available_tools()  # Look for any NotebookLM MCP tool name above
has_cli = check_bash_available()  # Can run nlm commands

if user_named_mcp_or_cli:
    use_that_surface()
elif needs_workspace_output_outside_mcp_root or needs_explicit_profile_without_switching_default:
    use_cli()
elif has_mcp_tools:
    use_mcp()
elif has_cli:
    use_cli()
Read the whole SKILL.md on GitHub

More in Documents