Skip to content

feat: integrate Google NotebookLM as a skill with 12 tools - #3

Open
cchen362 wants to merge 3 commits into
ben4mn:mainfrom
cchen362:feat/notebooklm-integration
Open

feat: integrate Google NotebookLM as a skill with 12 tools#3
cchen362 wants to merge 3 commits into
ben4mn:mainfrom
cchen362:feat/notebooklm-integration

Conversation

@cchen362

@cchen362 cchen362 commented Mar 3, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Add notebooklm_service.py -- lazy singleton client with name-based notebook resolution
  • Register 12 nlm_* tools (list/create/delete notebooks, add/list/get sources, ask, research, generate/wait artifacts, push documents/files)
  • Add skill definition with status checks and lifecycle hooks
  • Defensive response handling via getattr() for undocumented API responses

Context

Implementation Plan 003. Builds on PR #2 (autonomy framework). Uses notebooklm-py library. Merge PRs #1 and #2 first.

Test plan

  • Verify NotebookLM skill appears in skills list
  • Verify 12 nlm_* tools registered when skill enabled
  • Verify graceful skip when credentials missing

cchen362 added 3 commits March 4, 2026 04:45
Replace os.uname() calls with sys.platform checks for Windows compat.
Add platform-aware shell execution (cmd.exe on Windows, bash on Unix).
Add PowerShell equivalents of setup/start/restart scripts.
Add run.py for Windows-safe uvicorn startup (SelectorEventLoop).
Unpin strict dependency versions for Python 3.13 compatibility.
Add AUTONOMY_FRAMEWORK identity/values/systems prompt injected into all
LLM calls. Add platform-aware context builder for macOS/Windows/Linux.
Make heartbeat triage triggers channel-agnostic with _build_channel_guidance()
replacing hardcoded iMessage references. Update default system prompt to
values-aligned version.
Add notebooklm_service.py with lazy singleton client, name-based notebook
resolution, and defensive response handling. Register 12 nlm_* tools
(list/create/delete notebooks, add/list/get sources, ask, research,
generate/wait artifacts, push documents/files). Add skill definition with
status checks and lifecycle hooks in main.py startup/shutdown.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant