์Šคํ‚ฌ notebooklm
๐Ÿ“š

notebooklm

์ค‘๊ฐ„ ์œ„ํ—˜ โš™๏ธ ์™ธ๋ถ€ ๋ช…๋ น์–ด๐ŸŒ ๋„คํŠธ์›Œํฌ ์ ‘๊ทผ๐Ÿ“ ํŒŒ์ผ ์‹œ์Šคํ…œ ์•ก์„ธ์Šค๐Ÿ”‘ ํ™˜๊ฒฝ ๋ณ€์ˆ˜

Query NotebookLM Notebooks from Claude Code

๋˜ํ•œ ๋‹ค์Œ์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค: teng-lin,ZhanlinCui

Stop the copy-paste dance between your browser and editor. This skill lets Claude Code chat directly with Google NotebookLM for source-grounded answers that cite your uploaded documents.

์ง€์›: Claude Codex Code(CC)
๐Ÿฅ‰ 76 ๋ธŒ๋ก ์ฆˆ
1

์Šคํ‚ฌ ZIP ๋‹ค์šด๋กœ๋“œ

2

Claude์—์„œ ์—…๋กœ๋“œ

์„ค์ • โ†’ ๊ธฐ๋Šฅ โ†’ ์Šคํ‚ฌ โ†’ ์Šคํ‚ฌ ์—…๋กœ๋“œ๋กœ ์ด๋™

3

ํ† ๊ธ€์„ ์ผœ๊ณ  ์‚ฌ์šฉ ์‹œ์ž‘

ํ…Œ์ŠคํŠธํ•ด ๋ณด๊ธฐ

"notebooklm" ์‚ฌ์šฉ ์ค‘์ž…๋‹ˆ๋‹ค. What does my React documentation say about useEffect cleanup functions?

์˜ˆ์ƒ ๊ฒฐ๊ณผ:

According to your React docs (Chapter 3: Effects), cleanup functions in useEffect run before the component unmounts and before each re-render. Key points: (1) Return a cleanup function from useEffect, (2) Use cleanup to cancel subscriptions, clear timers, or abort fetch requests, (3) Cleanup prevents memory leaks. Example pattern shown in docs: useEffect(() => { const sub = subscribe(); return () => sub.unsubscribe(); }, []). Source: React-d guidebook, page 47.

"notebooklm" ์‚ฌ์šฉ ์ค‘์ž…๋‹ˆ๋‹ค. Add this notebook to my library: https://notebooklm.google.com/notebook/xyz123

์˜ˆ์ƒ ๊ฒฐ๊ณผ:

I queried the notebook and discovered it contains: Python machine learning tutorials covering scikit-learn, pandas, and model evaluation. Added to your library as 'ML Fundamentals Guide' with topics: python, machine-learning, scikit-learn, pandas. You can now query it with commands like 'Ask my ML notebook about cross-validation techniques'.

๋ณด์•ˆ ๊ฐ์‚ฌ

์ค‘๊ฐ„ ์œ„ํ—˜
v1 โ€ข 2/24/2026

Static scanner detected 558 pattern matches across 20 files, but evaluation confirms most are false positives in documentation. Real risks: browser automation saves Google auth cookies locally, network access to notebooklm.google.com, and subprocess execution for internal scripts. All patterns are expected for legitimate NotebookLM integration. Markdown files triggered external_commands detections from code examples. Recommend warnings about authentication requirements and network dependency.

20
์Šค์บ”๋œ ํŒŒ์ผ
4,136
๋ถ„์„๋œ ์ค„ ์ˆ˜
9
๋ฐœ๊ฒฌ ์‚ฌํ•ญ
1
์ด ๊ฐ์‚ฌ ์ˆ˜
์ค‘๊ฐ„ ์œ„ํ—˜ ๋ฌธ์ œ (2)
Browser Credential Storage
Skill saves Google authentication cookies to local storage at ~/.claude/skills/notebooklm/data/. This is necessary for browser automation but creates a local credential store.
External Network Dependency
Skill requires network access to notebooklm.google.com for all operations. Cannot function offline or if Google blocks automated access.
๋‚ฎ์€ ์œ„ํ—˜ ๋ฌธ์ œ (3)
Subprocess Execution for Script Runner
run.py uses subprocess.run to execute Python scripts within the virtual environment. All commands are hardcoded with no user input injection.
Environment Variable Access
Uses python-dotenv for optional .env configuration. Standard pattern for local configuration management.
Hidden Directory File Access
Skill reads/writes to ~/.claude/skills/notebooklm/data/ for local storage. This is the skill's designated data directory, not unauthorized access.

์œ„ํ—˜ ์š”์ธ

โš™๏ธ ์™ธ๋ถ€ ๋ช…๋ น์–ด (4)
๐ŸŒ ๋„คํŠธ์›Œํฌ ์ ‘๊ทผ (3)
๐Ÿ“ ํŒŒ์ผ ์‹œ์Šคํ…œ ์•ก์„ธ์Šค (3)
๐Ÿ”‘ ํ™˜๊ฒฝ ๋ณ€์ˆ˜ (1)
๊ฐ์‚ฌ์ž: claude

ํ’ˆ์งˆ ์ ์ˆ˜

