---
type: skill
agent_ready: true
schema_version: 1
bundle_version: "0.28.0"
name: notebook-research
description: "Einstiegspunkt für Recherche-Anfragen gegen kuratierte NotebookLM-Notebooks — liest das Register, matcht semantisch und delegiert an den notebooklm-Skill."
tags: [recherche, notebooklm, register, wissensmanagement, delegation]
scope: vault
bundle_skill: true
default_active:
  allgemein: true
depends_on: [notebooklm]
conflicts_with: []
created: 2026-05-12
updated: 2026-05-13
---

# Notebook Research

Dieser Skill trennt Routing von Ausführung: er liest das Register, trifft die semantische Match-Entscheidung und gibt die Anfrage mit Notebook-ID an den `notebooklm`-Skill weiter. Die eigentlichen API-Aufrufe gegen NotebookLM liegen vollständig im delegierten Skill. Fehlt das Register oder kein Notebook passt, bricht der Skill sauber ab und bietet Alternativen. Konkret:

1. liest das Register unter `{resources}/00_Sources/NotebookLM-Register.md`,
2. matcht die Anfrage semantisch gegen die gelisteten Notebooks,
3. wählt das passende Notebook,
4. reicht die Recherche an den Skill `notebooklm` weiter, der die API-Aufrufe durchführt.

## Externe Abhängigkeit: notebooklm-Skill

Der `notebooklm`-Skill ist **kein Bundle-Skill**. Er wird als externer Plugin-Skill erwartet (z.B. aus dem `anthropic-skills`-Plugin oder als User-installierter Skill unter `~/.claude/skills/notebooklm/`). Wenn er fehlt, läuft `notebook-research` nicht ins Leere, sondern bricht sauber ab und schlägt dem User Alternativen vor (Websuche, Vault-Recherche, neues Notebook anlegen). Verhalten ist im Abschnitt „Fehler-Behandlung" weiter unten dokumentiert und durch eine Eval-Assertion abgedeckt.

## Warum dieser Skill existiert

Ohne diesen Skill müsste jeder Agent das Register selbst finden, selbst matchen und selbst entscheiden, ob er `notebooklm` anwirft. Das passiert in der Praxis nicht zuverlässig. Mit diesem Skill gibt es einen klaren, triggerbaren Mechanismus, der kuratiertes Notebook-Wissen in laufende Gespräche einfließen lässt, sobald eine Anfrage dazu passt.

## Ablauf

### Schritt 1: Register laden

Lies die Datei `{resources}/00_Sources/NotebookLM-Register.md`. Dort steht eine Tabelle mit allen kuratierten Notebooks (Titel, ID, Themen, Beschreibung, Status).

Ignoriere beim Matching Einträge mit Status `veraltet` oder `archiviert` (gesteuert über das Feature-Flag `include_status_filter: true`).

Wenn die Datei nicht existiert, informiere den User kurz und biete an:
- Ein neues Notebook via `notebooklm`-Skill anzulegen, oder
- regulär ohne Notebook zu recherchieren (Websuche, Vault-Dateien, eigenes Wissen).

### Schritt 2: Matching

Vergleiche die Anfrage semantisch mit Titel, Themen/Tags und Beschreibung jedes aktiven Notebooks. Kein reines Keyword-Matching, sondern Verständnis: Worum geht es in der Anfrage, und welches Notebook deckt dieses Thema am besten ab?

Wichtig: Nicht übereifrig sein. Wenn kein Notebook wirklich passt, ist das die richtige Antwort. Ein schwacher Treffer ist schlechter als ein ehrliches „kein Notebook dazu vorhanden".

### Schritt 3: Entscheidung und Delegation

**Ein klarer Treffer:**
Informiere den User in einem Satz, welches Notebook genutzt wird, dann rufe den `notebooklm`-Skill mit der Notebook-ID und der ursprünglichen Frage auf.

**Mehrere plausible Treffer:**
Zeige eine kurze nummerierte Liste mit Titel und 1-Satz-Begründung, warum das jeweilige Notebook passen könnte. Der User wählt. Dann wie oben: `notebooklm`-Skill mit der gewählten ID.

**Kein Treffer:**
Sage ehrlich, dass kein Notebook im Register zur Anfrage passt. Biete zwei Wege an (Variante (a) ist gesteuert über das Feature-Flag `include_new_notebook_offer: true`):
- (a) Neues Notebook zum Thema anlegen via `notebooklm`-Skill (sinnvoll, wenn das Thema größer ist und wiederholende Recherche zu erwarten ist)
- (b) Reguläre Recherche ohne Notebook

### Schritt 4: Delegation an notebooklm

Beim Aufruf des `notebooklm`-Skills mindestens übergeben:
- die Notebook-ID aus dem Register
- die ursprüngliche Frage (so wörtlich wie möglich, mit relevantem Kontext aus dem aktuellen Gespräch)

