jpskill.com
✍️ ライティング コミュニティ

notebooklm-manager

NotebookLMのノートブックの内容をClaudeに質問したり、ノートブックのリスト表示、追加、削除、検索など、NotebookLMを操作して情報を引き出すことを支援するSkill。

📜 元の英語説明(参考)

This skill should be used when the user wants to interact with NotebookLM notebooks via Claude Code's Chrome integration. Trigger phrases: "Query my NotebookLM", "Ask my notebook about X", "query [id] about X", "list my notebooks", "add notebook URL", "show notebook details", "search notebooks for X", "Check my docs", "what does my [topic] notebook say about", "remove notebook", "delete notebook", "disable notebook", "enable notebook". Also triggers when user: (1) mentions NotebookLM explicitly, (2) shares NotebookLM URL (https://notebooklm.google.com/notebook/...). Do NOT use for: general web searches, local file reading, or non-NotebookLM documentation queries. Requires: claude --chrome with claude-in-chrome MCP.

🇯🇵 日本人クリエイター向け解説

一言でいうと

NotebookLMのノートブックの内容をClaudeに質問したり、ノートブックのリスト表示、追加、削除、検索など、NotebookLMを操作して情報を引き出すことを支援するSkill。

※ jpskill.com 編集部が日本のビジネス現場向けに補足した解説です。Skill本体の挙動とは独立した参考情報です。

⚡ おすすめ: コマンド1行でインストール(60秒)

下記のコマンドをコピーしてターミナル(Mac/Linux)または PowerShell(Windows)に貼り付けてください。 ダウンロード → 解凍 → 配置まで全自動。

🍎 Mac / 🐧 Linux
mkdir -p ~/.claude/skills && cd ~/.claude/skills && curl -L -o notebooklm-manager.zip https://jpskill.com/download/19598.zip && unzip -o notebooklm-manager.zip && rm notebooklm-manager.zip
🪟 Windows (PowerShell)
$d = "$env:USERPROFILE\.claude\skills"; ni -Force -ItemType Directory $d | Out-Null; iwr https://jpskill.com/download/19598.zip -OutFile "$d\notebooklm-manager.zip"; Expand-Archive "$d\notebooklm-manager.zip" -DestinationPath $d -Force; ri "$d\notebooklm-manager.zip"

完了後、Claude Code を再起動 → 普通に「動画プロンプト作って」のように話しかけるだけで自動発動します。

💾 手動でダウンロードしたい(コマンドが難しい人向け)
  1. 1. 下の青いボタンを押して notebooklm-manager.zip をダウンロード
  2. 2. ZIPファイルをダブルクリックで解凍 → notebooklm-manager フォルダができる
  3. 3. そのフォルダを C:\Users\あなたの名前\.claude\skills\(Win)または ~/.claude/skills/(Mac)へ移動
  4. 4. Claude Code を再起動

⚠️ ダウンロード・利用は自己責任でお願いします。当サイトは内容・動作・安全性について責任を負いません。

🎯 このSkillでできること

下記の説明文を読むと、このSkillがあなたに何をしてくれるかが分かります。Claudeにこの分野の依頼をすると、自動で発動します。

📦 インストール方法 (3ステップ)

  1. 1. 上の「ダウンロード」ボタンを押して .skill ファイルを取得
  2. 2. ファイル名の拡張子を .skill から .zip に変えて展開(macは自動展開可)
  3. 3. 展開してできたフォルダを、ホームフォルダの .claude/skills/ に置く
    • · macOS / Linux: ~/.claude/skills/
    • · Windows: %USERPROFILE%\.claude\skills\

Claude Code を再起動すれば完了。「このSkillを使って…」と話しかけなくても、関連する依頼で自動的に呼び出されます。

詳しい使い方ガイドを見る →
最終更新
2026-05-18
取得日時
2026-05-18
同梱ファイル
3

📖 Skill本文(日本語訳)

※ 原文(英語/中国語)を Gemini で日本語化したものです。Claude 自身は原文を読みます。誤訳がある場合は原文をご確認ください。