82
์•„ํ‚คํ…์ฒ˜
100
์œ ์ง€๋ณด์ˆ˜์„ฑ
87
์ฝ˜ํ…์ธ 
50
์ปค๋ฎค๋‹ˆํ‹ฐ
49
๋ณด์•ˆ
91
์‚ฌ์–‘ ์ค€์ˆ˜

๋งŒ๋“ค ์ˆ˜ ์žˆ๋Š” ๊ฒƒ

Technical Documentation Research

Query API documentation, workshop manuals, or technical specs uploaded to NotebookLM. Claude asks comprehensive follow-ups to get complete implementation details, then writes correct code without hallucinating APIs.

Academic Literature Review

Upload research papers to NotebookLM and query them through Claude Code. Get synthesized answers with citations across multiple papers, enabling faster literature reviews and accurate referencing.

Personal Knowledge Base Queries

Build a library of notebooks containing your notes, meeting transcripts, and project docs. Query your entire knowledge base naturally through Claude, getting answers grounded in your actual content.

์ด ํ”„๋กฌํ”„ํŠธ๋ฅผ ์‚ฌ์šฉํ•ด ๋ณด์„ธ์š”

Beginner: Simple Question
Ask my NotebookLM: What are the key specifications for [topic] in my uploaded documents?
Beginner: Add Notebook
Add this NotebookLM to my library: [notebook-url]. Query it first to discover what it contains, then save it with an appropriate name and topics.
Intermediate: Multi-Aspect Research
Query my [notebook-name] notebook about [topic]. Ask comprehensive follow-up questions until you have complete information about: (1) core concepts, (2) implementation details, (3) edge cases, and (4) best practices. Then synthesize all answers.
Advanced: Cross-Notebook Synthesis
I need to understand [topic] across my entire notebook library. Query each relevant notebook about this topic, compare the perspectives, identify any contradictions or gaps, and provide a unified synthesis with source citations.

๋ชจ๋ฒ” ์‚ฌ๋ก€

  • Always use the run.py wrapper script - it handles virtual environment setup automatically and ensures dependencies are installed correctly
  • Ask comprehensive questions with full context since each query opens a fresh browser session without memory of previous questions
  • Review NotebookLM answers critically and ask follow-up questions when the 'Is that ALL you need to know?' prompt appears - this ensures complete information gathering

ํ”ผํ•˜๊ธฐ

  • Do not attempt to use this skill in Claude Code web UI - it requires network access that the sandboxed environment does not provide
  • Do not expect persistent session memory between queries - each question is independent and needs full context included
  • Do not rely on this skill for time-sensitive or frequently changing information - NotebookLM only knows what you have uploaded to it

์ž์ฃผ ๋ฌป๋Š” ์งˆ๋ฌธ

Why doesn't this work in the Claude web interface?
The web UI runs skills in a sandbox without network access. Browser automation requires network connectivity to reach NotebookLM's servers. You must use local Claude Code installation.
Is my Google account secure when using this skill?
Yes. Authentication cookies are stored locally in ~/.claude/skills/notebooklm/data/ on your machine. Your credentials never leave your computer. Consider using a dedicated Google account for automation if concerned.
How is this different from the NotebookLM MCP server?
This skill runs directly in Claude Code without needing separate MCP configuration. The MCP server offers persistent sessions and works with more tools (Codex, Cursor), while this skill provides simpler setup for Claude Code users.
What happens if Google detects automation and blocks access?
The skill includes humanization features like realistic typing speeds and natural delays. If blocked, clear browser data and re-authenticate. Using a dedicated Google account is recommended for automation.
Can I use multiple Google accounts?
Yes, but you need to clear authentication and re-login to switch accounts. Run 'Clear NotebookLM authentication' then set up again with your desired account.
What if the skill stops working after a NotebookLM update?
Google may update NotebookLM's interface, breaking selectors. Check for skill updates first. If none available, you may need to wait for the skill author to update selectors for the new interface.

๊ฐœ๋ฐœ์ž ์„ธ๋ถ€ ์ •๋ณด

์ž‘์„ฑ์ž

sickn33

๋ผ์ด์„ ์Šค

MIT

์ฐธ์กฐ

main

ํŒŒ์ผ ๊ตฌ์กฐ

๐Ÿ“ images/

๐Ÿ“„ example_notebookchat.png

๐Ÿ“ references/

๐Ÿ“„ api_reference.md

๐Ÿ“„ troubleshooting.md

๐Ÿ“„ usage_patterns.md

๐Ÿ“ scripts/

๐Ÿ“„ __init__.py

๐Ÿ“„ ask_question.py

๐Ÿ“„ auth_manager.py

๐Ÿ“„ browser_session.py

๐Ÿ“„ browser_utils.py

๐Ÿ“„ cleanup_manager.py

๐Ÿ“„ config.py

๐Ÿ“„ notebook_manager.py

๐Ÿ“„ run.py

๐Ÿ“„ setup_environment.py

๐Ÿ“„ AUTHENTICATION.md

๐Ÿ“„ CHANGELOG.md

๐Ÿ“„ LICENSE

๐Ÿ“„ README.md

๐Ÿ“„ requirements.txt

๐Ÿ“„ SKILL.md