Query Google NotebookLM notebooks for source-grounded, citation-backed answers from user-uploaded documents. Manages notebook library, handles Google authentication, and supports smart discovery. Works standalone via /blog notebooklm or internally from blog-write and blog-researcher for source-grounded research context. Falls back gracefully when not configured. Use when user says "notebooklm", "notebook", "query notebook", "ask notebook", "notebook research", "source grounded research", "document query", "notebook library".
74
92%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
View guide
Critical
Do not install without reviewing
Security
1 critical severity finding. Installing this skill is not recommended: please review these findings carefully if you do intend to do so.
Detected a suspicious URL in the skill instructions that could lead the agent to download and execute malicious scripts or binaries. This includes links to executables from untrusted sources, typosquatting of official packages, URL shorteners that obscure the destination, and personal file hosting services.
The GitHub link points to an unusual/likely forked "patchright" repository by a suspicious-looking username (Kaliiiiiiiiii-Vinyzu) referenced by the setup script to install/modify browser tooling (an elevated supply‑chain/anti-detection risk), while the other URLs are official NotebookLM or benign diagnostic links.
Low
Low-risk findings.
2 low severity findings. Worth noting, but not necessarily harmful.
The skill exposes the agent to untrusted, user-generated content from public third-party sources, creating a risk of indirect prompt injection. This includes browsing arbitrary URLs, reading social media posts or forum comments, and analyzing content from unknown websites.
In `scripts/ask_question.py`, the required runtime workflow sends outsider-provided `--question` free text into a live browser session (`StealthUtils.human_type(...)` then `page.keyboard.press("Enter")`) to NotebookLM, and the extracted response text is ingested and returned (`latest.inner_text().strip()`).
The skill fetches instructions or code from an external URL at runtime, and the fetched content directly controls the agent’s prompts or executes code. This dynamic dependency allows the external source to modify the agent’s behavior without any changes to the skill itself.
The skill opens a real browser at runtime and navigates to user NotebookLM pages (e.g., "https://notebooklm.google.com" and "https://notebooklm.google.com/notebook/..."), scraping the notebook's responses which are then used as the agent's source-backed answers — i.e., remote NotebookLM content fetched at runtime directly controls the agent's output.
aec971a
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.