notebooklm-2

NotebookLM CLI automation for this workspace: authenticate/login, list/create/use/rename/delete notebooks, ask/configure chat, manage sources/notes/sharing, research status, and generate/download artifacts via `uv run tiangong-workspace notebooklm ...`. Use when tasks involve NotebookLM notebooks, sources, notes, sharing, research, or generated outputs (slide decks, flashcards, reports, etc.).

533 stars

Best use case

notebooklm-2 is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

NotebookLM CLI automation for this workspace: authenticate/login, list/create/use/rename/delete notebooks, ask/configure chat, manage sources/notes/sharing, research status, and generate/download artifacts via `uv run tiangong-workspace notebooklm ...`. Use when tasks involve NotebookLM notebooks, sources, notes, sharing, research, or generated outputs (slide decks, flashcards, reports, etc.).

Teams using notebooklm-2 should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/notebooklm-2/SKILL.md --create-dirs "https://raw.githubusercontent.com/sundial-org/awesome-openclaw-skills/main/skills/notebooklm-2/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/notebooklm-2/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How notebooklm-2 Compares

Feature / Agentnotebooklm-2Standard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

NotebookLM CLI automation for this workspace: authenticate/login, list/create/use/rename/delete notebooks, ask/configure chat, manage sources/notes/sharing, research status, and generate/download artifacts via `uv run tiangong-workspace notebooklm ...`. Use when tasks involve NotebookLM notebooks, sources, notes, sharing, research, or generated outputs (slide decks, flashcards, reports, etc.).

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

SKILL.md Source

# NotebookLM

Use the workspace CLI wrapper around NotebookLM. Prefer the script in `scripts/` to avoid manual repo path setup.

## Quick start

```bash
node {baseDir}/scripts/notebooklm.mjs status
node {baseDir}/scripts/notebooklm.mjs login
node {baseDir}/scripts/notebooklm.mjs list
node {baseDir}/scripts/notebooklm.mjs use <notebook_id>
node {baseDir}/scripts/notebooklm.mjs ask "Summarize the key takeaways" --notebook <notebook_id>
```

## Session and auth

```bash
node {baseDir}/scripts/notebooklm.mjs status
node {baseDir}/scripts/notebooklm.mjs login
node {baseDir}/scripts/notebooklm.mjs clear
node {baseDir}/scripts/notebooklm.mjs auth check --test --json
```

## Notebooks

```bash
node {baseDir}/scripts/notebooklm.mjs list
node {baseDir}/scripts/notebooklm.mjs create "Research Notebook"
node {baseDir}/scripts/notebooklm.mjs use <notebook_id>
node {baseDir}/scripts/notebooklm.mjs rename "New Title" --notebook <notebook_id>
node {baseDir}/scripts/notebooklm.mjs delete --notebook <notebook_id> --yes
node {baseDir}/scripts/notebooklm.mjs summary --notebook <notebook_id> --topics
```

## Chat

```bash
node {baseDir}/scripts/notebooklm.mjs ask "What are the top risks?" --notebook <notebook_id>
node {baseDir}/scripts/notebooklm.mjs configure --mode concise --notebook <notebook_id>
node {baseDir}/scripts/notebooklm.mjs history --notebook <notebook_id> --limit 20
```

## Sources

```bash
node {baseDir}/scripts/notebooklm.mjs source add https://example.com --notebook <notebook_id>
node {baseDir}/scripts/notebooklm.mjs source add "Inline notes" --title "Meeting" --notebook <notebook_id>
node {baseDir}/scripts/notebooklm.mjs source add-drive <file_id> "Drive Doc" --notebook <notebook_id>
node {baseDir}/scripts/notebooklm.mjs source add-research "market analysis" --mode deep --import-all
node {baseDir}/scripts/notebooklm.mjs source get <source_id>
node {baseDir}/scripts/notebooklm.mjs source guide <source_id> --json
node {baseDir}/scripts/notebooklm.mjs source fulltext <source_id> -o ./source.txt
node {baseDir}/scripts/notebooklm.mjs source rename <source_id> "New Title"
node {baseDir}/scripts/notebooklm.mjs source delete <source_id> --yes
node {baseDir}/scripts/notebooklm.mjs source refresh <source_id>
node {baseDir}/scripts/notebooklm.mjs source stale <source_id>
node {baseDir}/scripts/notebooklm.mjs source wait <source_id> --timeout 300 --exec-timeout 600
```

## Artifacts

```bash
node {baseDir}/scripts/notebooklm.mjs generate slide-deck "Create a 10-slide executive summary" --notebook <notebook_id> --wait
node {baseDir}/scripts/notebooklm.mjs artifact list --notebook <notebook_id> --json
node {baseDir}/scripts/notebooklm.mjs artifact get <artifact_id>
node {baseDir}/scripts/notebooklm.mjs artifact rename <artifact_id> "New Title"
node {baseDir}/scripts/notebooklm.mjs artifact delete <artifact_id> --yes
node {baseDir}/scripts/notebooklm.mjs artifact export <artifact_id> --title "Exec Summary" --type docs
node {baseDir}/scripts/notebooklm.mjs artifact suggestions --json
node {baseDir}/scripts/notebooklm.mjs download slide-deck ./slides.pdf --notebook <notebook_id> --latest
node {baseDir}/scripts/notebooklm.mjs artifact wait <artifact_id> --timeout 600 --exec-timeout 900
```

