SSkilltecabyclaudinhocode
Enviar skill
← Voltar para o catálogo

dossier

Pesquisa e Web

Use when investigating a topic that benefits from a reusable, citation-backed NotebookLM corpus—literature reviews, due diligence, regulatory/legal research, competitive intelligence, long-term personal knowledge queries, or any repeated deep-dive across the same body of material. Not for one-off web search, single-document reads, or code exploration.

1estrelas
Ver no GitHub ↗Autor: wangboothLicença: MIT

Dossier

Open a topic-scoped NotebookLM corpus (the "dossier"), let Claude orchestrate curation and reasoning, let NotebookLM serve citation-backed answers from within the dossier. The dossier persists—future questions on the same topic reuse it.

When to use

  • Reading 5+ papers/reports on one topic
  • Pre-IPO / pre-deal due diligence on a company or sector
  • Legal, regulatory, or compliance review across document sets
  • Competitive analysis across multiple products/companies
  • Long-term personal knowledge base queries (Obsidian/Readwise exports, meeting archives)
  • Any task where answers must be traceable to source text

When NOT to use

  • One-off questions answerable from general knowledge or single web page — just ask Claude directly
  • Codebase exploration or "jump to definition" — your agent's native file tools (Read/Grep/etc.) are stronger
  • Real-time / freshly changing information — NotebookLM is static
  • Tiny corpora (< 5k tokens) — fitting in Claude's context is simpler
  • When speed matters over depth — NotebookLM is ~3× slower than direct chat

Setup (first run in a machine)

Preflight has 4 steps. Only step 1 is read-only and always safe to auto-run. Steps 2–4 have side effects (disk writes, browser popups, skill directory changes) — ask the user before each one.

Step 1 — Detect (auto, read-only)

# What CLI form is reachable?
if command -v notebooklm >/dev/null 2>&1; then
  NBLM="notebooklm"
elif python3 -m notebooklm --help >/dev/null 2>&1; then
  NBLM="python3 -m notebooklm"   # pip-installed but scripts dir not on PATH — common on macOS
else
  NBLM=""                        # not installed
fi

# Does the existing session work?
if [ -n "$NBLM" ] && $NBLM auth check 2>&1 | grep -q "Authentication is valid."; then AUTH_OK=1; else AUTH_OK=0; fi
# Note: matches the final verdict line — only appears when every sub-check
# passed. Matching "✓ pass" alone would false-positive when e.g. only
# "Storage exists" passed but SID/token checks failed.

Step 2 — Install (only if $NBLM is empty) — ASK FIRST

Tell the user: "I don't see notebooklm-py on this machine. May I install it with pip install 'notebooklm-py[browser]' plus Playwright Chromium (~150MB)?". Wait for an explicit yes, then:

pip install "notebooklm-py[browser]"
python3 -m playwright install chromium
NBLM="python3 -m notebooklm"

If the notebooklm binary lands outside $PATH (typical on macOS where pip install writes to ~/Library/Python/<ver>/bin/), don't try to patch PATH yourself — just report it and continue using the python3 -m notebooklm form everywhere. It works identically.

Step 3 — Authenticate (only if AUTH_OK=0) — ASK FIRST, OPENS BROWSER

$NBLM login opens Chrome for Google OAuth. Tell the user it'll pop a browser window before running.

Step 4 — Install the low-level notebooklm skill (once per machine) — ASK FIRST

$NBLM skill install writes to ~/.claude/skills/notebooklm/ — it gives Claude direct knowledge of the raw CLI commands, which complements this dossier skill. Low risk but still a filesystem change; tell the user, then run.

Routes — pick the right entry point

First branch — does a dossier on this topic already exist? Run $NBLM list before anything else.

  • Yes (same or adjacent topic) → Route D (query / top-up / hygiene). Most time on any long-running topic is spent here, not in fresh builds.
  • No → pick one of A/B/C below based on source-quality requirements. Default: Route B.

Always present the choice to the user before spending time.

