notebooklm-bridge

Grounded, cited answers from your NotebookLM notebooks inside Claude Code, Codex, Cursor, and pi. Your agent stops guessing — it asks your sources.

Packages

Package details

skill

Install notebooklm-bridge from npm and Pi will load the resources declared by the package manifest.

$ pi install npm:notebooklm-bridge
Package
notebooklm-bridge
Version
0.4.1
Published
Aug 5, 2026
Downloads
156/mo · 18/wk
Author
marktripoli
License
MIT
Types
skill
Size
34.4 KB
Dependencies
0 dependencies · 0 peers
Pi manifest JSON
{
  "skills": [
    "./skills"
  ]
}

Security note

Pi packages can execute code and influence agent behavior. Review the source before installing third-party packages.

README


Before / after

You ask: "Should our sync protocol batch operations before gossip, per the CRDT papers I collected?"

Without — free association from training data. Confident. Uncited. Maybe wrong.

With:

Delta-state CRDTs batch naturally; op-based CRDTs require causal ordering,
so batching windows must respect happens-before [1][3].

Sources: "Delta State CRDTs" (Almeida et al.), "Local-first software" (Ink & Switch)
Verify:  https://notebooklm.google.com/notebook/c528aa1c-...

Grounded in papers you curated. Citations you can click. A link another agent can audit.

Install

Quick — skill only, any agent (interactive multi-select):

npx skills add Triippz/notebooklm-bridge

Full — dependencies, auth, registry, all harnesses:

git clone https://github.com/Triippz/notebooklm-bridge && cd notebooklm-bridge
./install.sh

The installer handles everything, interactively: dependencies (uv, notebooklm-py[browser,cookies], Playwright Chromium — manifest printed up front), Google auth (browser or Chrome-cookie reuse), registry bootstrap (per-notebook consent), and harness wiring:

harness mechanism
Claude Code full plugin — skill + /nlm commands + SessionStart hook
Codex skill at ~/.agents/skills/ (agentskills spec)
Cursor skill at ~/.cursor/skills/
pi skill at ~/.pi/agent/skills/

Claude Code direct: /plugin marketplace add Triippz/notebooklm-bridge/plugin install notebooklm-bridge@notebooklm-bridge

Usage

Plain English works everywhere — no commands to memorize:

you say the agent does
"what do my notebooks say about X?" queries matching notebooks, cites sources
"save this to notebooklm to reference later" adds content as a source to the right notebook
"create a video explaining why you chose this design" generates a NotebookLM artifact from the change
"make a repo-memory notebook for this project" creates + seeds + registers (with your approval)
"unregister notebook X" removes the registry row — notebook untouched

Claude Code slash commands: /nlm (query) · /nlm-new (create) · /nlm-artifact (generate) · /nlm-sync (reconcile).

How it works

your question
     │
     ▼
registry ── domain match? ──no──▶ agent answers normally
     │
    yes
     ▼
notebooklm ask --notebook <id>     grounded retrieval, real sources
     │
     ▼
answer + citations + verify link   combined with local code truth
mode what happens
always-on skill auto-triggers when a question hits a registered domain
session-start hook injects the registry — agent knows your notebooks from turn one
adhoc /nlm <notebook> <question> or plain English

The registry

One markdown table rules everything: ~/.config/notebooklm-kb/registry.md

| notebook id | name        | knows about                       | query when          |
|-------------|-------------|-----------------------------------|---------------------|
| c528aa1c-…  | CRDT papers | CRDTs, op logs, sync, local-first | distributed sync Qs |
  • Registration is always explicit — agents never add a notebook without per-notebook approval. Unregistered is a choice.
  • Topics changed? Edit the file, or say "notebook X also covers Y."
  • Drift? scripts/registry-sync.sh flags deleted notebooks (--prune removes rows); agents self-heal on query 404s.
  • Cross-repo by design — user-level registry, shared by every repo and session.

Artifacts

NotebookLM Studio, driven by your agent: reports (briefing-doc · study-guide · blog-post), podcast-style audio, video, slide decks, quizzes, flashcards, mind maps, infographics.

The killer recipe — explain an agent's code change: agent summarizes what it changed and why → adds it as a source to your repo's notebook → generates a report or audio explainer → hands you the file + notebook link.

Releases

Semantic versioning, Conventional Commits, changelog in CHANGELOG.md.

./scripts/release.sh patch|minor|major   # bump plugin.json, update changelog, tag, push

Caveats

  • Built on notebooklm-pyunofficial NotebookLM API (cookie auth). Google frontend changes can break it; the bridge stays thin so the transport is swappable.
  • Google ships no official query API — the Enterprise API manages notebooks/sources only.
  • Keep notebooks focused: one domain per notebook routes best.

License

MIT