← Back to Skills
Exec

notebooklm-cli

oconnell-carl By oconnell-carl 👁 13 views ▲ 0 votes

Comprehensive CLI for Google NotebookLM

GitHub
---
name: notebooklm-cli
description: Comprehensive CLI for Google NotebookLM including notebooks, sources, audio podcasts, reports, quizzes, flashcards, mind maps, slides, infographics, videos, and data tables. Use when working with NotebookLM programmatically: managing notebooks/sources, generating audio overviews (podcasts), creating study materials (quizzes, flashcards), producing presentations (slides, infographics), or querying sources via chat.
---

# NotebookLM CLI

## Overview

This skill provides complete access to Google NotebookLM through a command-line interface. Manage notebooks, sources, and generate various content formats including audio podcasts, reports, quizzes, flashcards, mind maps, slides, infographics, videos, and data tables.

## When to Use This Skill

Use this skill when:
- Managing NotebookLM notebooks and sources programmatically
- Generating audio overviews (podcasts) from notebook sources
- Creating study materials: quizzes, flashcards, reports
- Producing visual content: slides, infographics, mind maps, videos
- Querying sources via chat or one-shot questions
- Researching and importing new sources automatically

## Quick Start

### Authentication

```bash
nlm login
```

Launches Chrome, navigates to NotebookLM, and extracts session cookies. Requires Google Chrome installed.

### List Notebooks

```bash
nlm notebook list
```

### Create Notebook and Add Sources

```bash
nlm notebook create "My Research"
nlm source add <notebook-id> --url "https://example.com/article"
nlm source add <notebook-id> --text "Your content here" --title "My Notes"
```

### Generate Content (All Types)

All generation commands require `--confirm` or `-y`:

```bash
nlm audio create <id> --confirm          # Podcast
nlm report create <id> --confirm         # Briefing doc or study guide
nlm quiz create <id> --confirm           # Quiz questions
nlm flashcards create <id> --confirm     # Flashcards
nlm mindmap create <id> --confirm        # Mind map
nlm slides create <id> --confirm         # Slide deck
nlm infographic create <id> --confirm    # Infographic
nlm video create <id> --confirm          # Video overview
nlm data-table create <id> "description" --confirm  # Data table
```

## Authentication

| Command | Description |
|---------|-------------|
| `nlm login` | Authenticate with NotebookLM (opens Chrome) |
| `nlm login --check` | Verify current credentials |
| `nlm auth status` | Check session validity |
| `nlm auth list` | List all profiles |
| `nlm auth delete <profile> --confirm` | Delete a profile |
| `nlm login --profile <name>` | Login to specific profile |

Sessions last ~20 minutes. Re-authenticate with `nlm login` if commands fail.

## Notebook Management

| Command | Description |
|---------|-------------|
| `nlm notebook list` | List all notebooks |
| `nlm notebook create "Title"` | Create a new notebook |
| `nlm notebook get <id>` | Get notebook details |
| `nlm notebook describe <id>` | AI-generated summary |
| `nlm notebook query <id> "question"` | Chat with sources |
| `nlm notebook delete <id> --confirm` | Delete a notebook |

## Source Management

| Command | Description |
|---------|-------------|
| `nlm source list <notebook-id>` | List sources in notebook |
| `nlm source list <notebook-id> --drive` | Show Drive sources with freshness |
| `nlm source add <id> --url "..."` | Add URL or YouTube source |
| `nlm source add <id> --text "..." --title "..."` | Add pasted text |
| `nlm source add <id> --drive <doc-id>` | Add Google Drive document |
| `nlm source describe <source-id>` | AI summary of source |
| `nlm source content <source-id>` | Get raw text content |
| `nlm source stale <notebook-id>` | List outdated Drive sources |
| `nlm source sync <notebook-id> --confirm` | Sync Drive sources |

## Content Generation

All generation commands require `--confirm` or `-y`:

### Media Types

| Command | Output |
|---------|--------|
| `nlm audio create <id> --confirm` | Audio podcast overview |
| `nlm report create <id> --confirm` | Briefing doc or study guide |
| `nlm quiz create <id> --confirm` | Quiz questions |
| `nlm flashcards create <id> --confirm` | Flashcards |
| `nlm mindmap create <id> --confirm` | Mind map |
| `nlm slides create <id> --confirm` | Slide deck |
| `nlm infographic create <id> --confirm` | Infographic |
| `nlm video create <id> --confirm` | Video overview |
| `nlm data-table create <id> "description" --confirm` | Data table extraction |

## Studio (Artifact Management)

| Command | Description |
|---------|-------------|
| `nlm studio status <notebook-id>` | List all generated artifacts |
| `nlm studio delete <notebook-id> <artifact-id> --confirm` | Delete an artifact |

## Chat

| Command | Description |
|---------|-------------|
| `nlm chat start <notebook-id>` | Start interactive REPL session |
| `nlm chat configure <notebook-id>` | Configure chat goal and response style |
| `nlm notebook query <id> "question"` | One-shot question (no session) |

Chat REPL commands: `/sources`, `/clear`, `/help`, `/exit`

## Research

| Command | Description |
|---------|-------------|
| `nlm research start "query" --notebook-id <id>` | Web search (~30s) |
| `nlm research start "query" --notebook-id <id> --mode deep` | Deep research (~5min) |
| `nlm research start "query" --notebook-id <id> --source drive` | Search Google Drive |
| `nlm research status <notebook-id>` | Check research progress |
| `nlm research import <notebook-id> <task-id>` | Import discovered sources |

## Aliases (UUID Shortcuts)

```bash
nlm alias set myproject <uuid>           # Create alias
nlm notebook get myproject               # Use alias
nlm alias list                           # List all aliases
nlm alias get myproject                  # Resolve to UUID
nlm alias delete myproject               # Remove alias
```

## Output Formats

Most list commands support multiple formats:

```bash
nlm notebook list                # Rich table (default)
nlm notebook list --json         # JSON output
nlm notebook list --quiet        # IDs only (for scripting)
nlm notebook list --title        # "ID: Title" format
nlm notebook list --full         # All columns
```

## Profiles (Multiple Accounts)

```bash
nlm login --profile work         # Login to profile
nlm notebook list --profile work # Use profile
nlm auth list                    # List all profiles
nlm auth delete work --confirm   # Delete profile
```

## Configuration

```bash
nlm config show                  # Show current configuration
nlm config get <key>             # Get specific setting
nlm config set <key> <value>     # Update setting
```

## AI Documentation

For AI assistants, generate comprehensive documentation:

```bash
nlm --ai
```

Outputs 400+ lines covering all commands, authentication flow, error handling, task sequences, and automation tips.

## References

- [Command Reference](references/commands.md) - Complete command signatures
- [Troubleshooting](references/troubleshooting.md) - Error diagnosis and solutions
- [Workflows](references/workflows.md) - End-to-end task sequences
exec

Comments

Sign in to leave a comment

Loading comments...