Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx agentmods add rules/ibaifernandez/notebooklm-skill/notebooklmgit clone --depth 1 https://github.com/ibaifernandez/notebooklm-skillWhat it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5 | $0.00049 | $0.01241 |
| Opus 5 | $0.00024 | $0.00620 |
| Sonnet 5 | $0.00010 | $0.00248 |
| Haiku 4.5 | $0.00005 | $0.00124 |
Grade A, and why
notebooklm scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 176 lines — stays where its author put it; the contents beside it link to each section on GitHub.
NotebookLM Integration
Programmatic access to Google NotebookLM from Cursor. Supports per-project notebooks, automatic source syncing, and all artifact types.
Setup (run once, on first use)
Check if the CLI is already installed:
notebooklm --version 2>/dev/null || ~/.notebooklm-venv/bin/notebooklm --version 2>/dev/null
If not found, run the installer from the repo root:
chmod +x install.sh && ./install.sh
Or manually:
# Recommended: use uv (fast, no ensurepip issues)
uv venv ~/.notebooklm-venv --python python3.12
uv pip install "notebooklm-py[browser]" --python ~/.notebooklm-venv/bin/python
~/.notebooklm-venv/bin/playwright install chromium
mkdir -p ~/bin
ln -sf ~/.notebooklm-venv/bin/notebooklm ~/bin/notebooklm
export PATH="$HOME/bin:$PATH"
Authentication
Run this script to authenticate with Google. It opens a real browser window — sign in and navigate to notebooklm.google.com, then run the signal command:
cat > /tmp/nlm_login.py << 'PYEOF'
import json, time
from pathlib import Path
from playwright.sync_api import sync_playwright
STORAGE_PATH = Path.home() / ".notebooklm" / "storage_state.json"
PROFILE_PATH = Path.home() / ".notebooklm" / "browser_profile"
SIGNAL_FILE = Path("/tmp/nlm_save_signal")
SIGNAL_FILE.unlink(missing_ok=True)
STORAGE_PATH.parent.mkdir(parents=True, exist_ok=True)
with sync_playwright() as p:
browser = p.chromium.launch_persistent_context(
user_data_dir=str(PROFILE_PATH),
headless=False,
args=["--disable-blink-features=AutomationControlled"],
)
page = browser.pages[0] if browser.pages else browser.new_page()
page.goto("https://notebooklm.google.com/")
print("Sign in, then run: touch /tmp/nlm_save_signal")
while not SIGNAL_FILE.exists():
time.sleep(1)
storage = browser.storage_state()
STORAGE_PATH.write_text(json.dumps(storage))
print(f"Saved {len(storage.get('cookies', []))} cookies to {STORAGE_PATH}")
browser.close()
SIGNAL_FILE.unlink(missing_ok=True)
PYEOF
source ~/.notebooklm-venv/bin/activate && python3 /tmp/nlm_login.py &
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 2d ago First seen · 176 lines · 49 tokens per session scan A ce65627105ef
notebooklm is a cursor rule published in the GitHub repository ibaifernandez/notebooklm-skill (5 stars, last pushed 4mo ago), licensed MIT. It adds 49 tokens to every session and 1,241 once invoked, about $0.0002 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other cursor rules, from other repositories
200-quality-verification-procedures
description: WHEN verifying design quality APPLY systematic procedures for validation globs: ["/.md", "/.mdc"] alwaysApply: true.
210-artifact-management-system
description: WHEN managing design artifacts APPLY structured processes for organization and preservation globs: ["/.md", "/.mdc"] alwaysApply: true.
160-workflow-orchestration
WHEN executing tasks MANAGE workflow processes for consistent memory operations.
170-protocol-enforcement-mechanisms
description: WHEN executing commands ENFORCE protocol compliance for memory bank operations globs: ["/.md", "/.mdc"] alwaysApply: true.
180-creative-process-structure
description: WHEN approaching design-intensive tasks APPLY structured creative processes globs: ["/.md", "/.mdc"] alwaysApply: true.
190-evaluation-metrics-system
description: WHEN evaluating design solutions APPLY standardized metrics for objective assessment globs: ["/.md", "/.mdc"] alwaysApply: true.