Skills / Skills / Notebooklm Deep Research
All skills

/ skill

notebooklm-deep-research

Skills/notebooklm-deep-research.md

Fire NotebookLM's deep-research agent against a library; store the report as a wiki node.

Open as raw file

Run this skill

Runs with bypassPermissions — local dev only.

notebooklm-deep-research

Use NotebookLM's research-agent capability for questions that need depth beyond a chat query — multi-step reasoning, web search, Drive scan. Returns a structured report stored as a wiki node so it stays linkable.

Pre-flight checks

  1. Wiki/Libraries/{library_slug}.md exists.
  2. NotebookLM session valid. Phase 1 fallback: scaffold an empty research note with status: pending-installation and surface to Adam.

Procedure

1. Fire the research job (Phase 2+)

  • Use notebooklm-py's research-agent with mode={fast|deep} and auto_import={bool}.
  • Capture report_id. The library may take 30s–several minutes (deep mode).

2. Wait & retrieve

  • Poll for completion (with a sane timeout — deep mode can be 5+ min).
  • On completion, fetch the structured report (markdown).

3. Write the wiki node

Path: Wiki/Notes/research-{YYYY-MM-DD}-{question-slug}.md

Use the wiki-node template. Frontmatter:

type: wiki-node
node_kind: concept
node_subkind: research-report
created: {today}
last_synthesized: {today}
sources:
  - "<a class="wikilink wikilink-broken" href="#">Wiki/Libraries/{library_slug}</a>"
links: []                            # filled in step 4
status: synthesized
confidence: medium
tags: [research, source/notebooklm]
notebooklm_report_id: {report_id}
research_question: "{question}"
research_mode: {mode}

Body: NotebookLM's report markdown, lightly cleaned.

4. Connect to the graph

  • Scan the report for entities, decisions, brands, people. For each match against existing wiki nodes, add a <a class="wikilink wikilink-broken" href="#">wikilink</a> to links: frontmatter and inline in the body.
  • If the question is decision-shaped, optionally cross-link to Departments/Decisions/Memos/ if a relevant memo exists.

5. If auto_import was true

  • Run notebooklm-sync for library_slug so any new sources NLM imported get reconciled into the wiki Sources table.

6. Append Log entry

  • input: library={library_slug}, question="{question[:80]}...", mode={mode}, auto_import={auto_import}
  • output: report_path={path}, report_id={report_id}
  • artifacts: <a class="wikilink wikilink-broken" href="#">Wiki/Notes/research-{date}-{slug}</a>, <a class="wikilink wikilink-broken" href="#">Wiki/Libraries/{library_slug}</a>

When to use this vs notebooklm-query

Use caseUse
Quick fact lookup, single-paragraph answernotebooklm-query
Multi-source synthesis, "explain this topic comprehensively"notebooklm-deep-research
Decision needs grounding (Steelman/Devils-Advocate phase)start with notebooklm-query; escalate to deep-research only if the dialectic needs more depth
Building out a new wiki concept hubnotebooklm-deep-research then synthesize the report into atomic Wiki/Concepts/ nodes

Hard rules

  • Deep research jobs are expensive (rate-limit + time). Don't fire reflexively — confirm the question warrants the depth.
  • Never auto_import: true without Adam's explicit confirmation — it can pull in surprising sources from web search.
  • Always store the report as a wiki node (not just in conversation) — reports take effort; preserve them.

Failure modes

  • Job times out — log as failed; let Adam retry.
  • Job returns empty (rare; happens with very narrow library + broad question) — prompt Adam to widen the library or sharpen the question.
  • Auto-imported source is gated/paywalled — NLM will report the failure inline; pass through to the report and flag.