RouteWhenSetup timeClaude tokensDurability
A. NotebookLM deep researchQuick overview, one-shot curiosity~5 minnear-zeroephemeral (dossier stays but seeded by auto-research)
B. Claude-curated sourcesNoisy topic, long-term reuse, authoritative-source requirement15–30 minmoderate (fetching/filtering)persistent
C. User-specified sourcesStrict source whitelist (specific authors, databases)depends on listmoderatepersistent
D. Existing dossierContinuing research on a topic that already has a dossiernear-zerolow (mostly Q&A, maybe small top-up)persistent

Route A — NotebookLM auto-research

$NBLM create "dossier-<topic-slug>"
$NBLM use <notebook-id>
$NBLM source add-research "<search query>" --mode deep

NotebookLM's own research agent picks sources, imports them, and indexes. Claude then asks questions. Source quality is opaque — good for exploration, risky for decisions.

Route B — Claude-curated (recommended default)

Steps:

  1. Claude searches authoritative sources (e.g. PubMed, Cochrane, ISSN, SEC EDGAR, primary sources for the topic — not random blogs or SEO pages)
  2. Claude drafts a source shortlist with a one-line justification per source
  3. User confirms or edits the list — never skip this step
  4. Claude imports confirmed sources one by one (source type auto-detected from content):
    $NBLM source add "https://..."      # URL
    $NBLM source add ./paper.pdf        # local file
    $NBLM source add "pasted text" --title "My note"   # inline text
    
    All commands use the active dossier (set by $NBLM use <id>). Add -n <id> to override.
  5. Verify import quality (see caveats below), fix any bad imports
  6. Claude starts asking questions with $NBLM ask --json "..."

Import caveats — read before step 4:

  • Check every import. Run $NBLM source list after a batch. If a title reads Checking your browser - reCAPTCHA, Access denied, or similar, NotebookLM's backend hit an anti-bot wall. One retry is fine; if still blocked, abandon the direct URL and go to the Jina fallback below — don't loop on retries.
  • Never batch-parallelize PubMed URLs. pubmed.ncbi.nlm.nih.gov triggers reCAPTCHA extremely reliably under any concurrency, and even a 3-second serial delay isn't enough. Go straight to Jina Reader + DOI for PubMed.
  • Jina Reader fallback — when a URL hits anti-bot walls, fetch it via Jina's proxy and ingest as a file. See "Jina key handling" below for how to obtain $JINA_API_KEY:
    curl -sL -H "Authorization: Bearer $JINA_API_KEY" \
      "https://r.jina.ai/<original-url>" -o /tmp/page.md
    $NBLM source add /tmp/page.md
    $NBLM source rename <source-id> "Author Year — descriptive title"
    
  • Prefer DOI over PubMed URL. https://doi.org/<doi> redirects to the publisher. If it's MDPI / BMC / Frontiers / PLOS (open access), you'll get full text, which indexes 5–10× more useful content than a PubMed abstract page. Get the DOI from NCBI esummary: curl "https://eutils.ncbi.nlm.nih.gov/entrez/eutils/esummary.fcgi?db=pubmed&id=<PMID>&retmode=json".
  • --title only works for inline text. When adding a file with source add /path/file.md --title "...", the title is silently dropped and the filename becomes the title. Always follow a file import with $NBLM source rename <id> "..." to fix.

Route C — User-specified

User provides the source list (files, URLs, or "only these authors"). Same commands and same caveats as Route B, just skip steps 1–3.

Route D — Existing dossier (query / top-up / hygiene)

Pick this whenever $NBLM list shows a dossier on the same or adjacent topic. This is the default path for continuing research. It's not a build mode — A/B/C are for filling an empty dossier; D is for everything you do after.

Open the dossier, then branch into one of three sub-paths:

$NBLM list                        # find the dossier
$NBLM use <id>                    # activate it
$NBLM source list                 # remind yourself what's in here

D1. Query only

The dossier already covers the question — you just need an answer. Go straight to Ask, but respect Working rule 10 (split or -s-scope wide questions before they time out).

D2. Top-up (incremen

Como adicionar

/plugin marketplace add wangbooth/dossier

O comando exato pode variar conforme o repositório. Confira o README no GitHub.

Comentários · Nenhum comentário

Entre para comentar. Entrar

  • Ainda não há comentários. Seja o primeiro.