About notebooklm
NotebookLM Skill uses Playwright browser automation to query NotebookLM notebooks and manage notebooks and sources. It is for users who need batch questions, notebook comparisons, or source synchronization.
Key features
- 01Query notebooks with batch questions
- 02Create and manage notebooks
- 03Add and sync sources
- 04Compare multiple notebooks
- 05Export JSON or Markdown
- 06Preview changes with dry runs
Use cases
- 01Ask batch questions about notebook contents
- 02Compare answers across notebooks
- 03Sync file sources while skipping unchanged items
Install
Copy the command and run it in a terminal.
$
npx skills add https:/ / github.com/ sanjay3290/ ai-skills --skill notebooklmAfter installing, type/notebooklmin Claude Code to confirm it loaded.
Bundled files
References and scripts installed along with SKILL.md.
.gitignorerequirements.txtreferences/commands.mdscripts/ask_question.pyauth_manager.pycommon.pynotebook_manager.pyremote_manager.pytests/conftest.pytest_ask_question_modes.pytest_remote_manager_filters.pytest_smoke_playwright.pyDetails
From the project READMENotebookLM Skill
Query NotebookLM notebooks and manage notebooks/sources via Playwright browser automation.
All commands run from the skill directory. All scripts output JSON to stdout and exit 1 on error. Use --help on any script for full flag reference.
Workflow
- Authenticate:
python scripts/auth_manager.py setup --profile <name> - Register notebook:
python scripts/notebook_manager.py add --url <url> --name <name> --description <desc> --topics <topics> - Ask questions:
python scripts/ask_question.py --question "..." --notebook-id <id> - Manage sources:
python scripts/remote_manager.py add-source|sync-sources ...
Key Behaviors
- Runs headless by default; use
--show-browserfor debugging only. - Persistent Chrome profiles stored at
~/.config/claude/notebooklm-skill/(override withNOTEBOOKLM_DATA_DIR). - Hash-based dedupe: file uploads skip unchanged sources automatically.
--dry-runavailable on all destructive/bulk operations (create, add-source, delete-source, sync-sources).--retries Nretries transient browser failures with screenshot/HTML artifact capture.- Batch mode (
--questions "q1||q2||q3") and multi-notebook comparison (--compare-notebook-ids) supported. - Exports to JSON or Markdown via
--export-format markdown --save-notes. - Answers include a follow-up reminder prompting Claude to ask clarifying questions before replying.
Quick Reference
# Auth
python scripts/auth_manager.py setup --profile work
python scripts/auth_manager.py status --profile work
# Library
python scripts/notebook_manager.py add --url "..." --name "..." --description "..." --topics "..."
python scripts/notebook_manager.py list
# Ask
python scripts/ask_question.py --question "..." --notebook-id <id>
python scripts/ask_question.py --questions "q1||q2" --notebook-id <id>
# Sources
python scripts/remote_manager.py add-source --notebook-id <id> --dir ./docs --recursive
python scripts/remote_manager.py sync-sources --notebook-id <id> --dir ./docs --recursive --delete-missing --dry-run
For full command reference with all flags and examples, see references/commands.md.
Comments
Markdown supported