NotebookLM マネージャー

クエリのオーケストレーションとノートブックレジストリの管理を行います。

手順

重要な制約

このスキルは、mcp__claude-in-chrome__* ツールを呼び出してはなりません。 これらのツールは、このスキルで許可されているツールセットには存在しません。 すべての Chrome 操作は、タスクを介してエージェントに委任されます。 エージェントエラーを受け取った後、自分で Chrome ツールを使用しようとしないでください。

1. クエリの検出

ユーザーメッセージから以下を抽出します。

  • notebook_id: どのノートブックか(例: "claude-docs")
  • question: 何を尋ねるか

2. ノートブックの検索

${SKILL_ROOT}/data/library.json を読み込み、ノートブックの URL を見つけます。

  • ファイルが見つからない場合 → data/ フォルダーとファイルを [] で作成します
  • 見つからない場合 → 類似の ID を含む「もしかして?」を表示します

3. チャット履歴の確認(最初のクエリのみ)

ノートブックへの最初のクエリの前に、チャット履歴についてユーザーに尋ねます。

AskUserQuestion({
  questions: [{
    question: "クエリの前に NotebookLM のチャット履歴をクリアしますか?",
    header: "履歴",
    options: [
      { label: "いいえ(推奨)", description: "以前のコンテキストを保持し、応答を高速化します" },
      { label: "はい", description: "最初から開始し、UI モーダル操作が必要になる場合があります" }
    ],
    multiSelect: false
  }]
})

結果をプロンプトで clearHistory: true/false としてエージェントに渡します。

: 履歴をクリアすると、NotebookLM で確認モーダルがトリガーされ、自動化が遅くなる可能性があります。デフォルトの「いいえ」を推奨します。

現在の会話内で、ノートブックごとの最初のクエリの状態を追跡します。 特定のノートブック URL に対して一度尋ねた後、同じセッションで同じ URL への後続のクエリでは確認をスキップします。

4. エージェントの呼び出し

Task({
  subagent_type: "notebooklm-connector:chrome-mcp-query",
  prompt: `ワークフローを実行します: 入力解析 → タブ設定 → タイトル抽出 → 質問送信 → 応答ポーリング → 出力と終了

URL: {url}
Question: {question}
mode: query
clearHistory: {true/false}

応答を受け取り次第、すぐに出力して終了します。`
})

フォローアップクエリは、フォローアップの質問と同じタスク形式を使用します。 エージェントの STEP 1 は、同じ URL の既存のタブを自動的に再利用します。

4.1 エージェント結果の解析

タスクが返された後、エージェントの出力を確認します。

エージェントの出力に含まれるもの アクション
ERROR_TYPE: CHROME_NOT_CONNECTED Chrome 接続のトラブルシューティング(下記)を表示し、停止します
ERROR_TYPE: AUTH_REQUIRED ユーザーに Chrome で Google にログインするよう伝え、停止します
ERROR_TYPE: (その他のエラー) エージェントの出力からエラーの詳細を表示し、停止します
タスクツール自体がエラーになる場合 エージェントが起動できなかったことをユーザーに通知します。プラグインのインストールを確認してください。
通常の応答(ERROR_TYPE なし) セクション 5 に進みます

Chrome 接続のトラブルシューティング(ユーザーに表示):

  1. Chrome または Edge ブラウザが実行されていることを確認します
  2. Chrome → chrome://extensions → 「Claude in Chrome」拡張機能が有効になっていることを確認します
  3. Chrome で拡張機能アイコンをクリック → サイドパネル → 「接続」ボタンをクリックします
    • ログイン画面が表示された場合は、Claude アカウント(Pro/Max/Team/Enterprise が必要)でサインインします
  4. Claude Code で: /chrome → 「拡張機能を再接続」を選択します
  5. 初めて接続する場合は、ブラウザを再起動してネイティブメッセージングホストを登録し、手順 3-4 を繰り返します
  6. クエリを再試行します

5. クエリ後のカバレッジ分析(必須 — スキップしないでください)

