notebook

SKILL.md

NotebookLM Quick Actions

Simplified command routing for NotebookLM MCP tools. Create podcasts, study guides, quizzes, flashcards, research reports, and slide decks from any source.

Prerequisites

  1. NotebookLM MCP server must be configured and authenticated
  2. Run nlm login if you get auth errors

Command Routing

User Says Action MCP Flow
"podcast from [source]" Audio Overview Create → Add Source → Studio Audio
"study guide from [source]" Study Guide Create → Add Source → Studio Report
"research [query]" Web Research Research Start → Poll → Import
"quiz from [source]" Quiz Create → Add Source → Studio Quiz
"flashcards from [source]" Flashcards Create → Add Source → Studio Flashcards
"slides from [source]" Slide Deck Create → Add Source → Studio Slides
"summarize [source]" Summary Create → Add Source → Query
"mind map from [source]" Mind Map Create → Add Source → Studio Mind Map

Source Types

Detect source type from user input:

  • URL: https://...source_add(source_type="url", url=...)
  • File path: /path/to/file.pdfsource_add(source_type="file", file_path=...)
  • Pasted text: Raw text content → source_add(source_type="text", text=..., title=...)
  • Multiple sources: Add each one sequentially

Workflow: Podcast

  1. notebook_create(title="Podcast: [topic]")
  2. For each source: source_add(notebook_id=..., source_type=..., ..., wait=True)
  3. studio_create(notebook_id=..., artifact_type="audio", audio_format="deep_dive", confirm=True)
  4. Poll studio_status(notebook_id=...) every 30s until completed
  5. Report the URL to user

Options: audio_format: deep_dive (default), brief, critique, debate Options: audio_length: short, default, long

Workflow: Study Guide

  1. notebook_create(title="Study Guide: [topic]")
  2. Add sources (same as above)
  3. studio_create(notebook_id=..., artifact_type="report", report_format="Study Guide", confirm=True)
  4. Poll studio_status until completed
  5. Download and display: download_artifact(notebook_id=..., artifact_type="report", output_path="study-guide.md")

Workflow: Research

  1. research_start(query="[user query]", source="web", mode="fast")
    • For deep research: mode="deep" (takes ~5 min, ~40 sources)
  2. research_status(notebook_id=..., max_wait=300)
  3. When complete: research_import(notebook_id=..., task_id=...)
  4. Optionally query the imported sources: notebook_query(notebook_id=..., query="summarize findings")

Workflow: Quiz

  1. Create notebook and add sources
  2. studio_create(notebook_id=..., artifact_type="quiz", question_count=5, difficulty="medium", confirm=True)
  3. Poll studio_status until completed
  4. download_artifact(notebook_id=..., artifact_type="quiz", output_path="quiz.json", output_format="json")
  5. Read the quiz file and present questions interactively to user one at a time
  6. Track score and reveal answers after each question

Workflow: Flashcards

  1. Create notebook and add sources
  2. studio_create(notebook_id=..., artifact_type="flashcards", difficulty="medium", confirm=True)
  3. Poll and download as JSON
  4. Present cards one at a time: show front, wait for user, reveal back
  5. Track which cards were correct/incorrect for review

Workflow: Slides

  1. Create notebook and add sources
  2. studio_create(notebook_id=..., artifact_type="slide_deck", slide_format="detailed_deck", confirm=True)
  3. Poll studio_status until completed
  4. Download: download_artifact(notebook_id=..., artifact_type="slide_deck", output_path="slides.pdf")
  5. Report download location

Existing Notebook

If user specifies an existing notebook (by name or ID), skip notebook_create and add sources to existing notebook. Use notebook_list to find notebooks by name.

Error Handling

Error Solution
Auth error Run nlm login via Bash
Source processing timeout Increase wait_timeout or poll manually
Studio generation stuck Check studio_status, may need retry
Quiz download fails Try different output_format (json/markdown/html)
Weekly Installs
2
First Seen
Feb 27, 2026
Installed on
mcpjam2
claude-code2
replit2
junie2
windsurf2
zencoder2