
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- Repository
- jacob-bd/gemini-notebook-mcp-cli6.4k
- 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:
- Check for MCP tools: Tool names vary by host; look for
mcp__gemini-notebook-mcp__*,mcp__notebooklm_mcp__*, ormcp_gemini_notebook_mcp_*. - Follow an explicit surface choice: If the user asks for MCP or CLI, use it.
- 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
--profilewithout 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. - Use the available surface when only MCP or only CLI is callable; read its tool docstring or
nlm <command> --helpbefore 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()