Task(chrome-mcp-query) が正常に返された後、回答を提示する前に、必ずこのチェックリストを実行してください。 PostToolUse フックも COVERAGE_REMINDER メッセージを介して通知します。

まだ回答を提示しないでください。まだ「提案されたフォローアップ」を生成しないでください。

ステップ A: 分析

ユーザーの元のメッセージを再読します。すべてのキーワード/トピックをリストアップします。

ステップ B: 検証

各キーワード: ✅ カバー済み / ❌ 不足

ステップ C: クエリ(ギャップがある場合)

フォローアップを開始します: Task(subagent_type: "notebooklm-connector:chrome-mcp-query", 同じ URL, 不足しているトピックの質問) フォローアップは安価です — 同じ Chrome タブが再利用されます。 その後、ステップ A に戻ります。

ステップ D: 完了

すべてカバー済み、またはフォローアップが 3 回 → 統合して提示します(セクション 6 の形式)。 フォローアップは最大 3 回です。制限を超えた後: 続行するかどうかを確認するために AskUserQuestion を使用します。


6. 応答形式

**ノートブック**: [タイトル] (`{id}`)

**回答**: [応答]

**引用**:
[1] "引用" - 出典: [ドキュメント]

---
**提案されたフォローアップ**:
- [質問 1]
- [質問 2]

コマンド

完全なコマンドリファレンスについては、references/commands.md を参照してください。

コマンド 説明
list アクティブなノートブックを表示
add <url> スマート追加(自動検出)
show <id> ノートブックの詳細
search <query> ノートブックを検索

ストレージ

場所: ${SKILL_ROOT}/data/

data/
├── library.json        # アクティブなノートブック(インデックス)
├── archive.json        # アーカイブされたノートブック
└── notebooks/{id}.json # 完全なメタデータ(オンデマンド)

初期化:

  • data/ フォルダーが存在しない場合、作成します
  • library.json が存在しない場合、以下で作成します。 {"notebooks": {}, "schema_version": "1.0", "updated_at": "<ISO timestamp>"}
  • archive.json が存在しない場合、以下で作成します。 {"notebooks": {}, "schema_version": "1.0", "updated_at": "<ISO timestamp>"}
  • notebooks/ フォルダーが存在しない場合、作成します
  • notebooks/{id}.json には、最初のフィールドとして "schema_version": "1.0" を含める必要があります

ツール境界

  • 使用: Read, Write, Task, AskUserQuestion
  • 使用しない: Chrome MCP ツールを直接 (mcp__claude-in-chrome__*)

参照

  • references/commands.md - 完全なコマンドリファレンス
  • references/schemas.md - JSON スキーマ
📜 原文 SKILL.md(Claudeが読む英語/中国語)を展開

NotebookLM Manager

Query orchestration and notebook registry management.

Instructions

CRITICAL CONSTRAINT

This skill MUST NOT call any mcp__claude-in-chrome__* tools. These tools DO NOT EXIST in this skill's allowed tool set. All Chrome interaction is delegated to the agent via Task. After receiving an agent error, do NOT attempt to use Chrome tools yourself.

1. Query Detection

Extract from user message:

  • notebook_id: Which notebook (e.g., "claude-docs")
  • question: What to ask

2. Notebook Lookup

Read ${SKILL_ROOT}/data/library.json to find notebook URL.

  • File not found → Create data/ folder and files with []
  • Not found → Show "Did you mean?" with similar IDs

3. Chat History Confirmation (First Query Only)

Before the first query to a notebook, ask user about chat history:

AskUserQuestion({
  questions: [{
    question: "Clear NotebookLM chat history before querying?",
    header: "History",
    options: [
      { label: "No (Recommended)", description: "Keep previous context, faster response" },
      { label: "Yes", description: "Start fresh, may involve UI modal interaction" }
    ],
    multiSelect: false
  }]
})

Pass result to agent as clearHistory: true/false in the prompt.

Note: Clearing history may trigger a confirmation modal in NotebookLM, which can slow down automation. Default "No" is recommended.

