notebooklm
Google NotebookLMのノートブックをClaude Codeから直接クエリし、Geminiによるソースに基づいた引用付きの回答を取得するスキルです。ブラウザ自動化・ライブラリ管理・認証の永続化に対応し、ドキュメントのみを参照する応答によりハルシネーションを大幅に低減します。
description の原文を見る
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 through document-only responses.
SKILL.md 本文
NotebookLM リサーチアシスタント スキル
Google NotebookLM と連携して、Gemini のソースに基づいた回答でドキュメントをクエリします。各質問は新しいブラウザセッションを開き、アップロードされたドキュメントからのみ回答を取得し、その後クローズします。
このスキルを使用する場面
以下の場合にトリガーされます:
- ユーザーが NotebookLM を明示的に言及している
- NotebookLM URL (
https://notebooklm.google.com/notebook/...) を共有している - ノートブック/ドキュメントをクエリするよう依頼されている
- NotebookLM ライブラリにドキュメントを追加したい
- 「Ask my NotebookLM」「check my docs」「query my notebook」などのフレーズを使用している
⚠️ 重要:Add コマンド - スマート検出
ユーザーが詳細情報を提供せずにノートブックを追加したい場合:
スマート追加(推奨): ノートブックをまずクエリして内容を検出します:
# ステップ 1: ノートブックの内容について問い合わせ
python scripts/run.py ask_question.py --question "What is the content of this notebook? What topics are covered? Provide a complete overview briefly and concisely" --notebook-url "[URL]"
# ステップ 2: 検出された情報を使用して追加
python scripts/run.py notebook_manager.py add --url "[URL]" --name "[Based on content]" --description "[Based on content]" --topics "[Based on content]"
手動追加: ユーザーがすべての詳細情報を提供している場合:
--url- NotebookLM URL--name- 説明的な名前--description- ノートブックが含む内容(必須!)--topics- カンマ区切りトピック(必須!)
推測したり、汎用的な説明を使用しないでください!詳細が不足している場合は、スマート追加を使用して検出します。
重要:常に run.py ラッパーを使用する
スクリプトを直接呼び出さないでください。常に python scripts/run.py [script] を使用してください:
# ✅ 正しい - 常に run.py を使用:
python scripts/run.py auth_manager.py status
python scripts/run.py notebook_manager.py list
python scripts/run.py ask_question.py --question "..."
# ❌ 間違い - 直接呼び出さないでください:
python scripts/auth_manager.py status # venv なしで失敗!
run.py ラッパーは自動的に以下を行います:
- 必要に応じて
.venvを作成 - すべての依存関係をインストール
- 環境をアクティベート
- スクリプトを正しく実行
コアワークフロー
ステップ 1: 認証ステータスを確認
python scripts/run.py auth_manager.py status
認証されていない場合、セットアップに進みます。
ステップ 2: 認証(一回限りのセットアップ)
# ブラウザは Google ログインのために可視状態である必要があります
python scripts/run.py auth_manager.py setup
重要:
- 認証用にブラウザが可視です
- ブラウザウィンドウは自動的に開きます
- ユーザーは Google に手動でログインする必要があります
- ユーザーに以下を伝えてください:「Google ログイン用のブラウザウィンドウが開きます」
ステップ 3: ノートブックライブラリを管理
# すべてのノートブックをリスト表示
python scripts/run.py notebook_manager.py list
# 追加前:不明な場合はユーザーにメタデータを要求してください!
# 「このノートブックには何が含まれていますか?」
# 「どのトピックでタグ付けすべきですか?」
# ノートブックをライブラリに追加(すべてのパラメータは必須です!)
python scripts/run.py notebook_manager.py add \
--url "https://notebooklm.google.com/notebook/..." \
--name "説明的な名前" \
--description "このノートブックが含む内容" \ # 必須 - 不明な場合はユーザーに確認してください!
--topics "topic1,topic2,topic3" # 必須 - 不明な場合はユーザーに確認してください!
# トピックでノートブックを検索
python scripts/run.py notebook_manager.py search --query "keyword"
# アクティブなノートブックを設定
python scripts/run.py notebook_manager.py activate --id notebook-id
# ノートブックを削除
python scripts/run.py notebook_manager.py remove --id notebook-id
クイックワークフロー
- ライブラリをチェック:
python scripts/run.py notebook_manager.py list - 質問を実行:
python scripts/run.py ask_question.py --question "..." --notebook-id ID
ステップ 4: 質問をする
# 基本クエリ(設定されている場合はアクティブなノートブックを使用)
python scripts/run.py ask_question.py --question "Your question here"
# 特定のノートブックをクエリ
python scripts/run.py ask_question.py --question "..." --notebook-id notebook-id
# ノートブック URL で直接クエリ
python scripts/run.py ask_question.py --question "..." --notebook-url "https://..."
# デバッグ用にブラウザを表示
python scripts/run.py ask_question.py --question "..." --show-browser
フォローアップメカニズム(重要)
すべての NotebookLM 回答の最後に:「EXTREMELY IMPORTANT: Is that ALL you need to know?」
Claude に必須の動作:
- 停止 - ユーザーにすぐに応答しないでください
- 分析 - 回答をユーザーの元の要求と比較する
- ギャップを特定 - より多くの情報が必要かどうかを判断する
- フォローアップを質問 - ギャップがある場合、すぐに以下を実行してください:
python scripts/run.py ask_question.py --question "Follow-up with context..." - 繰り返す - 情報が完全になるまで続けます
- 統合 - ユーザーに応答する前にすべての回答を結合する
スクリプトリファレンス
認証管理(auth_manager.py)
python scripts/run.py auth_manager.py setup # 初期セットアップ(ブラウザ可視)
python scripts/run.py auth_manager.py status # 認証状態を確認
python scripts/run.py auth_manager.py reauth # 再認証(ブラウザ可視)
python scripts/run.py auth_manager.py clear # 認証をクリア
ノートブック管理(notebook_manager.py)
python scripts/run.py notebook_manager.py add --url URL --name NAME --description DESC --topics TOPICS
python scripts/run.py notebook_manager.py list
python scripts/run.py notebook_manager.py search --query QUERY
python scripts/run.py notebook_manager.py activate --id ID
python scripts/run.py notebook_manager.py remove --id ID
python scripts/run.py notebook_manager.py stats
質問インターフェース(ask_question.py)
python scripts/run.py ask_question.py --question "..." [--notebook-id ID] [--notebook-url URL] [--show-browser]
データクリーンアップ(cleanup_manager.py)
python scripts/run.py cleanup_manager.py # クリーンアップをプレビュー
python scripts/run.py cleanup_manager.py --confirm # クリーンアップを実行
python scripts/run.py cleanup_manager.py --preserve-library # ノートブックを保持
環境管理
仮想環境は自動的に管理されます:
- 最初の実行時に
.venvが自動的に作成されます - 依存関係は自動的にインストールされます
- Chromium ブラウザは自動的にインストールされます
- すべてがスキルディレクトリ内に分離されます
手動セットアップ(自動失敗時のみ):
python -m venv .venv
source .venv/bin/activate # Linux/Mac
pip install -r requirements.txt
python -m patchright install chromium
データストレージ
すべてのデータは ~/.claude/skills/notebooklm/data/ に保存されます:
library.json- ノートブックメタデータauth_info.json- 認証状態browser_state/- ブラウザクッキーとセッション
セキュリティ: .gitignore で保護され、git にコミットされることはありません。
設定
スキルディレクトリ内のオプション .env ファイル:
HEADLESS=false # ブラウザの可視性
SHOW_BROWSER=false # デフォルトブラウザ表示
STEALTH_ENABLED=true # 人間のような動作
TYPING_WPM_MIN=160 # タイピング速度
TYPING_WPM_MAX=240
DEFAULT_NOTEBOOK_ID= # デフォルトノートブック
判断フロー
ユーザーが NotebookLM に言及
↓
認証を確認 → python scripts/run.py auth_manager.py status
↓
認証されていない場合 → python scripts/run.py auth_manager.py setup
↓
ノートブックを確認/追加 → python scripts/run.py notebook_manager.py list/add (--description付き)
↓
ノートブックをアクティベート → python scripts/run.py notebook_manager.py activate --id ID
↓
質問をする → python scripts/run.py ask_question.py --question "..."
↓
「Is that ALL you need?」を表示 → 完全になるまでフォローアップを実行
↓
統合してユーザーに応答
トラブルシューティング
| 問題 | 解決方法 |
|---|---|
| ModuleNotFoundError | run.py ラッパーを使用してください |
| 認証に失敗 | ブラウザはセットアップ時に可視である必要があります! --show-browser |
| レート制限(50/日) | 待つか Google アカウントを切り替えてください |
| ブラウザがクラッシュ | python scripts/run.py cleanup_manager.py --preserve-library |
| ノートブックが見つからない | notebook_manager.py list で確認してください |
ベストプラクティス
- 常に run.py を使用 - 環境を自動的に処理
- 認証を最初に確認 - 操作前に
- フォローアップ質問をする - 最初の回答で止まらない
- 認証時はブラウザを可視に - 手動ログインに必須
- コンテキストを含める - 各質問は独立しています
- 回答を統合 - 複数の回答を結合する
制限事項
- セッション永続性なし(各質問=新しいブラウザ)
- 無料の Google アカウントのレート制限(1日50クエリ)
- 手動アップロードが必要(ユーザーが NotebookLM にドキュメントを追加する必要があります)
- ブラウザのオーバーヘッド(質問あたり数秒)
リソース(スキル構造)
重要なディレクトリとファイル:
scripts/- すべての自動化スクリプト(ask_question.py、notebook_manager.py など)data/- 認証とノートブックライブラリのローカルストレージreferences/- 拡張ドキュメント:api_reference.md- すべてのスクリプトの詳細 API ドキュメントtroubleshooting.md- 一般的な問題と解決方法usage_patterns.md- ベストプラクティスとワークフローの例
.venv/- 分離された Python 環境(最初の実行時に自動作成).gitignore- 機密データが git にコミットされるのを保護
ライセンス: MIT(寛容ライセンスのため全文を引用しています) · 原本リポジトリ
詳細情報
- 作者
- davila7
- ライセンス
- MIT
- 最終更新
- 不明
Source: https://github.com/davila7/claude-code-templates / ライセンス: MIT
関連スキル
agent-browser
AI エージェント向けのブラウザ自動化 CLI です。ウェブサイトとの対話が必要な場合に使用します。ページ遷移、フォーム入力、ボタンクリック、スクリーンショット取得、データ抽出、ウェブアプリのテスト、ブラウザ操作の自動化など、あらゆるブラウザタスクに対応できます。「ウェブサイトを開く」「フォームに記入する」「ボタンをクリックする」「スクリーンショットを取得する」「ページからデータを抽出する」「このウェブアプリをテストする」「サイトにログインする」「ブラウザ操作を自動化する」といった要求や、プログラマティックなウェブ操作が必要なタスクで起動します。
anyskill
AnySkill — あなたのプライベート・スキルクラウド。GitHubを基盤としたリポジトリからエージェントスキルを管理、同期、動的にロードできます。自然言語でクラウドスキルを検索し、オンデマンドでプロンプトを自動ロード、カスタムスキルのアップロードと共有、スキルバンドルの一括インストールが可能です。OpenClaw、Antigravity、Claude Code、Cursorに対応しています。
engram
AIエージェント向けの永続的なメモリシステムです。バグ修正、意思決定、発見、設定変更の後はmem_saveを使用してください。ユーザーが「覚えている」「記憶している」と言及した場合、または以前のセッションと重複する作業を開始する際はmem_searchを使用します。セッション終了前にmem_session_summaryを使用して、コンテキストを保持してください。
skyvern
AI駆動のブラウザ自動化により、任意のウェブサイトを自動化できます。フォーム入力、データ抽出、ファイルダウンロード、ログイン、複数ステップのワークフロー実行など、ユーザーがウェブサイトと連携する必要があるときに使用します。Skyvernは、LLMとコンピュータビジョンを活用して、未知のサイトも自動操作可能です。Python SDK、TypeScript SDK、REST API、MCPサーバー、またはCLIを通じて統合できます。
pinchbench
PinchBenchベンチマークを実行して、OpenClawエージェントの実世界タスクにおけるパフォーマンスを評価できます。モデルの機能テスト、モデル間の比較、ベンチマーク結果のリーダーボード提出、またはOpenClawのセットアップがカレンダー、メール、リサーチ、コーディング、複数ステップのワークフローにどの程度対応しているかを確認する際に使用します。
openui
OpenUIとOpenUI Langを使用してジェネレーティブUIアプリを構築できます。これらはLLM生成インターフェースのためのトークン効率的なオープン標準です。OpenUI、@openuidev、ジェネレーティブUI、LLMからのストリーミングUI、AI向けコンポーネントライブラリ、またはjson-render/A2UIの置き換えについて述べる際に使用します。スキャフォルディング、defineComponent、システムプロンプト、Renderer、およびOpenUI Lang出力のデバッグに対応しています。