home / skills / openclaw / skills / tiangong-notebooklm-cli

tiangong-notebooklm-cli skill

/skills/fadeloo/tiangong-notebooklm-cli

This skill helps you manage NotebookLM via a CLI wrapper to handle login, notebooks, chat, sources, and artifact workflows.

npx playbooks add skill openclaw/skills --skill tiangong-notebooklm-cli

Review the files below or copy the command above to add this skill to your agents.

Files (4)
SKILL.md
1.1 KB
---
name: notebooklm
description: NotebookLM CLI wrapper via `node {baseDir}/scripts/notebooklm.mjs`. Use for auth, notebooks, chat, sources, notes, sharing, research, and artifact generation/download.
---

# NotebookLM CLI Wrapper

## Required parameters
- `node` and `notebooklm` available on PATH.
- NotebookLM CLI authenticated (run `login` if needed).

## Quick start
- Wrapper script: `scripts/notebooklm.mjs` (invokes `notebooklm` CLI).
- Run from the skill directory or use an absolute `{baseDir}` path.

```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>
```

## Request & output
- Command form: `node {baseDir}/scripts/notebooklm.mjs <command> [args...]`.
- Prefer `--json` for machine-readable output.
- For long-running tasks, use `--exec-timeout <seconds>`; `--timeout` is reserved for wait/poll commands.

## References
- `references/cli-commands.md`

## Assets
- None.

Overview

This skill is a lightweight CLI wrapper around the NotebookLM command-line tool, implemented as node {baseDir}/scripts/notebooklm.mjs. It streamlines authentication, notebook selection, chat queries, source management, note handling, sharing, and artifact generation/download. Use it from the skill directory or call the script with an absolute baseDir path.

How this skill works

The script invokes the notebooklm CLI with the same commands and arguments you would use directly, adding a thin layer for consistent paths and invocation from the project. Commands are issued as: node {baseDir}/scripts/notebooklm.mjs <command> [args...]. The wrapper supports JSON output and custom timeouts for long-running operations to facilitate automation and machine parsing.

When to use it

  • Authenticate or re-authenticate NotebookLM from within a project environment
  • List, select, and switch between notebooks used by a project
  • Run chat queries or ask summarization/research questions tied to a specific notebook
  • Import, export, or download artifacts and sources programmatically
  • Integrate NotebookLM actions into scripts, CI pipelines, or archival workflows

Best practices

  • Ensure node and notebooklm are installed and available on PATH before using the wrapper
  • Authenticate once with the login command and verify with status before running queries
  • Prefer the --json flag for machine-readable responses and downstream parsing
  • Use --exec-timeout for long-running tasks; reserve --timeout for wait/poll commands
  • Run commands from the skill directory or resolve {baseDir} to an absolute path to avoid file path issues

Example use cases

  • Quickly check client or project notebook status: node {baseDir}/scripts/notebooklm.mjs status
  • Select a notebook for project work: node {baseDir}/scripts/notebooklm.mjs use <notebook_id>
  • Ask a focused research question against a notebook: node {baseDir}/scripts/notebooklm.mjs ask "Summarize key takeaways" --notebook <notebook_id> --json
  • Download generated artifacts or exports for archival: node {baseDir}/scripts/notebooklm.mjs export <notebook_id> --format pdf
  • Automate nightly backups by running list, download, and export commands from a scheduled script

FAQ

What prerequisites are required?

You need node and the notebooklm CLI on PATH and an authenticated NotebookLM session. Run the login command from the wrapper if needed.

How do I get machine-readable output?

Add the --json flag to commands to receive structured JSON suitable for automation and parsing.