Skip to content

sangrokjung/nlm-research

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

8 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

NLM Research

Claude Code NotebookLM License: MIT

Type a topic, and AI finds YouTube videos, analyzes them, and creates podcasts, slides, and reports for you

ν•œκ΅­μ–΄ | English


NLM Research

Type a topic you're curious about, and this tool finds related YouTube videos, has AI analyze them, and turns them into various content formats β€” automatically.

What You Can Create

Content Description Perfect for...
🎧 AI Podcast Two AI hosts discuss the topic in a natural audio conversation (.mp3) Learning on your commute β€” just listen and absorb
πŸ“Š Briefing Report A clean, structured summary document (.md) 5-minute read before a meeting
🎬 Presentation Slides Auto-generated slide deck (.pptx) Cutting your presentation prep time dramatically
🧠 Mind Map Visual map showing how topics connect Seeing the big picture of complex subjects fast
πŸ’¬ AI Q&A Ask questions about your collected sources and get instant answers When you don't have time to watch hours of video
🌐 Web Research AI automatically finds more related sources from the web When you need broader perspectives

All of this happens with a single command. Just type a topic, and the system finds YouTube videos, feeds them to AI, generates your chosen content, and saves everything to your computer.

How to Get Started

Step 1: Install the tools

Tool Install Command Purpose
Claude Code Official install guide AI assistant that runs everything
uv curl -LsSf https://astral.sh/uv/install.sh | sh Fast Python package manager
nlm uv tool install notebooklm-mcp-cli NotebookLM CLI + MCP server
yt-dlp uv tool install yt-dlp YouTube search

Verify your installation:

claude --version
nlm --version
yt-dlp --version
Alternative: install with pip (if uv is not available)
pip install notebooklm-mcp-cli yt-dlp

Step 2: Connect NotebookLM to Claude Code

The NotebookLM MCP server enables AI podcast, slides, and report generation. Without it, you'll see studio_create tool not found errors.

Option A: Automatic (recommended) β€” just run Claude Code inside this project directory:

cd nlm-research
claude

The .claude/settings.json in this repo auto-configures the MCP connection. No extra setup needed.

Option B: Manual β€” add to your global Claude Code config:

claude mcp add notebooklm-mcp -- notebooklm-mcp

Step 3: Connect your Google account

NotebookLM needs Google sign-in. Run this once and follow the browser prompt:

nlm login

Step 4: Run your first research

cd nlm-research   # Navigate to this folder
claude            # Start the AI assistant

# Now type this:
/research run AI agent trends --auto

Add --auto to run everything automatically without pausing. Remove it if you want to approve each step.

Note: The /research command is a Claude Code skill loaded from this project directory. Make sure you run claude from inside the nlm-research folder.

Use Case Guide

NLM Research Presets

Choose the scenario that fits your needs.

"I have a presentation tomorrow and no slides"

/research run 2026 AI market outlook --preset presentation --auto

You get a πŸ“Š briefing report + 🎬 slide deck (.pptx) automatically.

"I want to learn a new technology quickly"

/research run React 19 new features --preset learning --auto

You get a πŸ“Š study guide + 🎧 AI podcast (mp3) + πŸ“ quiz.

"I need to understand market trends"

/research run AI agent 2026 trends --preset trend-report --auto

You get a πŸ“Š trend analysis briefing report.

"I need a competitor analysis"

/research run competitor-X product review --preset competitor --auto

You get a πŸ“Š SWOT analysis report.

"I want to go deep on a topic"

/research run LLM architecture comparison --preset deep-dive --auto

AI finds additional web sources and creates a πŸ“Š deep analysis report.

"Just a quick research summary"

/research run AI agents --auto

Default preset: πŸ“Š briefing report + πŸ’¬ Q&A analysis.

How It Works

How NLM Research Works

Think of it like a research assistant: finds relevant books (search) β†’ borrows them from the library (collect) β†’ reads and summarizes them (analyze) β†’ prints the report (export) β€” all done by AI.

Research Flow

Step What happens Think of it as...
πŸ” Search Finds related YouTube videos for your topic Finding relevant books at the library
πŸ“š Collect Adds those videos to NotebookLM Borrowing the books
🧠 Analyze AI analyzes everything and creates your outputs Reading and summarizing
πŸ“€ Export Saves the finished files to your computer Printing the report

Files You'll Get

Everything is automatically saved by topic under ~/research-output/<topic>/.

