notebooklm-research
Skill482 starsChanged 8 months agoMITView on GitHub
Automate source-grounded research with Google NotebookLM. Create notebooks from URLs, text, or local files; ask cited questions; run fast or deep web research; create articles and social drafts; and generate or download audio, video, cinematic video, slides, reports, study guides, quizzes, flashcards, mind maps, infographics, and data tables. Use when a user asks for NotebookLM, cited source analysis, research-to-content workflows, podcasts, slides, study material, artifact generation, RSS digests, or trend research.
- Installs packages
5 other projects use a version of this.
Adopted by
Most recently taken up by
- mamefarah/claude-skillstheir own version, first seen Jul 19, 2026
- mahiunfiltered/claude-code-skillstheir own version, first seen Jul 8, 2026
- ArgentAIOS/agent-skillstheir own version, first seen Mar 30, 2026
- jakubs2623/notebooklm-skilltheir own version, first seen Mar 21, 2026
- huskerjeff/claude-skilltheir own version, first seen Mar 20, 2026
Other versions5 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 5
- jakubs2623/notebooklm-skill★ 7same name
- ArgentAIOS/agent-skills★ 4same name
- mahiunfiltered/claude-code-skills★ 1same name
- huskerjeff/claude-skill★ 0same name
- mamefarah/claude-skills★ 0same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository2 other files it gives its agents.
- AGENTS.mdAGENTS.md
- .github/copilot-instructions.mdCopilot instructions
The file
Show its rules and text
We split this skill into the rules it gives an agent
16 rules. 0 are common, 13 are distinctive, and 3 are very specific to this project.
0
Common
Most of the 5 edited versions we read keep these.
13
Distinctive
This author's own choices. Worth a look.
3
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 19
Use the installed commands or the 13 MCP tools to turn user-provided sources into grounded answers and NotebookLM artifacts.
- Distinctive: line 29
Prefer the profile-aware helper:
- Very specific: line 36
Use notebooklm-auth setup --browser chrome --fresh when the user explicitly wants the locally installed Google Chrome instead of bundled …
- Distinctive: line 52
Create a notebook from mixed sources:
- Distinctive: line 72
Add exactly one source:
- Distinctive: line 81
Run NotebookLM web research and import results:
- Very specific: line 90
Use --no-wait for a task ID without waiting.
- Distinctive: line 167
Start stdio mode for an MCP client:
- Distinctive: line 200
Do not expose HTTP mode directly to a network.
- Distinctive: line 205
Verify authentication before a long workflow.
- Distinctive: line 207
Ask focused questions and retain returned citation metadata.
- Distinctive: line 208
Use exact notebook and artifact IDs in repeated automation.
- Distinctive: line 209
Use bounded source/artifact concurrency.
- Distinctive: line 210
Do not delete notebooks or overwrite output without explicit user intent.
- Distinctive: line 211
Do not claim a draft was published.
- Very specific: line 230
Use notebooklm-skill --help, notebooklm-pipeline --help, and the relevant subcommand's --help as the authoritative local command contract.
“Common” is measured: kept by at least 6 in 10 of the 5 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
NotebookLM Research
Use the installed commands or the 13 MCP tools to turn user-provided sources into grounded answers and NotebookLM artifacts. Commands emit JSON on stdout and progress or diagnostics on stderr, so preserve stdout when another tool will consume it.
This integration uses NotebookLM's browser session and unofficial web API through
notebooklm-py. Do not promise that Google-side availability, quotas, or generation
time are stable.
Authentication
Prefer the profile-aware helper:
notebooklm-auth setup
notebooklm-auth verifyUse notebooklm-auth setup --browser chrome --fresh when the user explicitly
wants the locally installed Google Chrome instead of bundled Chromium.
For a zero-install login:
uvx --from notebooklm-py notebooklm loginProfiles are supported through --profile NAME before the subcommand or through
NOTEBOOKLM_PROFILE. Current sessions are normally stored below
~/.notebooklm/profiles/<profile>/storage_state.json; never read, print, copy, or
commit that file. If authentication expires, run setup again.
Core CLI
Create a notebook from mixed sources:
notebooklm-skill create \
--title "AI safety evidence" \
--sources https://example.com/article https://youtu.be/example \
--files ./paper.pdf \
--text-sources "A user-supplied observation" \
--strictInspect and ask:
notebooklm-skill list
notebooklm-skill list-sources --notebook "AI safety evidence"
notebooklm-skill summarize --notebook "AI safety evidence"
notebooklm-skill ask --notebook "AI safety evidence" --query "What findings conflict?"Add exactly one source:
notebooklm-skill add-source --notebook "AI safety evidence" --url https://example.com/new
notebooklm-skill add-source --notebook "AI safety evidence" --file ./appendix.docx
notebooklm-skill add-source --notebook "AI safety evidence" \
--text "Raw notes" --text-title "Interview notes"Run NotebookLM web research and import results:
notebooklm-skill research \
--notebook "AI safety evidence" \
--query "Recent empirical evaluations" \
--mode deep --max-sources 10Use --no-wait for a task ID without waiting. Use --no-import-results when the
research results should not become notebook sources.
Notebook titles may be used only when they resolve uniquely. Prefer IDs in automation.
Artifact generation
Supported canonical types:
audio, video, cinematic, slides, report, study-guide, quiz,
flashcards, mind-map, infographic, data-table.
Generate and optionally download in one operation:
notebooklm-skill generate \
--notebook "AI safety evidence" \
--type slides --lang zh-TW \
--slide-format presenter-slides \
--output ./output/deck.pptx --output-format pptxLong media jobs can be detached and downloaded later by exact ID:
notebooklm-skill generate --notebook NOTEBOOK_ID --type audio --no-wait
notebooklm-skill list-artifacts --notebook NOTEBOOK_ID --type audio
notebooklm-skill download --notebook NOTEBOOK_ID --type audio \
--artifact-id ARTIFACT_ID --output ./output/podcast.m4aConvenience commands:
notebooklm-skill podcast --notebook NOTEBOOK_ID --output podcast.m4a
notebooklm-skill qa --notebook NOTEBOOK_ID --difficulty hard --output quiz.jsonGeneration supports per-type options, including --video-format short for a
vertical short video (fixed style, so no --video-style or --style-prompt) and
--quantity more for larger quizzes and flashcard sets. Inspect the live contract
before composing an unfamiliar call:
notebooklm-skill generate --helpExisting output files and symlinks are rejected. Use --force only when the user
explicitly wants an overwrite. Quiz and flashcard downloads support JSON, Markdown,
or HTML; slide downloads support PDF or PPTX.
High-level pipelines
notebooklm-pipeline research-to-article \
--sources https://example.com/a https://example.com/b \
--title "Evidence review" --language zh-TW --audience "engineers"
notebooklm-pipeline research-to-social \
--sources https://example.com/a --platform threads --variants 3
notebooklm-pipeline batch-digest \
--rss https://example.com/feed.xml --max-entries 20 --qa-count 5
notebooklm-pipeline generate-all \
--files ./paper.pdf --types audio slides report mind-map \
--output-dir ./output --artifact-concurrency 2trend-to-content requires a separately installed trend-pulse command. Override
its executable safely with TREND_PULSE_CMD; the integration does not invoke a shell.
Pipelines create drafts and local artifacts. They do not publish to social networks, CMS products, or other remote destinations.
MCP server
Start stdio mode for an MCP client:
notebooklm-mcpExample configuration:
{
"mcpServers": {
"notebooklm": {
"command": "uvx",
"args": ["--from", "notebooklm-skill", "notebooklm-mcp"]
}
}
}Available tools:
nlm_create_notebook,nlm_list,nlm_deletenlm_add_source,nlm_list_sourcesnlm_ask,nlm_summarizenlm_generate,nlm_download,nlm_list_artifactsnlm_research,nlm_research_pipeline,nlm_trend_research
Notebook deletion requires confirm=true. HTTP mode binds only to loopback:
notebooklm-mcp --http --host 127.0.0.1 --port 8765Do not expose HTTP mode directly to a network. If remote access is unavoidable, put it behind an authenticated TLS proxy and apply host-level access controls.
Operating rules
- Verify authentication before a long workflow.
- Confirm sources were ingested; treat
partialor failed source entries honestly. - Ask focused questions and retain returned citation metadata.
- Use exact notebook and artifact IDs in repeated automation.
- Use bounded source/artifact concurrency; generation is quota-sensitive.
- Do not delete notebooks or overwrite output without explicit user intent.
- Do not claim a draft was published; no publishing integration exists here.
- Return the JSON result or a faithful summary, including partial failures.
Exit codes and recovery
0: operation completed successfully.2: invalid or ambiguous arguments.4: authentication required.1: upstream, network, generation, or other operational failure.130: interrupted by the user.
Common recovery:
notebooklm-auth verify
notebooklm-auth setup # missing or expired session
notebooklm-skill list-artifacts --notebook NOTEBOOK_ID # inspect a timed-out jobUse notebooklm-skill --help, notebooklm-pipeline --help, and the relevant
subcommand's --help as the authoritative local command contract.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