Der `notebooklm`-Skill kümmert sich um den Rest (Authentifizierung, API-Aufrufe, Response-Parsing).

## Fehlerbehandlung

**Notebook-ID existiert nicht mehr in NotebookLM:**
Wenn `notebooklm` meldet, dass die ID nicht (mehr) existiert:
1. Den User kurz informieren.
2. Im Register den Status des Eintrags auf `veraltet` setzen und `updated` im Frontmatter aktualisieren.
3. Wenn ein anderes Notebook noch passen könnte, vorschlagen. Sonst wie „Kein Treffer" vorgehen.

**Register vorhanden, aber leer oder ohne aktive Einträge:**
Den User informieren, dass aktuell keine aktiven Notebooks im Register stehen. Neuanlage oder reguläre Recherche anbieten.

**notebooklm-Skill nicht im Bundle verfügbar (depends_on Fall a):**
Wenn der nachgelagerte `notebooklm`-Skill in der aktuellen Bundle-Installation fehlt, kann dieser Skill keine API-Anfragen delegieren. Den User klar informieren, dass die NotebookLM-Recherche-Kette nicht vollständig ist, und auf reguläre Recherche (Websuche, Vault-Dateien) ausweichen — kein Crash, kein stiller Ausfall.

**Unbekannte Notebooks direkt im Notebook-Dienst:**
Der User kann Notebooks anlegen, ohne sie ins Register einzutragen. Das ist Absicht — das Register ist die kuratierte Auswahl, nicht die vollständige Liste.

## Trigger-Erkennung

### Triggern

Dieser Skill wird aktiv bei Anfragen, die Recherche gegen vorhandene Notebooks meinen — explizit oder implizit:

**Deutsch:**
- „recherchier in meinen Notebooks zu X"
- „frag mein NotebookLM"
- „was sagt mein Notebook zu X"
- „schau mal in meinen Notebooks"
- „nutze mein Notebook-Wissen"
- „durchsuche meine NotebookLM-Sammlung"
- „was steht in meinen Notebooks zu X"
- „hol mir was aus meinem NotebookLM"
- „frag mein zweites Gehirn"
- „meine gesammelten Quellen"
- „nachschlagen in meinen Notebooks"
- „Notebook-Recherche zu X"

**Englisch:**
- „research in my notebooks"
- „what do my notebooks say"
- „ask my notebooklm"
- „look up in my knowledge base"
- „query my notebooks"

### Nicht triggern

Dieser Skill greift NICHT bei:
- Anfragen, die ein **neues** Notebook anlegen, Quellen importieren oder einen Podcast/Briefing generieren wollen → direkt `notebooklm`-Skill
- Allgemeinen Wissensfragen ohne Notebook-Bezug → direktes Antworten oder Websuche
- Fragen über Vault-Dateien (Daily Notes, Projekte, Bereiche) → andere Skills oder direktes Lesen

## Token-Effizienz

- Das Register einmal pro Gespräch laden. Bei wiederholter Notebook-Recherche in derselben Sitzung kein erneutes Lesen.
- Den `notebooklm`-Skill erst laden, wenn er tatsächlich aufgerufen wird, nicht schon beim Matching.
- Match-Erklärung kurz halten. Ein Satz reicht meistens.

## Beispiele

**Beispiel 1 — klarer Treffer:**

User: „Recherchiere mal in meinen Notebooks, wie man einen Hook korrekt registriert."

1. Register lesen
2. Matchen: Notebook zu Agenten-Entwicklung/Hooks → klarer Treffer
3. Antworten: „Ich nutze das Notebook zur Agenten-Entwicklung für deine Frage zu Hooks."
4. `notebooklm`-Skill mit der passenden Notebook-ID aufrufen

**Beispiel 2 — kein Treffer:**

User: „Was weißt du aus meinen Notebooks über Golf-Schwung-Technik?"

1. Register lesen
2. Matchen: kein Notebook zu Golf
3. Antworten: „Im Register ist kein Notebook zu diesem Thema. Soll ich eins dazu anlegen oder regulär recherchieren?"

**Beispiel 3 — mehrere Treffer:**

User: „Frag mein NotebookLM, wie Notebook A und Notebook B thematisch zusammenhängen."

1. Register lesen
2. Matchen: beide Notebooks könnten passen
3. Antworten: „Zwei Notebooks könnten passen: (1) Notebook A, (2) Notebook B. Welches soll ich nehmen? Oder beide nacheinander?"

## Verknüpfungen

- `{resources}/00_Sources/NotebookLM-Register.md` — Register mit Tabelle und Methodik
- Skill `notebooklm` — ausführendes Werkzeug für die eigentliche Notebook-Interaktion