## Notes

```bash
node {baseDir}/scripts/notebooklm.mjs note create "Key points" --title "Highlights"
node {baseDir}/scripts/notebooklm.mjs note list --notebook <notebook_id>
node {baseDir}/scripts/notebooklm.mjs note get <note_id>
node {baseDir}/scripts/notebooklm.mjs note save <note_id> --content "Updated notes"
node {baseDir}/scripts/notebooklm.mjs note rename <note_id> "New Title"
node {baseDir}/scripts/notebooklm.mjs note delete <note_id> --yes
```

## Sharing

```bash
node {baseDir}/scripts/notebooklm.mjs share add user@example.com --permission editor
node {baseDir}/scripts/notebooklm.mjs share update user@example.com --permission viewer
node {baseDir}/scripts/notebooklm.mjs share remove user@example.com --yes
node {baseDir}/scripts/notebooklm.mjs share public --enable
node {baseDir}/scripts/notebooklm.mjs share view-level full
node {baseDir}/scripts/notebooklm.mjs share status --json
```

## Research

```bash
node {baseDir}/scripts/notebooklm.mjs research status --notebook <notebook_id>
node {baseDir}/scripts/notebooklm.mjs research wait --timeout 600 --interval 5 --exec-timeout 900
```

## Language and skill

```bash
node {baseDir}/scripts/notebooklm.mjs language list --json
node {baseDir}/scripts/notebooklm.mjs language get --json
node {baseDir}/scripts/notebooklm.mjs language set zh_Hans
node {baseDir}/scripts/notebooklm.mjs skill status
node {baseDir}/scripts/notebooklm.mjs skill install
```

## Notes

- Use `--json` for machine-readable output.
- Use `--exec-timeout <seconds>` when a NotebookLM command might hang; `--timeout` is reserved for NotebookLM wait/poll durations.
- The wrapper script searches upward for `pyproject.toml` containing `[tool.tiangong.workspace]`.
- Override repo detection with `TIANGONG_WORKSPACE_ROOT=/path/to/repo`.
- If the NotebookLM CLI is not authenticated, run `notebooklm login` or `notebooklm status` and follow its login instructions.

Related Skills

notebooklm

533
from sundial-org/awesome-openclaw-skills

Use this skill to query your Google NotebookLM notebooks directly from Claude Code for source-grounded, citation-backed answers from Gemini. Browser automation, library management, persistent auth. Drastically reduced hallucinations through document-only responses.

notebooklm-cli

533
from sundial-org/awesome-openclaw-skills

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.

portfolio-watcher

533
from sundial-org/awesome-openclaw-skills

Monitor stock/crypto holdings, get price alerts, track portfolio performance

portainer

533
from sundial-org/awesome-openclaw-skills

Control Docker containers and stacks via Portainer API. List containers, start/stop/restart, view logs, and redeploy stacks from git.

portable-tools

533
from sundial-org/awesome-openclaw-skills

Build cross-device tools without hardcoding paths or account names

polymarket

533
from sundial-org/awesome-openclaw-skills

Trade prediction markets on Polymarket. Analyze odds, place bets, track positions, automate alerts, and maximize returns from event outcomes. Covers sports, politics, entertainment, and more.

polymarket-traiding-bot

533
from sundial-org/awesome-openclaw-skills

No description provided.

polymarket-analysis

533
from sundial-org/awesome-openclaw-skills

Analyze Polymarket prediction markets for trading edges. Pair Cost arbitrage, whale tracking, sentiment analysis, momentum signals, user profile tracking. No execution.

polymarket-agent

533
from sundial-org/awesome-openclaw-skills

Autonomous prediction market agent - analyzes markets, researches news, and identifies trading opportunities

polymarket-5

533
from sundial-org/awesome-openclaw-skills

Query Polymarket prediction markets. Use for questions about prediction markets, betting odds, market prices, event probabilities, or when user asks about Polymarket data.

polymarket-4

533
from sundial-org/awesome-openclaw-skills

Query Polymarket prediction markets. Use for questions about prediction markets, betting odds, market prices, event probabilities, or when user asks about Polymarket data.

polymarket-3

533
from sundial-org/awesome-openclaw-skills

Query Polymarket prediction market odds and events via CLI. Search for markets, get current prices, list events by category. Supports sports betting (NFL, NBA, soccer/EPL, Champions League), politics, crypto, elections, geopolitics. Real money markets = more accurate than polls. No API key required. Use when asked about odds, probabilities, predictions, or "what are the chances of X".