Track per-notebook first-query status within the current conversation. After asking once for a given notebook URL, skip the confirmation for subsequent queries to the same URL in the same session.

4. Agent Invocation

Task({
  subagent_type: "notebooklm-connector:chrome-mcp-query",
  prompt: `Execute the workflow: Input parsing → Tab setup → Title extraction → Submit question → Poll response → Output and exit

URL: {url}
Question: {question}
mode: query
clearHistory: {true/false}

Output the response immediately upon receiving it and exit.`
})

Follow-up queries use the same Task format with the follow-up question. The agent's STEP 1 automatically reuses the existing tab for the same URL.

4.1 Agent Result Parsing

After Task returns, check the agent output:

Agent Output Contains Action
ERROR_TYPE: CHROME_NOT_CONNECTED Show Chrome Connection Troubleshooting (below), stop
ERROR_TYPE: AUTH_REQUIRED Tell user to log in to Google in Chrome, stop
ERROR_TYPE: (any other) Show error details from agent output, stop
Task tool itself errors Inform user the agent could not start. Check plugin installation.
Normal response (no ERROR_TYPE) Proceed to Section 5

Chrome Connection Troubleshooting (show to user):

  1. Verify Chrome or Edge browser is running
  2. Chrome → chrome://extensions → Ensure "Claude in Chrome" extension is enabled
  3. In Chrome, click extension icon → Side panel → Click "Connect" button
    • If a login screen appears, sign in with your Claude account (Pro/Max/Team/Enterprise required)
  4. In Claude Code: /chrome → Select "Reconnect extension"
  5. If this is your first time connecting, restart the browser to register the native messaging host, then repeat steps 3-4
  6. Retry the query

5. Post-Query Coverage Analysis (MANDATORY — DO NOT SKIP)

After EVERY successful Task(chrome-mcp-query) return, perform this checklist BEFORE presenting any answer. The PostToolUse hook will also remind you via COVERAGE_REMINDER message.

DO NOT present the answer yet. DO NOT generate "Suggested follow-ups" yet.

STEP A: ANALYZE

Re-read user's original message. List ALL keywords/topics.

STEP B: VERIFY

Each keyword: ✅ covered / ❌ missing

STEP C: QUERY (if gaps)

Launch follow-up: Task(subagent_type: "notebooklm-connector:chrome-mcp-query", same URL, missing topic question) Follow-ups are cheap — the same Chrome tab is reused. Then return to STEP A.

STEP D: COMPLETE

All covered OR 3 follow-ups → Synthesize and present (Section 6 format). Max 3 follow-ups. After limit: AskUserQuestion to confirm whether to continue.


6. Response Format

**Notebook**: [Title] (`{id}`)

**Answer**: [response]

**Citations**:
[1] "quote" - Source: [doc]

---
**Suggested follow-ups**:
- [question 1]
- [question 2]

Commands

See references/commands.md for full command reference.

Command Description
list Show active notebooks
add <url> Smart add (auto-discover)
show <id> Notebook details
search <query> Find notebooks

Storage

Location: ${SKILL_ROOT}/data/

data/
├── library.json        # Active notebooks (index)
├── archive.json        # Archived notebooks
└── notebooks/{id}.json # Full metadata (on-demand)

Initialization:

  • If data/ folder does not exist, create it
  • If library.json does not exist, create with: {"notebooks": {}, "schema_version": "1.0", "updated_at": "<ISO timestamp>"}
  • If archive.json does not exist, create with: {"notebooks": {}, "schema_version": "1.0", "updated_at": "<ISO timestamp>"}
  • If notebooks/ folder does not exist, create it
  • Each notebooks/{id}.json must include "schema_version": "1.0" as the first field

Tool Boundaries

  • Use: Read, Write, Task, AskUserQuestion
  • Do NOT use: Chrome MCP tools directly (mcp__claude-in-chrome__*)

References

  • references/commands.md - Full command reference
  • references/schemas.md - JSON schemas

同梱ファイル

※ ZIPに含まれるファイル一覧。`SKILL.md` 本体に加え、参考資料・サンプル・スクリプトが入っている場合があります。