[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-72042":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":16,"subscribersCount":16,"size":16,"stars1d":17,"stars7d":18,"stars30d":19,"stars90d":16,"forks30d":16,"starsTrendScore":20,"compositeScore":21,"rankGlobal":10,"rankLanguage":10,"license":22,"archived":23,"fork":23,"defaultBranch":24,"hasWiki":25,"hasPages":23,"topics":26,"createdAt":10,"pushedAt":10,"updatedAt":27,"readmeContent":28,"aiSummary":29,"trendingCount":16,"starSnapshotCount":16,"syncStatus":30,"lastSyncTime":31,"discoverSource":32},72042,"notebooklm-skill","PleasePrompto\u002Fnotebooklm-skill","PleasePrompto","Use this skill to enable Claude Code to communicate directly with your Google NotebookLM notebooks. Query your uploaded documents and get source-grounded, citation-backed answers from Gemini. Features browser automation, library management, persistent authentication, and answers exclusively from your own knowledge base.","",null,"Python",6979,792,31,7,0,76,232,579,228,39.7,"MIT License",false,"master",true,[],"2026-06-12 02:02:57","\u003Cdiv align=\"center\">\n\n# NotebookLM Claude Code Skill\n\n**Let [Claude Code](https:\u002F\u002Fgithub.com\u002Fanthropics\u002Fclaude-code) chat directly with NotebookLM for source-grounded answers based exclusively on your uploaded documents**\n\n[![Python](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FPython-3.8+-blue.svg)](https:\u002F\u002Fwww.python.org\u002F)\n[![Claude Code Skill](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FClaude%20Code-Skill-purple.svg)](https:\u002F\u002Fwww.anthropic.com\u002Fnews\u002Fskills)\n[![Based on](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FBased%20on-NotebookLM%20MCP-green.svg)](https:\u002F\u002Fgithub.com\u002FPleasePrompto\u002Fnotebooklm-mcp)\n[![GitHub](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fstars\u002FPleasePrompto\u002Fnotebooklm-skill?style=social)](https:\u002F\u002Fgithub.com\u002FPleasePrompto\u002Fnotebooklm-skill)\n\n> Use this skill to query your Google NotebookLM notebooks directly from Claude Code for source-grounded, citation-backed answers from Gemini. Browser automation, library management, persistent auth. Drastically reduced hallucinations - answers only from your uploaded documents.\n\n[Installation](#installation) • [Quick Start](#quick-start) • [Why NotebookLM](#why-notebooklm-not-local-rag) • [How It Works](#how-it-works) • [MCP Alternative](https:\u002F\u002Fgithub.com\u002FPleasePrompto\u002Fnotebooklm-mcp)\n\n\u003C\u002Fdiv>\n\n---\n\n## ⚠️ Important: Local Claude Code Only\n\n**This skill works ONLY with local [Claude Code](https:\u002F\u002Fgithub.com\u002Fanthropics\u002Fclaude-code) installations, NOT in the web UI.**\n\nThe web UI runs skills in a sandbox without network access, which this skill requires for browser automation. You must use [Claude Code](https:\u002F\u002Fgithub.com\u002Fanthropics\u002Fclaude-code) locally on your machine.\n\n---\n\n## The Problem\n\nWhen you tell [Claude Code](https:\u002F\u002Fgithub.com\u002Fanthropics\u002Fclaude-code) to \"search through my local documentation\", here's what happens:\n- **Massive token consumption**: Searching through documentation means reading multiple files repeatedly\n- **Inaccurate retrieval**: Searches for keywords, misses context and connections between docs\n- **Hallucinations**: When it can't find something, it invents plausible-sounding APIs\n- **Manual copy-paste**: Switching between NotebookLM browser and your editor constantly\n\n## The Solution\n\nThis Claude Code Skill lets [Claude Code](https:\u002F\u002Fgithub.com\u002Fanthropics\u002Fclaude-code) chat directly with [**NotebookLM**](https:\u002F\u002Fnotebooklm.google\u002F) — Google's **source-grounded knowledge base** powered by Gemini 2.5 that provides intelligent, synthesized answers exclusively from your uploaded documents.\n\n```\nYour Task → Claude asks NotebookLM → Gemini synthesizes answer → Claude writes correct code\n```\n\n**No more copy-paste dance**: Claude asks questions directly and gets answers straight back in the CLI. It builds deep understanding through automatic follow-ups, getting specific implementation details, edge cases, and best practices.\n\n---\n\n## Why NotebookLM, Not Local RAG?\n\n| Approach | Token Cost | Setup Time | Hallucinations | Answer Quality |\n|----------|------------|------------|----------------|----------------|\n| **Feed docs to Claude** | 🔴 Very high (multiple file reads) | Instant | Yes - fills gaps | Variable retrieval |\n| **Web search** | 🟡 Medium | Instant | High - unreliable sources | Hit or miss |\n| **Local RAG** | 🟡 Medium-High | Hours (embeddings, chunking) | Medium - retrieval gaps | Depends on setup |\n| **NotebookLM Skill** | 🟢 Minimal | 5 minutes | **Minimal** - source-grounded only | Expert synthesis |\n\n### What Makes NotebookLM Superior?\n\n1. **Pre-processed by Gemini**: Upload docs once, get instant expert knowledge\n2. **Natural language Q&A**: Not just retrieval — actual understanding and synthesis\n3. **Multi-source correlation**: Connects information across 50+ documents\n4. **Citation-backed**: Every answer includes source references\n5. **No infrastructure**: No vector DBs, embeddings, or chunking strategies needed\n\n---\n\n## Installation\n\n### The simplest installation ever:\n\n```bash\n# 1. Create skills directory (if it doesn't exist)\nmkdir -p ~\u002F.claude\u002Fskills\n\n# 2. Clone this repository\ncd ~\u002F.claude\u002Fskills\ngit clone https:\u002F\u002Fgithub.com\u002FPleasePrompto\u002Fnotebooklm-skill notebooklm\n\n# 3. That's it! Open Claude Code and say:\n\"What are my skills?\"\n```\n\nWhen you first use the skill, it automatically:\n- Creates an isolated Python environment (`.venv`)\n- Installs all dependencies including **Google Chrome**\n- Sets up browser automation with Chrome (not Chromium) for maximum reliability\n- Everything stays contained in the skill folder\n\n**Note:** The setup uses real Chrome instead of Chromium for cross-platform reliability, consistent browser fingerprinting, and better anti-detection with Google services\n\n---\n\n## Quick Start\n\n### 1. Check your skills\n\nSay in Claude Code:\n```\n\"What skills do I have?\"\n```\n\nClaude will list your available skills including NotebookLM.\n\n### 2. Authenticate with Google (one-time)\n\n```\n\"Set up NotebookLM authentication\"\n```\n*A Chrome window opens → log in with your Google account*\n\n### 3. Create your knowledge base\n\nGo to [notebooklm.google.com](https:\u002F\u002Fnotebooklm.google.com) → Create notebook → Upload your docs:\n- 📄 PDFs, Google Docs, markdown files\n- 🔗 Websites, GitHub repos\n- 🎥 YouTube videos\n- 📚 Multiple sources per notebook\n\nShare: **⚙️ Share → Anyone with link → Copy**\n\n### 4. Add to your library\n\n**Option A: Let Claude figure it out (Smart Add)**\n```\n\"Query this notebook about its content and add it to my library: [your-link]\"\n```\nClaude will automatically query the notebook to discover its content, then add it with appropriate metadata.\n\n**Option B: Manual add**\n```\n\"Add this NotebookLM to my library: [your-link]\"\n```\nClaude will ask for a name and topics, then save it for future use.\n\n### 5. Start researching\n\n```\n\"What does my React docs say about hooks?\"\n```\n\nClaude automatically selects the right notebook and gets the answer directly from NotebookLM.\n\n---\n\n## How It Works\n\nThis is a **Claude Code Skill** - a local folder containing instructions and scripts that Claude Code can use when needed. Unlike the [MCP server version](https:\u002F\u002Fgithub.com\u002FPleasePrompto\u002Fnotebooklm-mcp), this runs directly in Claude Code without needing a separate server.\n\n### Key Differences from MCP Server\n\n| Feature | This Skill | MCP Server |\n|---------|------------|------------|\n| **Protocol** | Claude Skills | Model Context Protocol |\n| **Installation** | Clone to `~\u002F.claude\u002Fskills` | `claude mcp add ...` |\n| **Sessions** | Fresh browser each question | Persistent chat sessions |\n| **Compatibility** | Claude Code only (local) | Claude Code, Codex, Cursor, etc. |\n| **Language** | Python | TypeScript |\n| **Distribution** | Git clone | npm package |\n\n### Architecture\n\n```\n~\u002F.claude\u002Fskills\u002Fnotebooklm\u002F\n├── SKILL.md              # Instructions for Claude\n├── scripts\u002F              # Python automation scripts\n│   ├── ask_question.py   # Query NotebookLM\n│   ├── notebook_manager.py # Library management\n│   └── auth_manager.py   # Google authentication\n├── .venv\u002F                # Isolated Python environment (auto-created)\n└── data\u002F                 # Local notebook library\n```\n\nWhen you mention NotebookLM or send a notebook URL, Claude:\n1. Loads the skill instructions\n2. Runs the appropriate Python script\n3. Opens a browser, asks your question\n4. Returns the answer directly to you\n5. Uses that knowledge to help with your task\n\n---\n\n## Core Features\n\n### **Source-Grounded Responses**\nNotebookLM significantly reduces hallucinations by answering exclusively from your uploaded documents. If information isn't available, it indicates uncertainty rather than inventing content.\n\n### **Direct Integration**\nNo copy-paste between browser and editor. Claude asks and receives answers programmatically.\n\n### **Smart Library Management**\nSave NotebookLM links with tags and descriptions. Claude auto-selects the right notebook for your task.\n\n### **Automatic Authentication**\nOne-time Google login, then authentication persists across sessions.\n\n### **Self-Contained**\nEverything runs in the skill folder with an isolated Python environment. No global installations.\n\n### **Human-Like Automation**\nUses realistic typing speeds and interaction patterns to avoid detection.\n\n---\n\n## Common Commands\n\n| What you say | What happens |\n|--------------|--------------|\n| *\"Set up NotebookLM authentication\"* | Opens Chrome for Google login |\n| *\"Add [link] to my NotebookLM library\"* | Saves notebook with metadata |\n| *\"Show my NotebookLM notebooks\"* | Lists all saved notebooks |\n| *\"Ask my API docs about [topic]\"* | Queries the relevant notebook |\n| *\"Use the React notebook\"* | Sets active notebook |\n| *\"Clear NotebookLM data\"* | Fresh start (keeps library) |\n\n---\n\n## Real-World Examples\n\n### Example 1: Workshop Manual Query\n\n**User asks**: \"Check my Suzuki GSR 600 workshop manual for brake fluid type, engine oil specs, and rear axle torque.\"\n\n**Claude automatically**:\n- Authenticates with NotebookLM\n- Asks comprehensive questions about each specification\n- Follows up when prompted \"Is that ALL you need to know?\"\n- Provides accurate specifications: DOT 4 brake fluid, SAE 10W-40 oil, 100 N·m rear axle torque\n\n![NotebookLM Chat Example](images\u002Fexample_notebookchat.png)\n\n### Example 2: Building Without Hallucinations\n\n**You**: \"I need to build an n8n workflow for Gmail spam filtering. Use my n8n notebook.\"\n\n**Claude's internal process:**\n```\n→ Loads NotebookLM skill\n→ Activates n8n notebook\n→ Asks comprehensive questions with follow-ups\n→ Synthesizes complete answer from multiple queries\n```\n\n**Result**: Working workflow on first try, no debugging hallucinated APIs.\n\n---\n\n## Technical Details\n\n### Core Technology\n- **Patchright**: Browser automation library (Playwright-based)\n- **Python**: Implementation language for this skill\n- **Stealth techniques**: Human-like typing and interaction patterns\n\nNote: The MCP server uses the same Patchright library but via TypeScript\u002Fnpm ecosystem.\n\n### Dependencies\n- **patchright==1.55.2**: Browser automation\n- **python-dotenv==1.0.0**: Environment configuration\n- Automatically installed in `.venv` on first use\n\n### Data Storage\n\nAll data is stored locally within the skill directory:\n\n```\n~\u002F.claude\u002Fskills\u002Fnotebooklm\u002Fdata\u002F\n├── library.json       - Your notebook library with metadata\n├── auth_info.json     - Authentication status info\n└── browser_state\u002F     - Browser cookies and session data\n```\n\n**Important Security Note:**\n- The `data\u002F` directory contains sensitive authentication data and personal notebooks\n- It's automatically excluded from git via `.gitignore`\n- NEVER manually commit or share the contents of the `data\u002F` directory\n\n### Session Model\n\nUnlike the MCP server, this skill uses a **stateless model**:\n- Each question opens a fresh browser\n- Asks the question, gets the answer\n- Adds a follow-up prompt to encourage Claude to ask more questions\n- Closes the browser immediately\n\nThis means:\n- No persistent chat context\n- Each question is independent\n- But your notebook library persists\n- **Follow-up mechanism**: Each answer includes \"Is that ALL you need to know?\" to prompt Claude to ask comprehensive follow-ups\n\nFor multi-step research, Claude automatically asks follow-up questions when needed.\n\n---\n\n## Limitations\n\n### Skill-Specific\n- **Local Claude Code only** - Does not work in web UI (sandbox restrictions)\n- **No session persistence** - Each question is independent\n- **No follow-up context** - Can't reference \"the previous answer\"\n\n### NotebookLM\n- **Rate limits** - Free tier has daily query limits\n- **Manual upload** - You must upload docs to NotebookLM first\n- **Share requirement** - Notebooks must be shared publicly\n\n---\n\n## FAQ\n\n**Why doesn't this work in the Claude web UI?**\nThe web UI runs skills in a sandbox without network access. Browser automation requires network access to reach NotebookLM.\n\n**How is this different from the MCP server?**\nThis is a simpler, Python-based implementation that runs directly as a Claude Skill. The MCP server is more feature-rich with persistent sessions and works with multiple tools (Codex, Cursor, etc.).\n\n**Can I use both this skill and the MCP server?**\nYes! They serve different purposes. Use the skill for quick Claude Code integration, use the MCP server for persistent sessions and multi-tool support.\n\n**What if Chrome crashes?**\nRun: `\"Clear NotebookLM browser data\"` and try again.\n\n**Is my Google account secure?**\nChrome runs locally on your machine. Your credentials never leave your computer. Use a dedicated Google account if you're concerned.\n\n---\n\n## Troubleshooting\n\n### Skill not found\n```bash\n# Make sure it's in the right location\nls ~\u002F.claude\u002Fskills\u002Fnotebooklm\u002F\n# Should show: SKILL.md, scripts\u002F, etc.\n```\n\n### Authentication issues\nSay: `\"Reset NotebookLM authentication\"`\n\n### Browser crashes\nSay: `\"Clear NotebookLM browser data\"`\n\n### Dependencies issues\n```bash\n# Manual reinstall if needed\ncd ~\u002F.claude\u002Fskills\u002Fnotebooklm\nrm -rf .venv\npython -m venv .venv\nsource .venv\u002Fbin\u002Factivate  # or .venv\\Scripts\\activate on Windows\npip install -r requirements.txt\n```\n\n---\n\n## Disclaimer\n\nThis tool automates browser interactions with NotebookLM to make your workflow more efficient. However, a few friendly reminders:\n\n**About browser automation:**\nWhile I've built in humanization features (realistic typing speeds, natural delays, mouse movements) to make the automation behave more naturally, I can't guarantee Google won't detect or flag automated usage. I recommend using a dedicated Google account for automation rather than your primary account—think of it like web scraping: probably fine, but better safe than sorry!\n\n**About CLI tools and AI agents:**\nCLI tools like Claude Code, Codex, and similar AI-powered assistants are incredibly powerful, but they can make mistakes. Please use them with care and awareness:\n- Always review changes before committing or deploying\n- Test in safe environments first\n- Keep backups of important work\n- Remember: AI agents are assistants, not infallible oracles\n\nI built this tool for myself because I was tired of the copy-paste dance between NotebookLM and my editor. I'm sharing it in the hope it helps others too, but I can't take responsibility for any issues, data loss, or account problems that might occur. Use at your own discretion and judgment.\n\nThat said, if you run into problems or have questions, feel free to open an issue on GitHub. I'm happy to help troubleshoot!\n\n---\n\n## Credits\n\nThis skill is inspired by my [**NotebookLM MCP Server**](https:\u002F\u002Fgithub.com\u002FPleasePrompto\u002Fnotebooklm-mcp) and provides an alternative implementation as a Claude Code Skill:\n- Both use Patchright for browser automation (TypeScript for MCP, Python for Skill)\n- Skill version runs directly in Claude Code without MCP protocol\n- Stateless design optimized for skill architecture\n\nIf you need:\n- **Persistent sessions** → Use the [MCP Server](https:\u002F\u002Fgithub.com\u002FPleasePrompto\u002Fnotebooklm-mcp)\n- **Multiple tool support** (Codex, Cursor) → Use the [MCP Server](https:\u002F\u002Fgithub.com\u002FPleasePrompto\u002Fnotebooklm-mcp)\n- **Quick Claude Code integration** → Use this skill\n\n---\n\n## The Bottom Line\n\n**Without this skill**: NotebookLM in browser → Copy answer → Paste in Claude → Copy next question → Back to browser...\n\n**With this skill**: Claude researches directly → Gets answers instantly → Writes correct code\n\nStop the copy-paste dance. Start getting accurate, grounded answers directly in Claude Code.\n\n```bash\n# Get started in 30 seconds\ncd ~\u002F.claude\u002Fskills\ngit clone https:\u002F\u002Fgithub.com\u002FPleasePrompto\u002Fnotebooklm-skill notebooklm\n# Open Claude Code: \"What are my skills?\"\n```\n\n---\n\n\u003Cdiv align=\"center\">\n\nBuilt as a Claude Code Skill adaptation of my [NotebookLM MCP Server](https:\u002F\u002Fgithub.com\u002FPleasePrompto\u002Fnotebooklm-mcp)\n\nFor source-grounded, document-based research directly in Claude Code\n\n\u003C\u002Fdiv>\n","NotebookLM Claude Code Skill 项目让 Claude Code 能够直接与 Google NotebookLM 笔记本进行交互，从而基于用户上传的文档提供有来源依据的答案。其核心功能包括浏览器自动化、库管理、持久认证，并且仅从用户自己的知识库中获取答案，显著减少了信息生成错误。该项目采用 Python 编写，适合需要对特定文档集进行精确查询和获取高质量答案的场景，如开发人员在处理复杂代码库时查找特定实现细节或最佳实践。",2,"2026-06-11 03:40:04","high_star"]