~/research-output/
β”œβ”€β”€ AI_agent_trends/
β”‚   β”œβ”€β”€ AI_agent_trends_report.md          # Briefing report
β”‚   β”œβ”€β”€ AI_agent_trends_analysis.md        # Q&A deep analysis
β”‚   β”œβ”€β”€ AI_agent_trends_podcast.mp3        # AI podcast audio
β”‚   β”œβ”€β”€ AI_agent_trends_quiz.json          # Learning quiz
β”‚   └── AI_agent_trends_slides.pptx        # Presentation slides
β”œβ”€β”€ last_session.json                       # Last session reference
└── research_sessions.jsonl                 # Session history
File What it is Which presets create it
*_report.md A structured briefing document synthesized by AI All presets
*_analysis.md Deep insights from AI Q&A sessions All presets
*_podcast.mp3 An audio conversation between two AI hosts learning
*_quiz.json A quiz to test your understanding learning
*_slides.pptx A ready-to-present slide deck presentation

Fine-tuning Your Research

Search options

Option What it does Default
-n <number> How many YouTube results to fetch 10
-d Sort by newest first off

Run options

Option What it does Default
--auto Run without asking for confirmation off
--preset <name> Choose a preset (see Use Case Guide above) default
--top <N> How many top videos to actually use depends on preset
--notebook <id> Add to an existing notebook instead of creating a new one create new
--lang <code> Language for generated content (e.g., en, ko) ko

What's the difference between -n and --top?

  • -n controls how many videos to search for on YouTube
  • --top controls how many of those videos to actually use
# Search 15 videos, but only use the top 3
/research run AI -n 15 --top 3 --auto

Step-by-step manual execution

Instead of running everything automatically, you can run each step yourself:

/research search AI agents              # 1. Search YouTube
/research collect                        # 2. Collect selected videos into NotebookLM
/research analyze <notebook-id>          # 3. AI analysis
/research export <notebook-id>           # 4. Export files
/research status                         # Check current progress

If Something Goes Wrong

Error Handling

The system handles problems at three levels:

  • 🟒 Most issues fix themselves. Things like expired login sessions are refreshed automatically. Rate limits are waited out and retried.
  • 🟑 Partial failures are skipped gracefully. If one video can't be added (maybe it's private or deleted), the system skips it and continues with the rest.
  • πŸ”΄ Serious problems stop the process and tell you what to do. For example, if your login is completely broken or no videos were found at all.

Common fixes

What you see What to do
deno install fails / JSR package not found The old Deno/JSR installation method has been deprecated. Install via uv tool install notebooklm-mcp-cli instead (see Step 1)
studio_create tool not found / download_artifact not available NotebookLM MCP server is not connected to Claude Code. Run claude inside the nlm-research directory (auto-configured), or run claude mcp add notebooklm-mcp -- notebooklm-mcp
/research command not found Claude Code doesn't see the skill files. Make sure you cd nlm-research first, then run claude. Skills are loaded from the project directory
"NotebookLM authentication required" Run nlm login in your terminal
Login keeps failing Try nlm login switch default or clear your browser cache
A specific video fails to load It's probably private or deleted β€” the system skips it automatically
Report generation fails You may have too few or too many sources β€” check with /research status
0 sources collected Try different search keywords

Project Structure

nlm-research/
β”œβ”€β”€ CLAUDE.md                               # Project instructions for Claude Code
β”œβ”€β”€ .claude/
β”‚   β”œβ”€β”€ settings.json                       # MCP server + permissions config
β”‚   β”œβ”€β”€ rules/
β”‚   β”‚   └── research-pipeline.md            # Pipeline rules
β”‚   β”œβ”€β”€ skills/research/                    # Skill files (recommended)
β”‚   β”‚   β”œβ”€β”€ SKILL.md                        # Command router
β”‚   β”‚   β”œβ”€β”€ run.md                          # Full automated flow
β”‚   β”‚   β”œβ”€β”€ search.md                       # YouTube search
β”‚   β”‚   β”œβ”€β”€ collect.md                      # Source collection
β”‚   β”‚   β”œβ”€β”€ analyze.md                      # AI analysis
β”‚   β”‚   β”œβ”€β”€ export.md                       # File export
β”‚   β”‚   β”œβ”€β”€ status.md                       # Session status
β”‚   β”‚   β”œβ”€β”€ scripts/
β”‚   β”‚   β”‚   └── youtube_search.py           # YouTube search script
β”‚   β”‚   └── references/
β”‚   β”‚       β”œβ”€β”€ nlm-commands.md             # NotebookLM reference
β”‚   β”‚       └── workflow-examples.md        # Workflow examples
β”‚   └── commands/research/                  # Legacy (backward compatible)
β”œβ”€β”€ README.md                               # This file (English)
β”œβ”€β”€ README_KO.md                            # Documentation (Korean)
└── assets/                                 # Images used in documentation

Contributing

Contributions are welcome! Here's how:

  1. Fork this repository
  2. Create a feature branch (git checkout -b feat/amazing-feature)
  3. Commit your changes (git commit -m 'feat: add amazing feature')
  4. Push to the branch (git push origin feat/amazing-feature)
  5. Open a Pull Request

License

This project is licensed under the MIT License.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages