Interact with Google NotebookLM to query documentation with Gemini's source-grounded answers. Each question opens a fresh browser session, retrieves the answer exclusively from your uploaded documents, and closes.
60
71%
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
Fix and improve this skill with Tessl
tessl review fix ./skills/notebooklm/SKILL.mdSecurity
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 list includes a likely typosquatted/malformed NotebookLM URL (missing the expected .com) and a GitHub link to an unknown repository explicitly advertising "anti-detection" behavior for a browser automation tool—both are high-risk indicators for stealthy/malicious distribution or abuse.
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 workflow takes outsider-authored `--question` free text and types it into NotebookLM via a browser session, then reads the resulting free-text answer from NotebookLM’s response selectors.
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's runtime browser automation directly navigates to NotebookLM (e.g., page.goto("https://notebooklm.google.com") and notebook URLs like "https://notebooklm.google.com/notebook/..."), captures the NotebookLM answers, and injects those answers (with follow-up prompts) into the agent flow—so external content from those URLs is fetched at runtime and directly controls agent prompts.
fbdfd63
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.